Agile Enablers and Adoption Scenario in Industry Context

Author(s):  
Vinay Kukreja ◽  
Amitoj Singh

In the globalization of fast changing business and technology environment, it becomes very important to respond quickly to changing user requirements. Traditional methodologies are not appropriate for the projects where user requirements are not fixed. Agile methodologies have been developed to cope up with user changing requirements and emphasize more on working software and customer collaboration. Agile is an umbrella term and it is used for many software development methodologies which shares common characteristics. This chapter mainly focuses on the working methodology of agile development and the usage areas of industry where agile development is implemented. Agile software development is difficult in distributed environment as the team members are at distributed locations. This chapter discusses agile industry applicability enablers which are useful for agile software development in distributed environment.

Author(s):  
Torstein Nicolaysen ◽  
Richard Sassoon ◽  
Maria B. Line ◽  
Martin Gilje Jaatun

In this article, the authors contrast the results of a series of interviews with agile software development organizations with a case study of a distributed agile development effort, focusing on how information security is taken care of in an agile context. The interviews indicate that small and medium-sized agile software development organizations do not use any particular methodology to achieve security goals, even when their software is web-facing and potential targets of attack. This case study confirms that even in cases where security is an articulated requirement, and where security design is fed as input to the implementation team, there is no guarantee that the end result meets the security objectives. The authors contend that security must be built as an intrinsic software property and emphasize the need for security awareness throughout the whole software development lifecycle. This paper suggests two extensions to agile methodologies that may contribute to ensuring focus on security during the complete lifecycle.


2009 ◽  
pp. 2680-2699
Author(s):  
James F. Kile ◽  
Maheshwar R. Inampudi

Of great interest to software development professionals is whether the adaptive methods found in agile methodologies can be successfully implemented in a highly disciplined environment and still provide the benefits accorded to fully agile projects. As a general rule, agile software development methodologies have typically been applied to non-critical projects using relatively small project teams where there are vague requirements, a high degree of anticipated change, and no significant availability or performance requirements (Boehm & Turner, 2004). Using agile methods in their pure form for projects requiring either high availability, high performance, or both is considered too risky by many practitioners (Boehm et al., 2004; Paulk, 2001). When one investigates the various agile practices, however, one gets the impression that each may still have value when separated from the whole. This chapter discusses how one team was able to successfully drive software development quality improvements and reduce overall cycle time through the introduction of several individual agile development techniques. Through the use of a common-sense approach to software development, it is shown that the incorporation of individual agile techniques does not have to entail additional risk for projects having higher availability, performance, and quality requirements.


Author(s):  
J. Kile

Of great interest to software development professionals is whether the adaptive methods found in agile methodologies can be successfully implemented in a highly disciplined environment and still provide the benefits accorded to fully agile projects. As a general rule, agile software development methodologies have typically been applied to non-critical projects using relatively small project teams where there are vague requirements, a high degree of anticipated change, and no significant availability or performance requirements (Boehm & Turner, 2004). Using agile methods in their pure form for projects requiring either high availability, high performance, or both is considered too risky by many practitioners (Boehm et al., 2004; Paulk, 2001). When one investigates the various agile practices, however, one gets the impression that each may still have value when separated from the whole. This chapter discusses how one team was able to successfully drive software development quality improvements and reduce overall cycle time through the introduction of several individual agile development techniques. Through the use of a common-sense approach to software development, it is shown that the incorporation of individual agile techniques does not have to entail additional risk for projects having higher availability, performance, and quality requirements.


i-com ◽  
2015 ◽  
Vol 14 (2) ◽  
Author(s):  
Hartmut Schmitt ◽  
Dominik Magin ◽  
Andreas Maier ◽  
Richard Wacker ◽  
Josh Wang

AbstractSmall and medium-sized enterprises (SMEs) increasingly rely on agile software development. However, the majority of established usability methods have been developed with traditional software engineering principles in mind. So, one might assume that these methods and tools might not be applicable to agile development projects. In this paper, a possible approach to systematically adapting traditional usability methods to application in agile projects is introduced and documented as best practices. These best practices can be quickly and dynamically employed by agile development team members and can thus contribute to higher quality of software development outputs. The approach described in this paper was developed in the context of a German research project funded by the German Federal Ministry of Education and Research (BMBF) and conducted by one research institute and three software-developing enterprises and will be evaluated throughout the further course of the project. For this purpose, a number of best practices have been adapted to the context of agile software development and described in detail in order to allow inexperienced software developers of small and medium-sized enterprises to successfully apply these best practices. As two examples of these best practices, we illustrate the best practices ‘Contextual Inquiry’ and ‘Template-Based UI Design’ in this paper.


Author(s):  
Samar Alsaqqa ◽  
Samer Sawalha ◽  
Heba Abdel-Nabi

