PMI-ACP Study Notes: Agile Methodologies for PMI-ACP Exam
[PMI-ACP® exam study notes] Agile Methodologies is a very important topic for the PMI-ACP® exam. Methodologies describe the ways how the project is to be carried out (unlike traditional project management with plans to describe what to be carried out). This article briefly touches upon the essences of different Agile methodologies.
- 1 Agile Methodologies for the PMI-ACP® Exam
- 2 Conclusion: PMI-ACP® Exam Study Notes – Agile Methodologies
Agile Methodologies for the PMI-ACP® Exam
Remembering roles as well as core concepts for the following Agile methodologies are required to pass the PMI-ACP® exam:
- XP (eXtreme Programming)
- LSD (Lean Software Development)
- Crystal Family
- ASD (Adaptive Software Development)
- DSDM (Dynamic Systems Development Method) Atern
- FDD (Feature Driven Development)
XP (eXtreme Programming) is currently one of the most popular Agile methods. XP is a disciplined approach to delivering high-quality software quickly and continuously at very short intervals (typically every 1-3 week). XP promotes responsiveness to changes, higher customer involvement, rapid feedback loops, continuous testing, continuous planning and close teamwork. The name suggests that the beneficial elements of traditional programming practices are taken to the extreme.
XP is based on 4 values and 12 supporting practices. The 4 values are: simplicity, communication, feedback, and courage. The 12 supporting practices are: Planning Game, Small Releases, Customer Acceptance Tests, Simple Design, Pair Programming, Test-Driven Development, Refactoring, Continuous Integration, Collective Code Ownership, Coding Standards, Metaphor and Sustainable Pace.
Scrum is considered a lightweight management framework suitable for managing iterative and incremental projects (including product development projects other than software). Scrum has grown rapidly in the past few years and is fast becoming one of the most popular Agile methods, especially among the software industry. Scrum is renowned for its simplicity, proven success, productivity, and its flexibility to be used as a framework for various engineering practices promoted by other Agile methodologies, i.e. Scrum Masters are allowed to select the most suitable Agile practices to be brought under the Scrum framework. Scrum adopts an empirical approach by accepting problems cannot be fully understood at the beginning and must be continuously attended to along the project.
Lean Software Development is an iterative methodology developed from the processes and practices in Lean Enterprise movement (for the production industry). Lean Software Development focuses the team on delivering value to the customers by focusing on the “Value Stream“. Core Lean principles include: Eliminating Waste, Amplifying Learning, Deciding as Late as Possible, Delivering as Fast as Possible, Empowering the Team, Building Integrity In, and Seeing the Whole. The value stream approach emphasizes on the speed and efficiency of development workflow, and relies on rapid and reliable feedback between programmers and customers. Lean methods try to eliminate waste by prioritizing and working on “truly” valuable features of a system and delivering values rapidly in small batches.
The Crystal methodology is one of the most lightweight, adaptable approaches to software development. Crystal is a family of methodologies including Crystal Clear, Crystal Yellow, Crystal Orange, etc. The different methodologies in the Crystal family are differentiated by factors like team size, system criticality and project priorities. The Crystal family allows a tailored set of policies, practices and processes for individual projects in order to suit the characteristics of the projects. Crystal methodologies emphases on the interaction between people and processes.
ASD (Adaptive Software Development)
ASD embraces the principle of continuous adaptation of the processes to the project. It consists of repeating series of speculate, collaborate and learn cycles. Characteristics of ASD includes: mission focused, feature based, iterative, timeboxed, risk driven and change tolerant.
DSDM was first released in 1994 to provide guidance on Rapid Application Development (RAD) and was primarily focused on software development. DSDM has evolved over the years to become a generic approach for Agile project management and solution delivery by providing a comprehensive foundation for planning, managing, executing, and scaling agile and iterative software development projects. DSDM is based on 9 key principles that primarily revolve around business needs/value, active user involvement, empowered teams, frequent delivery, integrated testing, and stakeholder collaboration. By utilizing DSDM, costs, quality and time are fixed. DSDM singles out “fitness for business purpose” as the primary criteria for delivery and acceptance of a product. It makes use of the MoSCoW prioritization principles to deliver values which is based on the principle that “80% of features can be deployed in 20% of the time”.
FDD is a feature-driven methodologies that consists of short iterations (two weeks). It makes use of a “design by feature, build by feature” approach where features through a client perspective. FDD adapts the project development process around feature delivery by making use of the following 8 practices: Domain Object Modeling, Developing by Feature, Component/Class Ownership, Feature Teams, Inspections, Configuration Management, Regular Builds, Visibility of Progress and Results.
Kanban is a scheduling system used in Lean and JIT (Just-in-time) production. When applied to software development, kanban is a “pull-based” planning and execution method. For software development teams, “cards” representing tasks to be done are kept on a Kanban Board which is organized into columns and rows. The columns represent the status, i.e. from initial planning, work-in-process through customer acceptance. The status can be tailored to find the project context. The rows contain the tasks to be performed. Since Kanban focuses on maximizing throughput, a limit would be set on the maximum tasks in the Work-in-Process (WIP) column to avoid bottlenecks. Queues or inventories of work in any state are seen as waste. The WIP limit allows the team to focus on optimizing the flow of work items through the work processes, thereby achieving process optimization at a sustainable pace.
Conclusion: PMI-ACP® Exam Study Notes – Agile Methodologies
This PMI-ACP® exam study note gives an overview of all the different Agile Methodologies that would be tested on the PMI-ACP® exam including XP (eXtreme Programming), Scrum, LSD (Lean Software Development), Crystal Family, ADS (Adaptive Software Development), DSDM (Dynamic Systems Development Method) Atern, FDD (Feature Driven Development) and Kanban.