Understanding The Agile Manifesto

Quote by Tom DeMarco

Memorising Agile manifesto can be mindboggling, especially when putting it in practice. Working in an organisation that isn’t agile, one often wonders where can I start from? Starting with the values and principles of agile can be a guide in delivering and implementing agile products and processes in any organisation

Frameworks and Methodologies

What’s this Agile everyone’s talking about?

Agile is a set of values and principles initially created for software development, where requirements and solutions evolve through the collaborative effort of self-organising and cross-functional teams. The Agile Alliance talks in greater details about the history of agile manifesto

Agile Software Development life-cycle

The core principles of agile:

  • Requirement engineering
  • Encourages change
  • Shippable product increments
  • Receive and give feedback
  • Frequent delivery
  • Continuous improvement

How I made my organisation enact Agile

  • Scrum managing knowledge work, with an emphasis on software development
  • Data helped to understand and analyse customers’ pain-point, touch-point and interaction on the system (Data never lies)
  • Lean Start-up and design thinking creates an easy feedback loop for design and strategic thinking for product development
  • Six Sigma heavily reliant on data-driven decision making and for eliminating defects
  • PDCA model for Inspect and adapt
Agile’s benefit

Benefit of agile

  • User-centered designs (UX/UI) is top priority when delivering quick iterative and incremental products.
  • Emphasizes on user journey and interactions with UX/UI interface
  • Shippable working software is delivered frequently within releases
  • Adapt & inspect cycle encouraging testing throughout and delivering high quality products.
  • Increased customer satisfaction and possibly retention.
  • Reduced risks Increased ROI and efficiency.
Agile Manifesto

Four values of Agile Manifesto

1. Individuals and interactions over processes and tools

Agile Scrum is team-oriented, the teams must be self-organising working cross-functionally for effective building of software systems and delivering business value with shared business goal, promoting transparency, interaction and collaboration with emphasis on teamwork as it is critical in Scrum.

2. Working software over comprehensive documentation

Documentation has its place if and when properly written without expending time, it is valuable for understanding and guiding teammates of how and why a system is built and how users interact with the system. Traditionally time used to be expended detailing specifications, triggering delay in product development risking user rejection of products upon its arrival in the market. However, Agile does not eliminate documentation it only minimises it (e.g user stories, UML diagrams).

3. Customer collaboration over contract negotiation

Products are developed from customers perspective and their input is crucial and cannot be overlooked! Collaborating with customers can be hard yet necessary. Signing well a documented contract is important but should not be substitutes for communication with customer. Invest time and effort to identify their needs and educate them along the way is crucial and can be achieved through periodic demo’s through Sprint reviews

4. Responding to change over following a plan

The business environment and technology evolves and sometimes causing disruption. Change is inevitable in software development and be must reflected where necessary. Project plan is good but must be flexible to accommodate changes even late into development.

Agile Principles

The 12 Principles of Agile Manifesto

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Customer are pleased with the iterative and incremental release of product rather than at the end of production without testing, risking possible rejection by end-users.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantageThe flexibility of accommodating changes to requirement or feature even late into development is critical as Agilists embraces change than following a strict plan.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale Frequent delivery affords stakeholders feedback’s, promotes transparency for inspect and adapt as Sprint in scrum are timebox for efficiency.

4. Business people and developers must work together daily throughout the project Faster, prompt and better decisions are made when the business and development team are aligned.

5. Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done Most times motivated teams are more likely to commit and deliver products successfully rather than unhappy teams.

6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation For a development team to succeed communication and collaboration is a must as they uphold the 3 pillars of scrum with emphasis on trust and transparency.

7. Working software is the primary measure of progressDelivering functional software meeting the changing needs of stakeholders and not reporting measurement of earned value projections.

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely People’s ability to do real work is limited, for instance one could not sprint a complete marathon, hence one cannot successfully develop a working software by overtime work for months at a time. Experience has taught me best- quality work can only be delivered between 5–6 hours per day before burning out, while remaining hours is for responding to email, meetings, collaboration and discussions with breaks.

9. Continuous attention to technical excellence and good design enhances agility Expert skills helps the team maintain the right pace for constant improvement of products, and changes. Agilists are aware of the importance of starting with good code for the benefit of refactoring, taking a test-driven approach in ensuring their software works following guidelines coding and modelling guidelines.

10. Simplicity — the art of maximizing the amount of work not done — is essentialAgile developers focus on high value tasks, developing just enough to get the job done for now with focus on helping the business and our stakeholder maximize their Return on Investment (ROI).

11. The best architectures, requirements, and designs emerge from self-organizing teamsSkilled and motivated team responsible with decision-making taking take ownership, communicating and collaborating cross-functionally to deliver quality products. However, This debatable and subject to further research as some are of the opinion that The Agile Model Driven Development (AMDD) and Test-Driven Design (TDD) methods are the primary approaches within Agile community in ensuring the emergence of effective architectures, requirements, and designs.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordinglySoftware process improvement (SPI) is a technic for continual effort like Sprint Retrospectives for evaluation of processes and self-improvement and promoting teams efficiently and effectiveness

Agile Overview

Why Agile Manifesto?

The Agile Manifesto provides a logical approach for software development.

Acknowledgment

I want to profoundly express my heartfelt gratitude to my colleagues Vivienne Ikechi-Ajoku, Lola Awobowale, and Dudu Alokwe for helping me review the article

Thank you for taking the time to reading my very long article, I tried my hardest to summerise it. I will appreciate your feedback to help me improve kindly like, comment, and share and follow me on LinkedIn for more update on trends, and tools with metrics. Thank you again

--

--

Mercy George-Igbafe — C.E.O, LEARNTOR

LEARNTOR is #1 comprehensive Agile Digital Transformational training and consultancy company focused on capacity development to bridge the digital gap for women