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.
After completing this lesson, you will be able to:
Let us understand about Agile in detail below.
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’.
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 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:
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!
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.
There are 12 Agile Principles given in the Agile Manifesto, such as:
“Our highest priority is to satisfy the customer through the early and continuous delivery of valuable software.”
“Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.”
“Deliver working software frequently, from every couple of weeks to a couple of months, with a preference to the shorter timescale.”
“Business people and developers must work together daily throughout the project.”
“Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”
“The most efficient and effective method of conveying information to and within a development team is a face-to-face conversation.”
“Working software is the primary measure of progress.”
“Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.”
“Continuous attention to technical excellence and good design enhances agility.”
“Simplicity, the art of maximizing the amount of work not done, is essential.”
“The best architectures, requirements, and designs emerge from self-organizing teams.”
“At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.”
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.
The PMI-ACP® recognizes a number of core Agile principles and practices. Some of them are as follows:
Interested in taking up the PMI- ACP course? Click here!
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.
Agile has rapidly become one of the most popular and effective techniques to manage projects. It is important to understand its benefits, such as:
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.
Let us summarize the topics covered in this lesson:
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’.
Name | Date | Place | |
---|---|---|---|
PMI-ACP® Certification | 8 May -29 May 2021, Weekend batch | Your City | View Details |
A Simplilearn representative will get back to you in one business day.