<p>Software engineering is a discipline that undergone many improvements that aims to keep up with the new advancements in technologies and the modern business requirements through developing effective approaches to reach the final software product, agile software development is one of these successful approaches. Agile software development is a lightweight approach that was proposed to overcome the convolutional development methods’ limitations and to reduce the overhead and the cost while providing flexibility to adopt the changes in requirements at any stage, this is done by managing the tasks and their coordination through a certain set of values and principles.</p><p>In this work, a comprehensive review that outlines the main agile values and principles, and states the key differences that distinguish agile methods over the traditional ones are presented. Then a discussion of the most popular agile methodologies; their life cycles, their roles, and their advantages and disadvantages are outlined. The recent state of art trends that adopts agile development especially in cloud computing, big data, and coordination are also explored. And finally, this work highlights how to choose the best suitable agile methodology that must be selected according to the task at hand, how sensitive the product is and the organization structure.</p>


In this work explored evolution of software lifecycle models firstly to lightweight and then to agile software development methodologies, and factors that have led to a search for ways to improve approaches to software development. Also compared "outdated" development designing approaches with modern flexible and made conclusions whether the advantage of the latter over the firsts is absolute and whether or not they and only they should be used in practice or maybe older approaches still have their advantages and it is too early to exclude them.


Author(s):  
Rosnani Shuib Et.al

In agile software development methodology, software product is developed through a few iterations and delivered incrementally. In spite of the known benefits of the agile methodology, yet issue still exists in developing high-quality software product using this methodology. Hence, quality assurance mechanism should be in place in agile development to ensure quality adherence to the software product.  However, taking up quality assurance in agile software development is not an easy task as it has its own manifesto and principles that need to be met. Thus, this paper highlights the issues and challenges towards adopting quality assurance in agile development methodology.  Particularly, in aniteration where we need to assure that the product increment meets the requirements as well as to decide the requirements for next increment and iteration planning. Subsequently, few measuresare identifiedconcerning the issues. The discussion in this paper is based on Scrum case, yet still relevant to other types of agile methodologies.


Author(s):  
Rajani Dixit ◽  
Brij Bhushan

In a traditional software development process such as the Waterfall Model, works best in a stable environment. But, it is not flexible when it comes to change. There is a gap in the interaction between the users and the development team which leads to incomplete and misunderstood specification. Because of this, the end product is sometimes a surprise to users and this gap accelerates incorrect development of the software product. Once requirements are frozen there is no scope of accepting changes. There is a need for a framework which holds the solution for all these situations. With this premise, the agile development methodology came into existence. Scrum, an agile approach supports continuous collaboration among the customer, team members, and other stakeholders. Its time-boxed approach and continuous feedback from the product owner ensures the development of working product with essential features at all the time. This paper explains the agile software development approach, its proclamation and different frameworks of agile approach. Further illustrate most widely used framework: Scrum. This research paper covers the implementation and application of Scrum. It focuses on why Scrum is preferred over the Waterfall Model with the help of some survey results and later a discussion on some Scrum Metrics which will be helpful and accounting for the best Scrum Practices in achieving goals set by the software development team, the product owner and the customers. The outcome of this study shows that Scrum Metrics is critical and highly valuable for successful product development. The quantitative insight that these metrics provide for the Scrum Team, Product Owner and Stakeholders is necessary for achieving strong project dynamics and optimal results.


Author(s):  
Karun Madan

Out of the many revolutions in software development methodologies over the past years, no new methodology withstands completely in one way or the other. The failure rate of projects is still very high in spite of so much of revolutionary methodologies come in existence. Unsuccessful projects not only mean the incomplete projects even after deadline or outdated projects but there may be several other scenarios like project did not meet up the real requirements or lack of ability to deal with the changing requirements etc. In this kind of circumstances, projects were never successfully utilized, and another high percentage of projects again required massive rework to be utilizable. Factors like changing requirements and late testing and integration are few of the main causes of this high percentage of failure.This paper reveals how agile development is a way out to the issues linked with traditional software development. Agile development primarily focuses on the rapid delivery of enterprise worth in the form of working software.


2022 ◽  
pp. 1002-1017
Author(s):  
Parita Jain ◽  
Arun Sharma ◽  
Laxmi Ahuja

Agile methodologies have gained wide acceptance for developing high-quality products with a quick and flexible approach. However, until now, the quality of the agile process has not been validated quantitatively. Quality being important for the software system, there is a need for measurement. Estimating different quality factors will lead to a quality product. Also, agile software development does not provide any precise models to evaluate maintainability. Therefore, there is a need for an algorithmic approach that can serve as the basis for estimation of maintainability. The article proposes an adaptive neuro-fuzzy inference system (ANFIS) model for estimating agile maintainability. Maintainability is one of the prominent quality factors in the case of agile development. The proposed model has been verified and found to be effective for assessing the maintainability of agile software.


Sign in / Sign up

Export Citation Format

Share Document