
MANIFESTO FOR AGILE THE BEST PROJECT CHOICE
What is Agile?
Agile means as a word the “ability to move with quick, easy grace”. It is an iterative approach to project management and software development that helps teams deliver value to their customers faster.
Instead of the classic project method, an agile team delivers work in small, but consumable, increments. Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly.
History of Agile
Iterative and incremental software development projects can be traced back as early as 1957 up to end of nineties.
But in the 2001, announced the “Manifesto for Agile”, which included five values and twelve principles were derived from and underpin a broad range of software development frameworks.
In 2005, a group headed by Cockburn and Highsmith wrote an addendum of project management principles, the PM Declaration of Interdependence to guide software project management according to agile software development methods.
In 2009, a group working with Martin wrote an extension of software development principles, the Software Craftsmanship Manifesto, to guide agile software development according to professional conduct and mastery.
In 2011, the Agile Alliance created the Guide to Agile Practices and in 2016 renamed the Agile Glossary, which include an open-source compendium of the working definitions of agile practices, terms, and elements, interpretations and experience guidelines from the worldwide community of "Agile practitioners".
What is an Agile SDLC model?
Agile SDLC software development life cycle model stages as below:
1. Planning
2. Requirements Analysis
3. Design
4. Develop
5. Testing
6. Lunching / Release
7. Feedback.
What are the five Agile Values?
1. Working software over comprehensive documentation.
2. Individuals and interactions over processes and tools.
3. Customer collaboration over contract negotiation.
4. Responding to change over following a plan.
What are the twelve Principles of Agile Manifesto?
1. Satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. (Environment and support)
6. Face-to-face conversation as the most efficient and effective method of conveying information to and within a development team.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity is essential.
11. Self-organizing teams encourage great architectures, requirements, and designs.
12. Regular reflections on how to become more effective – Self-improvement, process improvement, advancing skills, and techniques help team members work more efficiently.
Why Agile?
1. Easily and Quickly Adapt to Change.
2. Minimize Risk- Development and Test.
3. Delivery Dates (Predictable).
4. Stakeholder Engagement.
5. User-Focused Testing.
6. Greater Customer Satisfaction.
7. Better Project Control (Daily standup meetings).
What are Agile Mythologies?
1. Scrum
• Scrum is the most used of the many frameworks of the Agile methodology.
• "Sprints" is the cycles or stages of development in Scrum.
• Used in the management of development projects for software products and business.
• Daily there are small 15-minute meetings for synchronizing activities and finding the best way to plan the workday.
2. Kanban
• The word Kanban is of Japanese origin, and its meaning is linked to a time concept, “just-in-time”.
• Divided into columns, that shows every flow of the software production.
• A new “card” is created for any new task comes into play.
• Requires communication and transparency so that the members of a team can know exactly the stage the development is and able to see the status of the project.
3. Extreme Programming (XP)
• It is a methodology that emphasizes values such as Communication, Simplicity, Feedback, Courage and Respect and prioritize customer satisfaction over everything else.
• Motivating the members to accept changes in the customer’s requirements, even if they arrive in a later stage of the development cycle.
• Teamwork is important in XP, since when there is a problem, it is solved by the whole team of managers, developers or customers.
• In XP, the software is tested from day one, collecting feedback to improve development.
4. Lean Development
• It is a methodology that comes directly from Lean Manufacturing, created by Toyota, and applied to software development also.
• It contains seven essential principles:
1. Deleting/ eliminating the things that do not matter (anything that’s not bringing effective value to the customer’s project).
2. Quality development (requires discipline and control of the quantity of residuals).
3. Knowledge Creation (Document the whole infrastructure to later retain that value).
4. Differing commitments (not to focus more on planning and anticipating ideas, should have a prior and complete understanding of the requirements of the project).
5. Fast delivery (close the project ASAP).
6. Respecting the team (By communicating and managing conflicts).
7. Optimize the whole (the development sequence has to be perfected to delete errors , and create a flow of true value).
5. Crystal
Includes variants such as:
• Crystal Clear (up to an 8-person team),
• Crystal Yellow (up to a 10 to 20-person team),
• Crystal Orange (up to a 20 to 50-person team)
• Crystal Red (for big teams with 50 to 1000 people).
• Crystal focuses on below principles:
1. People.
2. Interactions.
3. Community.
4. Skills.
5. Talent.
6. Communication.
According to its founder, Alistair Cockburn, believes that the talent and the way team members interact bring benefits for the whole project.
6- XP-Agile
It is a mix of Agile frameworks – Scrum and XP Extreme Programming – that ensures the best results within the given deadlines.
Focusing on:
• Results/ Product
• Customer satisfaction.
• Stage by stage.
• Predict possible errors.
• Maximize productivity.
• Develop safely.
• Keeping team members motivated.
So, Agile Mythology is timed by time is replacing the traditional or the classic Project management approach and recently it is recognizing and implement by many companies around the world such as Microsoft, Google, Siemens, First American Financial Corporation ( financial services company) and many others companies including Saudi’s companies as well.
Farhan Al Shammari
Twitter: @farhan_939
E-mail: fhshasn@gmail.com