In recent years, Agile Methods of development and project management has gained immense popularity and adoption in software development projects. Agile philosophy slowly is also spreading into non-software projects, albeit more popular and effective in software.
In this tutorial first we will try to understand the challenges in traditional methods of software developments and how agile addresses those challenges. Second, we will also try to understand how project management differs in traditional waterfall method versus agile method of development.
Companies are investing billions of dollars today in developing new software applications and products for their businesses. It is important to develop these software applications in a timely and cost effective manner with the right features which finally work for the business.
Software development may sound very easy and simple and no rocket science to the technical communities, but the hard fact is immense amount of money is wasted in developing software products which do not remain relevant by the time they are ready for use. The market conditions would have changed, the user preferences would have changed and the final product in many cases become redundant.
Waterfall model has been the traditional method of developing software products. There are some classical challenges in the traditional project management of software development namely:
This is where a group of experienced software developers came up with a new philosophy and development methodology which can address the above challenges effectively. The objective was to provide Agility and Flexibility in the software development methods which ultimately will result in development of well-designed, working and useful software.
The Agile Manifesto as published by these groups of software developers can be read at http://agilemanifesto.org/
Let us try to understand the basic philosophy behind the manifesto which was published by them which looks as below:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
They proposed to define a new development methodology which essentially will follow the above manifesto. They further defined 12 principles to be followed which will lead to the manifestation of the Agile Philosophy.
Agile Methods have become widely adopted and practiced. Keeping the above Agile Manifesto and Principles in mind, different instances of Agile Development Methods have evolved.
Agile Project Management reduces complexity by breaking down the many-months-long cycle of building requirements for the whole project, building the entire product and then testing to find hundreds of product flaws. Instead small, usable segments of the software product are specified, developed and tested in manageable, two- to four-week cycles.
In traditional waterfall project management, the Project Manager is burdened with balancing project scope, cost, quality, personnel, reporting, risk, and adapting as requirements change. Agile project management divides these overwhelming responsibilities among three agile roles:
Rather than planning long phases as in traditional project management, if agile is used, the entire development is planned and managed in short cycles, typically known as sprints of 2-6 weeks, each sprint delivering a fully working feature, thereby providing value to the customer early on.
Traditional project management is fully plan driven, whereas agile project management is feature and value driven, keeping the customer value as priority.
A valuable piece of knowledge. Thank you!
This blog is appreciated, thanks.
I like the article. Thank you very much.
Thank you for the information.
The content of the motivation theories are well explained and its has been of great help to me . Thank you for making it that easy for easy understanding.