Agile is a code development methodology defined by 17 professional developers who were mostly using object-oriented languages and variations of iterative development such as extreme programming. They collaborated to produce a list of four main values and 12 principles that result in producing quality software products as well as a good quality of work life. The result was the Agile Manifesto for Software Development (Beck et al., 2001).
In adopting agile, management may object to some of its features as being unnecessary or inefficient but will approve adoption of some of the features recommended in agile. They then implement a thin or “skinny” version of agile consisting of their selected features. Then they staff the team from their existing IT workers, and usually provide them introductory training in agile. When such a worker, who is accustomed to waterfall projects, is learning agile, they view it through the lens of their waterfall experience. As such, any one feature of agile selectively introduced into the legacy environment just seems sure to fail. Actually, each feature of agile works with the others to produce a robust and lean methodology with many benefits.
Since the new team is staffed with experts or specialists, in each sprint, they move through development activities in a traditional fashion with analysis, design, development,
Please log in or sign up below to read the rest of the article.