Ehsan Ghanbari

Experience, DotNet, Solutions

Is there any need to migrate from waterfall to agile?

If you take a deeper look at agile manifesto:

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan


You will find out that it's all about a way of good thinking and culturing. agile allows for organic changes and improvements along the way, even to project specifications.  agile dictates that communication among the team must occur daily, so that everyone is aware of individual progress.


What's wrong with waterfall?

it's completely obvious that waterfall approach is step by step and  each step is predictable, In iterative Waterfall, time is fixed, and scope is broken into segments to fit the allotted time and resources. Each iteration must go through requirements, design, build and test and is executed in a slightly staggered schedule, meaning that each iteration starts just before the previous iteration is complete. The advantage of iterative waterfall is that it provides clear points to change requirements and receive users’ feedback, reducing re-work and time to delivery. The disadvantage is that it creates more potential points of failure and additional work for the project manager. Alternatively, you could attempt to change your organization to make Agile a better fit. As pointed out earlier, changing an organization’s culture is a difficult project and should be planned carefully.


How to Move From Waterfall to Agile



As you can see in the source page of the picture above on here, don't think that agile overrides the waterfall! Agile is a new way of thinking about software development and it's not the best solution for all problems. Changing a methodology must be accompanied by a comprehensive change management and strong leadership as it's not an easy task.

The transition from waterfall to agile software development requires careful planning. The collaboration and flexibility that agile brings can result in a better end product for your client, and a more engaged, harmonious internal team. There are several methods to implement agile like scrum. In scrum there are some rules like daily meetings of team members, Poker planning that makes rapid completion of incremental tasks, shortened work cycle called 'Spring' which makes complete smaller increments of a product to get feedbacks frequently consider the project progress very quickly. What I personally interested in about agility is that team members by working together understand each other and their weaknesses, so it makes a kind motivation to facilitate the lacks.



About Me

Ehsan Ghanbari

Hi! my name is Ehsan. I'm a developer, passionate technologist, and fan of clean code. I'm interested in enterprise and large-scale applications architecture and design patterns. I spend a lot of time on software architecture. Since 2008, I've been as a developer for different companies and organizations and I've been focusing on Microsoft ecosystem all the time. During the past years, Read More

Post Tags
Pending Blog Posts
using Elmah in MVC4
Using FluentSecurity in MVC
Strategic design
Factory Pattern
time out pattern in ajax
Redis as a cache server
How to use PagedList In MVC
Multiple submit buttons in MVC
Domain driven design VS model driven architecture
What's the DDD-lite?
comments powered by Disqus