This again led to issues during the later stages of the project.
Agile – Agile methods break tasks into small increments with minimal planning, and do not directly involve long-term planning. Iterations are short time frames ("time boxes") that typically last from one to four weeks. Each iteration involves a team working through a full software development cycle including planning, requirements analysis , design, coding, unit testing , and acceptance testing when a working product is demonstrated to the stakeholders. This helps minimize overall risk, and lets the project adapt to changes quickly.
Stakeholders produce documentation as required. An iteration may not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration. Multiple iterations may be required to release a product or new features.
Waterfall – Planning was considered a key factor in waterfall method. A significant percentage of the time was spent on planning how the project will be executed up-front. However, as the business scenario changed frequently, the plans needed to be updated frequently and the plans began to lag and this led to issues as the initial plans could not be adhered.
10. Working Software
Agile – Agile emphasizes working software as the primary measure of progress. This, combined with the preference for face-to-face communication, produces less written documentation than other methods. The agile method encourages stakeholders to prioritize wants with other iteration outcomes based exclusively on business value perceived at the beginning of the iteration.
Specific tools and techniques such as continuous integration , automated or xUnit test , pair programming , test driven development , design patterns , domain-driven design , code refactoring and other techniques are often used to improve quality of the working software and enhance project agility.
Waterfall – The focus being on the delivery of the product/service based on the sequential steps followed in the method ensured that the lead time from the requirements elicited from the customer to the final delivery was huge and this lead to a lot of differences from what the customer had said and what had been delivered.
The above sections do not necessarily critique the waterfall method against the agile method. They only indicate how issues arise in business and how agile takes a different perspective of the same issue and by using alternative techniques, the issues are mitigated. Agile methods are not a silver bullet that can solve all the business issues. However, what they can do is that they alleviate the known issues to a great extent by focusing on a different approach to software development.
Waterfall methods are still used in legacy systems and other areas and they are generally found to be useful in those scenarios where the requirements are clear up-front and there are no changes needed by the customer. However, this is an increasingly rare scenario, especially in commercial software product development and this has catapulted agile methods into the mainstream IT industry.
By adopting the Blue Ocean Strategy, we can observe how the agile methods have opened up new business opportunities by focusing on alternative techniques to resolve the perennial business problems and how this leads to value innovation (low cost and value differentiation). The above example was one aspect of using one type of tool presented in the Blue Ocean Strategy. Additional tools and techniques presented in the Blue Ocean Strategy may also be used to further highlight the approach of agile methods in creating a blue ocean of business opportunity/relationship vis-à-vis waterfall method. Additionally,