When to use and when not to use Agile

When to use and when not to use Agile PROS AND CONS Overview  Traditional, Plan Driven Development Principles  Pros and Cons  Agile Product Devel...
5 downloads 3 Views 280KB Size
When to use and when not to use Agile PROS AND CONS

Overview  Traditional, Plan Driven Development Principles  Pros and Cons  Agile Product Development Principles  Pros and Cons  How to determine when to use Agile vs. Waterfall  Open discussion forum

 The most common and purest form of traditional,

Traditional Development









 

plan-driven development is referred to as waterfall. A linear, plan-driven, top-to-bottom approach to development that originates from the manufacturing and construction industries. Consists of 5 stages: Initiation, Planning, Executing, Controlling, Project Close-Out (according to PMI). All steps are laid out, dependencies mapped, and you move to the next stage only after completing the previous one. All requirements are to be defined, documented, and signed-off during the initial phases of the project . Stresses documentation. Emphasis on triple constraint: Time, Cost, Scope.

Waterfall Pros 









The waterfall methodology stresses meticulous record keeping. Having such records allows for the ability to improve upon the existing program in the future. With the waterfall methodology, the client knows what to expect. They’ll have an idea of the size, cost, and timeline for the project. They’ll have a definite idea of what their program will do in the end. In the case of employee turnover, waterfall’s strong documentation allows for minimal project impact. Best for projects that deal with physical objects-from a construction project to a hardware installation project. Project plans are repeatable for identical or similar projects in the future.

Cons  









Requires substantial scope and schedule planning before work begins. Once a step has been completed, developers can’t go back to a previous stage and make changes. Relies heavily on initial requirements. Less effective for software, design, and other nonphysical or services-based projects. The whole product is only tested at the end. If bugs are written early, but discovered late, their existence may have affected how other code was written. The plan doesn’t take into account a client’s evolving needs. If the client realizes that they need more than they initially thought, and demand change, the project will come in late and impact budget. Scope changes can be slow and require formal change control processes.



Agile Development

          

Highest priority is to satisfy the customer through early and continuous delivery of valuable software Welcome changing requirements, even late in development Deliver working software frequently Business people and developers must work together daily throughout the project Build projects around motivated individuals Face-to-face conversation / collaboration Working software is the primary measure of progress Agile processes promote sustainable development Continuous attention to technical excellence and good design enhances agility Simplicity--the art of maximizing the amount of work not done--is essential The best architectures, requirements, and designs emerge from self-organizing teams At regular intervals inspect and adapt.

Agile Pros 









The Agile methodology allows for changes to be made after the initial planning. Rewrites to the program, as the client decides to make changes, are expected. Because the Agile methodology allows you to make changes, it’s easier to add features that will keep you up-to-date with the latest developments in your industry. At the end of each sprint, project priorities are evaluated. This allows clients to add their feedback so that they ultimately get the product they desire. The testing at the end of each sprint ensures that the bugs are caught and taken care of in the development cycle. They won’t be found at the end. Empowers project teams to work creatively and efficiently.

Cons  Not suited for projects with strictly 







defined requirements and scope. Uncertainty around scope and schedules can make stakeholders and executives nervous (at first). Requires vigilant backlog and documentation maintenance, and tech debt management. With a less successful project manager, the project can become a series of code sprints. If this happens, the project is likely to come in late and over budget. As the initial project doesn’t have a definitive plan, the final product can be grossly different than what was initially intended

When to use… Waterfall

Agile

Large Complete Projects where structure is required  When there is a clear picture of what the final product should be.  When clients won’t have the ability to change the scope of the project once it has begun.  When definition, not speed, is key to success





  



When rapid production is more important than the quality of the product. When clients will be able to change the scope of the project. When there isn’t a clear picture of what the final product should look like. When you have skilled developers who are adaptable and able to think independently. When the product is intended for an industry with rapidly changing standards.

When to use…

How to determine which approach to use…

For each competency place a check mark representing your company capability  Count the number of check marks that fall in Waterfall and Agile  The methodology with the higher number of check marks is the best fit 

Open Discussion…

Suggest Documents