All the "Right" Reasons for Agile
Agile Methodologies started as software development approaches to mend the gap, but later evolved into methods as alternative solutions to the traditional practices of managing teams and projects.
Here is an extensive list of the reasons to use Agile Development:
Adaptable to fixed or changing requirements
Flexibility and agility
Scalability of projects
Able to jump start a project faster
Better visibility and transparency
User and customer focused
Greater business and technology integration
Promote team interaction and collaboration
Increase ownership and accountability
Higher team morale
Flatter team organizational structure
Smaller resource requirements
Simplified development process
Minimal rules, documentation easily employed
Improve performance visibility
Increase performance output
More relevant metrics
Improve 360-degree communications
Frequent timely feedback
Create realistic customer expectations
Reduce project risk
Lower defect density
Faster Time to Market, i.e. First-mover advantage
Early Return of Investment (ROI)
Enables concurrent development and delivery
Continuous improvement of qualities and processes
Better product quality
Improve project estimates
Better cost control
Increase project control
Improve project predictability
Boost more relevant milestones and deliverables
The FOUR values of Agile Manifesto:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
The TWELVE principles of the Agile Manifesto:
Customer satisfaction by early and continuous deliver of value software - Think of Minimum Viable Product (MVP).
Welcome changing requirements, even in late development - Customer feedback loop is a great way to capture new requirements.
Working software is delivered frequently (weeks rather than months) - Time boxing a Sprint to no longer than 2 to 4 weeks.
Close, daily cooperation between business people and developers - Daily Stand up meeting is where the whole team meets every day for a quick status update.
Projects are built around motivated individuals, who should be trusted - Identify and secure the right people for your team
Face-to-face conversation is the best form of communication (co-location) - Alternative: The Distributed Agile Approach — Think Global. Code Global.
Working software is the principal measure of progress - “Done” should really mean “DONE!”. Features developed within an iteration (Sprint in Scrum), should be 100% complete in every Potentially Shippable Increment (PSI).
Sustainable development, able to maintain a constant pace - Use agile metrics to optimize your delivery.
Continuous attention to technical excellence and good design - Good quality assurance should encompass the entire development process from the very start of requirements gathering all the way to maintenance.
Simplicity - the art of maximizing the amount of work not done - is essential - The Agile Burn-down Chart is a chart that shows how quickly you and your team are burning through your customer's user stories.
Self-organizing teams -Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team.
Regular adaptation to changing circumstances - Business needs to keep a finger on the pulse of consumer trends and insights from around world.
"Plans are of little importance, but planning is essential." – Winston Churchill