Agile Principles and Practices-Agile Manifesto

This is a tutorial about ‘Agile Principles and Mindset’ of the PMI-ACP Certification course offered by Simplilearn. We will learn the basics of Agile and also understand the importance of Agile Principles and Practices.

Objectives

After completing this lesson, you will be able to:

  • Define Agile

  • Discuss Agile Best Practices

  • Describe Agile Manifestos

  • List the 12 principles of Agile

  • List Agile core principles and practices

  • Discuss the benefits of Agile

Agile

Let us understand about Agile in detail below.

What is Agile?

Agile is a family of product development methodologies, in which customer requirements and solutions evolve through repeated cycles of planning, collaboration and delivery as depicted in the image. This helps deliver the ‘right solution at the right time’.agile-development-cycle.JPG

According to Scott Ambler, “Agile is an iterative and incremental or evolutionary approach to project development which is performed in a highly collaborative manner by self-organizing teams with ‘just enough’ ceremony that produces high-quality software in a cost-effective and timely manner which meets the changing needs of its stakeholders.”

Let’s break up the above statement and see what each term means.

Iterative and incremental’ means developing in a measured fashion. In this process, each increment is built on the last iteration.

Highly collaborative’ means encouraging the team interaction and engagement.

Self-organizing team’ means recognizing the team’s competence of finding the right solution to deliver value.

Just enough ceremony’ means creating only those documents that justify the requirement. ‘High-quality software’ reflects the importance of quality in the Agile delivery model.

Meets the changing needs of stakeholders’ emphasizes the willingness of Agile to adapt to change and embrace it.

Agile-Best Practices

Agile emphasizes on flexibility and adaptability, which is made possible by implementing some of the best practices from the software industry.

Some of the best practices recommended by Agile are:

  • Face-to-face communication

  • Shorter development cycle

  • Business and Developer collaboration

  • Working software as the primary demonstration of progress

  • Effective engineering practices

  • Frequent demonstrations of progress and early return on investment

  • Inspect and adapt to business changes

  • Retrospectives and continuous improvement

Agile Evolution

Agile evolved in the late 1990s, in response to the burden of heavy documentation and frequent changes to requirements. It started as a collection of lightweight and quality-driven approach to software development.

Some of the prominent techniques are:

Test Driven Development: It is based on writing tests before writing the software, which creates a rich collection of tests.

Continuous Integration: It involves merging all developer working copies with a shared mainline, several times a day.

Refactoring: It is the process of restructuring existing computer code without changing its external behavior.

User Stories: It involves the technique that captures the end user requirement and what users need to do as part of their job function, in one or more sentences and simple language.

Keen on learning more about Agile Principles and Mindset. Check out the course preview here!

Agile Manifesto

Let us understand Agile Manifesto in detail below.

Before we get into the details of Agile Manifesto and Agile Manifesto Principles, let’s just understand the origin of Agile Manifesto first.

The Agile Manifesto was signed in February 2001, by 17 leading software developers. It is considered the key reference for all Agile practices. It also acts as a set of guiding principles and practices for Agile Software Development.

The contents of the Agile Manifesto is read as: “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.”

Let us understand these terms stated in the Agile Manifesto one by one in detail.

Individuals and interactions over processes and tools: Individuals and interaction between them are critical to the success of the project, while processes and tools are also necessary. People who work on the projects are more valuable than processes and tools because they create solutions, ensure quality, and deliver value. Agile emphasizes on individuals in the project and interactions among them.

Working software over comprehensive documentation: Documentation is required to track the project baseline. However, it does not demonstrate any progress or value. Hence, the emphasis is on the working software, which the business can see and work on. It delivers real value to the project.

Customer collaboration over contract negotiation: Agile emphasizes organizations to be flexible and accommodating rather than following definitions of contracts. Customers may request for changes to gain competitive advantage. Hence, it is necessary to collaborate with customers to accommodate such changes, even if it is late in the development cycle.

Responding to change over following a plan: Plans help improve predictability. Hence it is recommended to plan upfront. However, also be aware that the needs of the business can change quickly.

Always be responsive to change and refine the plan to bring the project back on track, instead of putting all the efforts into sticking to the original plan.

Principles of the Agile Manifesto

There are 12 Agile principles given in the Agile Manifesto, such as:

  1. “Our highest priority is to satisfy the customer through the 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 every 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. Give them the environment and support they need, and trust them to get the job done.”

  6. “The most efficient and effective method of conveying information to and within a development team is a face-to-face conversation.”

  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, the art of maximizing the amount of work not done, is essential.”

  11. “The best architectures, requirements, and designs emerge from self-organizing teams.”

  12. “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”

