Navigation

Introduction

The Traditional Waterfall Approach

Agile Methodologies

Conclusion- Choosing the Right Approach for the Task

Bibliography

Conclusion- Choosing the Right Approach for the Task

In this paper, I have discussed the concepts behind the Waterfall approach to Systems Analysis and Design and also Agile methodologies. I have gone into some detail regarding the benefits and limitations of the Waterfall approach. I have also discussed the myriad benefits of Agile methodologies. I have focused specifically on Extreme Programming (XP), Scrum, and Test-Driven Development (TDD), as these three Agile methodologies are widely used today. But the question remains- are Agile methodologies always the best option for every project?

The basic underlying assumptions of Agile methodologies do not necessarily hold up in very large scale projects. As such, corporations undertaking such projects need to make sure that the Agile methods that they are implementing meet the needs of the large project teams rather than just diving in to new methods. Further, each project has speed limiting factors in a different area, so the Agile methods in use need to be matched to the project. Figure 10 provides a nice breakdown of how aggressively Agile methods may be pursued (Kettunen & Laanti, 2008)

Figure 10: NPD agility evaluation grid outline

Key area, factor
Level of agility
 
Less ↔ More
Responsiveness to market changes (new features): Does the customization happen before or after the product is made? Early commitment (mass-production) Late decision (tailoring)
Productivity and quality (operational profitability): How are the (embedded) software upgrades and licensing handled? Fixed price Feature-based selection
New product innovations (competitive and desirable product): Is the product innovative or functional? Functional Innovative
Agile software methods (accommodating change): Do the teams have control over the process? One organizational standard (one-size-fits-all) Project teams define their processes
Flexible software architecture, software platforms (developmental flexibility): Is the product architecture designed for flexibility? Monolithic Reconfigurable, modular
Multiskilled, flexible workforce: Do people have the right attitudes to work in a volatile environment? Resistance to change Comfortable with change
Excellence in technology (preconditions): Are we capable of identifying underlying trends to predict future changes (learning)? Reactive Innovative (proactive)
Organizational flexibility: What is the ‘amicability index’ of the organization? Only through hierarchies (need-to-know) Free flow

(Kettunen & Laanti, 2008)

Kee further elaborates that some of the challenges of using Agile processes include:

As such, it is advisable for companies taking on large projects and for large companies in general to test the waters of Agile methodologies carefully before jumping in.

While the Waterfall method was in use for many years for Systems Analysis and Design, Agile methodologies bring a lot of exciting improvements to the arena. Beyond Extreme Programming, Scrum, and Test-Driven Development lie quite a few other Agile techniques, with new techniques continuing to be developed. Given the variety of Agile techniques available, companies are likely to find a fit, even if it means custom-tailoring one or more Agile method to their projects and work environment.