985 resultados para Development Methodologies
Resumo:
This paper reports a research that evaluated the product development methodologies used in Brazilian small and medium-sized metal-mechanic enterprises (SMEs), in a specific region of Sao Paulo. The tool used for collecting the data was a questionnaire, which was developed and applied through interviews conducted by the researchers in 32 companies. The main focus of this paper can be condensed in the synthesis-question ""Is only the company responsible for the development?"" which was analyzed thoroughly. The results obtained from this analysis were evaluated directly (through the respective percentages of answers) and statistically (through the search of an index which demonstrates if two questions are related). The results point to a degree of maturity in SMEs, which allows product development to be conducted in cooperation networks. (C) 2007 Elsevier Ltd. All rights reserved.
Resumo:
Agile software development has grown in popularity starting from the agile manifesto declared in 2001. However there is a strong belief that the agile methods are not suitable for embedded, critical or real-time software development, even though multiple studies and cases show differently. This thesis will present a custom agile process that can be used in embedded software development. The reasons for presumed unfitness of agile methods in embedded software development have mainly based on the feeling of these methods providing no real control, no strict discipline and less rigor engineering practices. One starting point is to provide a light process with disciplined approach to the embedded software development. Agile software development has gained popularity due to the fact that there are still big issues in software development as a whole. Projects fail due to schedule slips, budget surpassing or failing to meet the business needs. This does not change when talking about embedded software development. These issues are still valid, with multiple new ones rising from the quite complex and hard domain the embedded software developers work in. These issues are another starting point for this thesis. The thesis is based heavily on Feature Driven Development, a software development methodology that can be seen as a runner up to the most popular agile methodologies. The FDD as such is quite process oriented and is lacking few practices considered commonly as extremely important in agile development methodologies. In order for FDD to gain acceptance in the software development community it needs to be modified and enhanced. This thesis presents an improved custom agile process that can be used in embedded software development projects with size varying from 10 to 500 persons. This process is based on Feature Driven Development and by suitable parts to Extreme Programming, Scrum and Agile Modeling. Finally this thesis will present how the new process responds to the common issues in the embedded software development. The process of creating the new process is evaluated at the retrospective and guidelines for such process creation work are introduced. These emphasize the agility also in the process development through early and frequent deliveries and the team work needed to create suitable process.
Resumo:
Formal software development processes and well-defined development methodologies are nowadays seen as the definite way to produce high-quality software within time-limits and budgets. The variety of such high-level methodologies is huge ranging from rigorous process frameworks like CMMI and RUP to more lightweight agile methodologies. The need for managing this variety and the fact that practically every software development organization has its own unique set of development processes and methods have created a profession of software process engineers. Different kinds of informal and formal software process modeling languages are essential tools for process engineers. These are used to define processes in a way which allows easy management of processes, for example process dissemination, process tailoring and process enactment. The process modeling languages are usually used as a tool for process engineering where the main focus is on the processes themselves. This dissertation has a different emphasis. The dissertation analyses modern software development process modeling from the software developers’ point of view. The goal of the dissertation is to investigate whether the software process modeling and the software process models aid software developers in their day-to-day work and what are the main mechanisms for this. The focus of the work is on the Software Process Engineering Metamodel (SPEM) framework which is currently one of the most influential process modeling notations in software engineering. The research theme is elaborated through six scientific articles which represent the dissertation research done with process modeling during an approximately five year period. The research follows the classical engineering research discipline where the current situation is analyzed, a potentially better solution is developed and finally its implications are analyzed. The research applies a variety of different research techniques ranging from literature surveys to qualitative studies done amongst software practitioners. The key finding of the dissertation is that software process modeling notations and techniques are usually developed in process engineering terms. As a consequence the connection between the process models and actual development work is loose. In addition, the modeling standards like SPEM are partially incomplete when it comes to pragmatic process modeling needs, like light-weight modeling and combining pre-defined process components. This leads to a situation, where the full potential of process modeling techniques for aiding the daily development activities can not be achieved. Despite these difficulties the dissertation shows that it is possible to use modeling standards like SPEM to aid software developers in their work. The dissertation presents a light-weight modeling technique, which software development teams can use to quickly analyze their work practices in a more objective manner. The dissertation also shows how process modeling can be used to more easily compare different software development situations and to analyze their differences in a systematic way. Models also help to share this knowledge with others. A qualitative study done amongst Finnish software practitioners verifies the conclusions of other studies in the dissertation. Although processes and development methodologies are seen as an essential part of software development, the process modeling techniques are rarely used during the daily development work. However, the potential of these techniques intrigues the practitioners. As a conclusion the dissertation shows that process modeling techniques, most commonly used as tools for process engineers, can also be used as tools for organizing the daily software development work. This work presents theoretical solutions for bringing the process modeling closer to the ground-level software development activities. These theories are proven feasible by presenting several case studies where the modeling techniques are used e.g. to find differences in the work methods of the members of a software team and to share the process knowledge to a wider audience.
Resumo:
Corporate decision to scale Agile Software development methodologies in offshoring environment has been obstructed due to possible challenges in scaling agile as agile methodologies are regarded to be suitable for small project and co-located team only. Although model such as Agile Scaling Model (ASM) has been developed for scaling Agile with different factors, inabilities of companies to figure out challenges and addressing them lead to failure of project rather than gaining the benefits of using agile methodologies. This failure can be avoided, when scaling agile in IT offshoring environment, by determining key challenges associated in scaling agile in IT offshoring environment and then preparing strategies for addressing those key challenges. These key challenges in scaling agile with IT offshoring environment can be determined by studying issues related with Offshoring and Agile individually and also considering the positive impact of agile methodology in offshoring environment. Then, possible strategies to tackle these key challenges are developed according to the nature of individual challenges and utilizing the benefits of different agile methodologies to address individual situation. Thus, in this thesis, we proposed strategy of using hybrid agile method, which is increasing trend due to adaptive nature of Agile. Determination of the key challenges and possible strategies for tackling those challenges are supported with the survey conducted in the researched organization.
Resumo:
Background 29 autoimmune diseases, including Rheumatoid Arthritis, gout, Crohn’s Disease, and Systematic Lupus Erythematosus affect 7.6-9.4% of the population. While effective therapy is available, many patients do not follow treatment or use medications as directed. Digital health and Web 2.0 interventions have demonstrated much promise in increasing medication and treatment adherence, but to date many Internet tools have proven disappointing. In fact, most digital interventions continue to suffer from high attrition in patient populations, are burdensome for healthcare professionals, and have relatively short life spans. Objective Digital health tools have traditionally centered on the transformation of existing interventions (such as diaries, trackers, stage-based or cognitive behavioral therapy programs, coupons, or symptom checklists) to electronic format. Advanced digital interventions have also incorporated attributes of Web 2.0 such as social networking, text messaging, and the use of video. Despite these efforts, there has not been little measurable impact in non-adherence for illnesses that require medical interventions, and research must look to other strategies or development methodologies. As a first step in investigating the feasibility of developing such a tool, the objective of the current study is to systematically rate factors of non-adherence that have been reported in past research studies. Methods Grounded Theory, recognized as a rigorous method that facilitates the emergence of new themes through systematic analysis, data collection and coding, was used to analyze quantitative, qualitative and mixed method studies addressing the following autoimmune diseases: Rheumatoid Arthritis, gout, Crohn’s Disease, Systematic Lupus Erythematosus, and inflammatory bowel disease. Studies were only included if they contained primary data addressing the relationship with non-adherence. Results Out of the 27 studies, four non-modifiable and 11 modifiable risk factors were discovered. Over one third of articles identified the following risk factors as common contributors to medication non-adherence (percent of studies reporting): patients not understanding treatment (44%), side effects (41%), age (37%), dose regimen (33%), and perceived medication ineffectiveness (33%). An unanticipated finding that emerged was the need for risk stratification tools (81%) with patient-centric approaches (67%). Conclusions This study systematically identifies and categorizes medication non-adherence risk factors in select autoimmune diseases. Findings indicate that patients understanding of their disease and the role of medication are paramount. An unexpected finding was that the majority of research articles called for the creation of tailored, patient-centric interventions that dispel personal misconceptions about disease, pharmacotherapy, and how the body responds to treatment. To our knowledge, these interventions do not yet exist in digital format. Rather than adopting a systems level approach, digital health programs should focus on cohorts with heterogeneous needs, and develop tailored interventions based on individual non-adherence patterns.
Resumo:
As world communication, technology, and trade become increasingly integrated through globalization, multinational corporations seek employees with global leadership experience and skills. However, the demand for these skills currently outweighs the supply. Given the rarity of globally ready leaders, global competency development should be emphasized in higher education programs. The reality, however, is that university graduate programs are often outdated and focus mostly on cognitive learning. Global leadership competence requires moving beyond the cognitive domain of learning to create socially responsible and culturally connected global leaders. This requires attention to development methods; however, limited research in global leadership development methods has been conducted. A new conceptual model, the global leadership development ecosystem, was introduced in this study to guide the design and evaluation of global leadership development programs. It was based on three theories of learning and was divided into four development methodologies. This study quantitatively tested the model and used it as a framework for an in-depth examination of the design of one International MBA program. The program was first benchmarked, by means of a qualitative best practices analysis, against the top-ranking IMBA programs in the world. Qualitative data from students, faculty, administrators, and staff was then examined, using descriptive and focused data coding. Quantitative data analysis, using PASW Statistics software, and a hierarchical regression, showed the individual effect of each of the four development methods, as well as their combined effect, on student scores on a global leadership assessment. The analysis revealed that each methodology played a distinct and important role in developing different competencies of global leadership. It also confirmed the critical link between self-efficacy and global leadership development.
Resumo:
Software development methodologies are becoming increasingly abstract, progressing from low level assembly and implementation languages such as C and Ada, to component based approaches that can be used to assemble applications using technologies such as JavaBeans and the .NET framework. Meanwhile, model driven approaches emphasise the role of higher level models and notations, and embody a process of automatically deriving lower level representations and concrete software implementations. The relationship between data and software is also evolving. Modern data formats are becoming increasingly standardised, open and empowered in order to support a growing need to share data in both academia and industry. Many contemporary data formats, most notably those based on XML, are self-describing, able to specify valid data structure and content, and can also describe data manipulations and transformations. Furthermore, while applications of the past have made extensive use of data, the runtime behaviour of future applications may be driven by data, as demonstrated by the field of dynamic data driven application systems. The combination of empowered data formats and high level software development methodologies forms the basis of modern game development technologies, which drive software capabilities and runtime behaviour using empowered data formats describing game content. While low level libraries provide optimised runtime execution, content data is used to drive a wide variety of interactive and immersive experiences. This thesis describes the Fluid project, which combines component based software development and game development technologies in order to define novel component technologies for the description of data driven component based applications. The thesis makes explicit contributions to the fields of component based software development and visualisation of spatiotemporal scenes, and also describes potential implications for game development technologies. The thesis also proposes a number of developments in dynamic data driven application systems in order to further empower the role of data in this field.
Resumo:
This paper describes a practical application of MDA and reverse engineering based on a domain-specific modelling language. A well defined metamodel of a domain-specific language is useful for verification and validation of associated tools. We apply this approach to SIFA, a security analysis tool. SIFA has evolved as requirements have changed, and it has no metamodel. Hence, testing SIFA’s correctness is difficult. We introduce a formal metamodelling approach to develop a well-defined metamodel of the domain. Initially, we develop a domain model in EMF by reverse engineering the SIFA implementation. Then we transform EMF to Object-Z using model transformation. Finally, we complete the Object-Z model by specifying system behavior. The outcome is a well-defined metamodel that precisely describes the domain and the security properties that it analyses. It also provides a reliable basis for testing the current SIFA implementation and forward engineering its successor.
Resumo:
An important feature of some conceptual modelling grammars is the features they provide to allow database designers to show real-world things may or may not possess a particular attribute or relationship. In the entity-relationship model, for example, the fact that a thing may not possess an attribute can be represented by using a special symbol to indicate that the attribute is optional. Similarly, the fact that a thing may or may not be involved in a relationship can be represented by showing the minimum cardinality of the relationship as zero. Whether these practices should be followed, however, is a contentious issue. An alternative approach is to eliminate optional attributes and relationships from conceptual schema diagrams by using subtypes that have only mandatory attributes and relationships. In this paper, we first present a theory that led us to predict that optional attributes and relationships should be used in conceptual schema diagrams only when users of the diagrams require a surface-level understanding of the domain being represented by the diagrams. When users require a deep-level understanding, however, optional attributes and relationships should not be used because they undermine users' abilities to grasp important domain semantics. We describe three experiments which we then undertook to test our predictions. The results of the experiments support our predictions.
Resumo:
O presente trabalho de dissertação teve como objetivo a implementação de metodologias de Lean Management e avaliação do seu impacto no processo de Desenvolvimento de Produto. A abordagem utilizada consistiu em efetuar uma revisão da literatura e levantamento do Estado da Arte para obter a fundamentação teórica necessária à implementação de metodologias Lean. Prosseguiu com o levantamento da situação inicial da organização em estudo ao nível das atividades de desenvolvimento de produto, práticas de gestão documental e operacional e ainda de atividades de suporte através da realização de inquéritos e medições experimentais. Este conhecimento permitiu criar um modelo de referência para a implementação de Lean Management nesta área específica do desenvolvimento de produto. Após implementado, este modelo foi validado pela sua experimentação prática e recolha de indicadores. A implementação deste modelo de referência permitiu introduzir na Unidade de Desenvolvimento de Produto e Sistemas (DPS) da organização INEGI, as bases do pensamento Lean, contribuindo para a criação de um ambiente de Respeito pela Humanidade e de Melhoria Contínua. Neste ambiente foi possível obter ganhos qualitativos e quantitativos nas várias áreas em estudo, contribuindo de forma global para um aumento da eficiência e eficácia da DPS. Prevê-se que este aumento de eficiência represente um aumento da capacidade instalada na Organização, pela redução anual de 2290 horas de desperdício (6.5% da capacidade total da unidade) e pela redução significativa em custos operacionais. Algumas das implementações de melhoria propostas no decorrer deste trabalho, após verificado o seu sucesso, extravasaram a unidade em estudo e foram aplicadas transversalmente à da organização. Foram também obtidos ganhos qualitativos, tais como a normalização de práticas de gestão documental e a centralização e agilização de fluxos de informação. Isso permitiu um aumento de qualidade dos serviços prestados pela redução de correções e retrabalho. Adicionalmente, com o desenvolvimento de uma nova ferramenta que permite a monitorização do estado atual dos projetos a nível da sua percentagem de execução (cumprimento de objetivos), prazos e custos, bem como a estimação das datas de conclusão dos projetos possibilitando o replaneamento do projeto bem como a detecção atempada de desvios. A ferramenta permite também a criação de um histórico que identifica o esforço horário associado à realização das atividades/tarefas das várias áreas de Desenvolvimento de Produto e desta forma pode ser usada como suporte à orçamentação futura de atividades similares. No decorrer do projeto, foram também criados os mecanismos que permitem o cálculo de indicadores das competências técnicas e motivações intrínsecas individuais da equipa DPS. Estes indicadores podem ser usados na definição por parte dos gestores dos projetos da composição das equipas de trabalho, dos executantes de tarefas individuais do projeto e dos destinatários de ações de formação. Com esta informação é expectável que se consiga um maior aproveitamento do potencial humano e como consequência um aumento do desempenho e da satisfação pessoal dos recursos humanos da organização. Este caso de estudo veio demonstrar que o potencial de melhoria dos processos associados ao desenvolvimento de produto através de metodologias de Lean Management é muito significativo, e que estes resultam em ganhos visíveis para a organização bem como para os seus elementos individualmente.
Resumo:
O objetivo deste trabalho é o desenvolvimento de frameworks de testes automáticos de software. Este tipo de testes normalmente está associado ao modelo evolucionário e às metodologias ágeis de desenvolvimento de software, enquanto que os testes manuais estão relacionados com o modelo em cascata e as metodologias tradicionais. Como tal foi efetuado um estudo comparativo sobre os tipos de metodologias e de testes existentes, para decidir quais os que melhor se adequavam ao projeto e dar resposta à questão "Será que realmente compensa realizar testes (automáticos)?". Finalizado o estudo foram desenvolvidas duas frameworks, a primeira para a implementação de testes funcionais e unitários sem dependências a ser utilizada pelos estagiários curriculares da LabOrders, e a segunda para a implementação de testes unitários com dependências externas de base de dados e serviços, a ser utilizada pelos funcionários da empresa. Nas últimas duas décadas as metodologias ágeis de desenvolvimento de software não pararam de evoluir, no entanto as ferramentas de automação não conseguiram acompanhar este progresso. Muitas áreas não são abrangidas pelos testes e por isso alguns têm de ser feitos manualmente. Posto isto foram criadas várias funcionalidades inovadoras para aumentar a cobertura dos testes e tornar as frameworks o mais intuitivas possível, nomeadamente: 1. Download automático de ficheiros através do Internet Explorer 9 (e versões mais recentes). 2. Análise do conteúdo de ficheiros .pdf (através dos testes). 3. Obtenção de elementos web e respetivos atributos através de código jQuery utilizando a API WebDriver com PHP bindings. 4. Exibição de mensagens de erro personalizadas quando não é possível encontrar um determinado elemento. As frameworks implementadas estão também preparadas para a criação de outros testes (de carga, integração, regressão) que possam vir a ser necessários no futuro. Foram testadas em contexto de trabalho pelos colaboradores e clientes da empresa onde foi realizado o projeto de mestrado e os resultados permitiram concluir que a adoção de uma metodologia de desenvolvimento de software com testes automáticos pode aumentar a produtividade, reduzir as falhas e potenciar o cumprimento de orçamentos e prazos dos projetos das organizações.
Resumo:
Nos últimos anos tem-se verificado a constante evolução dos mercados em plataformas na Internet como forma de melhoria não só dos serviços prestados, mas também para o aumento de vendas de produtos e respetiva internacionalização dos mesmos. Este aumento da procura por este tipo de softwares, assim como a constante evolução e atualização dos mesmos tem contribuído para que estas aplicações evoluam em termos de funcionalidades e complexidade. Isto contribui cada vez para a dificuldade de formar equipas capazes de manter e desenvolver estes sistemas sem que comprometa em grandes custos para as organizações. Neste sentido surgiram diversas ferramentas que permitem criar soluções pré desenvolvidas de aplicações na Internet denominadas de "E-commerce applications". Estas plataformas, apesar do utilizador não ter obrigatoriamente que deter conhecimentos de programação para proceder à sua instalação, são bastante restritas tanto aos serviços que podem ser usados, e na sua escalabilidade, visto que normalmente correm em servidores específicos e por vezes as configurações necessárias para instalação tornam-se bastante complexas de ser efetuadas. Pretende-se no âmbito desta dissertação de mestrado propor um modelo de uma arquitetura de um sistema baseado em mecanismos MDA para a área de retalho, particularmente em ambientes de e-commerce. Serão inicialmente sistematizados os principais tipos de ecommerce numa perspetiva de evolução histórica. Será igualmente enquadrado o MDA no desenvolvimento de um sistema de e-commerce. Neste sentido, serão equacionadas as diferenças entre o modelo típico de desenvolvimento de software e o desenvolvimento de software orientado pelas metodologias do MDA. No processo de especificação e desenvolvimento do modelo proposto será realizada uma análise de requisitos, assim como, a proposta do modelo da arquitetura de um sistema baseado em mecanismos MDA, tendo como orientação os requisitos e arquitetura definida na fase de análise. Finalmente no sentido de analisar o resultado esperado para um sistema orientado por metodologias definidas por MDA, serão realizado alguns testes no sistema desenvolvido de forma a analisar o seu desempenho e validar a sua adequabilidade no âmbito do processo de desenvolvimento de sistemas e-commerce