Less Engineering, More Enabling

Over time, Lean and Six Sigma techniques began to infuse into Agile practices. These include the following:

  • Continuous Improvement: Japanese ideas like Kaizen began to appear in the form of retrospectives, the entire team regularly discuss what worked and what did not, in an iteration.

  • Focus on the Value Chain: Extend Agile techniques, particularly ‘Pull,’ across each segment of the value chain.

  • Business Value Emphasis: Understand the business value of work and prioritize effort around this work.

  • Incremental Delivery: Deliver measurable value early in the project lifecycle.

Agile Core Principles and Practices

The PMI-ACP® recognizes a number of core Agile principles and practices. Some of them are as follows:

  • Early Delivery of Value through iterations with Demos: The project should be broken into a series of timeboxed iterations that include demos to show progress to the stakeholders.

  • User Stories reflect Business Value and Priority: User Stories are managed in a backlog, prioritized by the business value. Releases are determined by the development velocity and accepted as a production release.

  • Continuous Involvement of the Customer: Per the Agile principle, “Business people and developers must work together daily throughout the project”, customers are involved continuously and their inputs are considered during the product development.

  • Acceptance Tests for all requirements: Everyone in the team owns ‘quality’ Standards and test automation. Agile emphasizes the key principles, such as Test Early or Test Often. Automate tests and enable continuous integration wherever possible.

  • Retrospectives: Weekly team retrospectives should be conducted to improve the project delivery efforts.

  • Sustainable Pace or Velocity: Team members are involved in estimates and commitment dates. Overtime and weekend work are undesirable.

  • Communication: Daily ‘Scrums’ should be organized amongst the team members to understand the accomplished tasks, pending tasks, and complications in the completion of the project.

  • High Visibility: Information on project status, progress, and issues or risks should be maintained in real-time and also, on web-accessible tools.

Interested in taking up the PMI- ACP course? Click here!

What Agile is Not

Agile does not involve a big design and requirement gathering up front; predictions on project completion; and ‘death march’ projects, where project teams make up the difference for poor estimates with unpaid overtime.

Further, it does not involve the use of tools that force behaviors, such as, task management tools; top-down management and control; and ‘heavy’ documentation, particularly Status Reports, Software Architecture Diagrams, Software Requirements Specifications, and Test Plans.

Benefits of Agile

Agile has rapidly become one of the most popular and effective techniques to manage projects. It is important to understand its benefits, such as:

  • Emphasis on collaboration, team empowerment, frequent demonstrations of progress, lightweight, relying on whiteboards, index cards and facilitation techniques

  • Appealing to developers with its development focus

  • Faster time-to-market and high priority features driving the development lifecycle

  • Focus on Pull instead of Push

  • Simple to understand

  • Contemporary and meets the needs of the customer.

Agile-Real Life Example

A custom software development outsourced IT services company was struggling with traditional methods of software development. The company realized that Agile provides better outcomes than the traditional method. Hence, they decided to take up Agile transformation. The graphic below shows how the transformation benefitted them as they developed each portal and gained a better understanding of Agile principles and practices.

Summary

Let us summarize the topics covered in this lesson:

  • Agile evolved in the late 1990s, in response to the burden of heavy documentation and frequent requirements change.

  • The Agile Manifesto was signed in 2001, by 17 software developers, which captured the values and principles of the Agile movement.

  • Agile Manifesto highlights 12 Lean Agile principles.

  • As a lightweight project management approach, Agile avoids big design, heavy documentation, and top-down management or control. Agile emphasizes collaboration, team empowerment, and frequent demonstrations of progress, by focusing on Pull vs. Push.

Conclusion

This concludes ‘Agile Principles and Practices- Agile Manifesto’ lesson. In part 2 of the domain, we will learn more about ‘Agile Methodologies and Frameworks- Kanban and Lean Management’.

  • Disclaimer
  • PMP, PMI, PMBOK, CAPM, PgMP, PfMP, ACP, PBA, RMP, SP, and OPM3 are registered marks of the Project Management Institute, Inc.

We use cookies on this site for functional and analytical purposes. By using the site, you agree to be cookied and to our Terms of Use. Find out more

Request more information

For individuals
For business
Name*
Email*
Phone Number*
Your Message (Optional)

By proceeding, you agree to our Terms of Use and Privacy Policy

We are looking into your query.
Our consultants will get in touch with you soon.

A Simplilearn representative will get back to you in one business day.

First Name*
Last Name*
Email*
Phone Number*
Company*
Job Title*

By proceeding, you agree to our Terms of Use and Privacy Policy