Tổng hợp ghi chú Agile FDD, DSDM, Crystal Family Note – Luyện thi PMI-ACP
Feature-Driven Development (FDD), Dynamic Systems Development Method (DSDM) and Crystalare other Agile methods mentioned in the PMI-ACP® Exam syllabus. This post is about the guidance principles and practices, etc. of FDD, DSDM and Crystal. According to the experiences of PMI-ACP® aspirants, these Agile frameworks are seldom tested on the PMI-ACP® Exam.
Feature-Driven Development (FDD) Agile Model
Feature-Driven Development (FDD) is a simple but powerful Agile model for product or software development involving the following steps:
- Develop an overall model
- Build a feature list
- Plan by feature
- Design by feature
- Build by feature
Good practices of FDD
- Domain Object Modeling – explore and explain the domain of the project / problem
- Developing by Feature – breaking down requirements into small features (for 2-week iterations)
- Individual Class (Code) Ownership – individuals own parts of the code for consistency and integrity (opposed to the collective code ownership of XP)
- Feature Teams – form “teams within team” to create multiple design options and select the best to proceed
- Inspections – frequent review of the code
- Configuration Management – tracking changes to the code repository and maintain a “trunk” code
- Regular Builds – new codes are to be integrated with the existing codes frequently through regular builds
- Visibility of Progress and Results
FDD makes use of Cumulative Flow Diagrams (a chart showing what are in progress and what have been completed to visualize and track the progress) and Parking Lot Diagrams (a one-page summary of project progress) as one of its tools.
Dynamic Systems Development Method (DSDM) Agile Model
The Dynamic Systems Development Method (DSDM) project lifecycle is very detailed and broad, covering business case development / feasibility study to post project tasks.
The DSDM lifecycle includes:
- Feasibility / Business
- Functional Model Iteration
- Design & Build Iteration
Eight Principles of DSDM
Dynamic Systems Development Method (DSDM) centers on eight principles which are closely aligned with the Agile Manifesto:
- Focus on Business Need
- Deliver on Time
- Never Compromise Quality
- Build Incrementally from Firm Foundations
- Develop Iteratively
- Communicate Continuously and Clearly
- Demonstrate Control
DSDM allows the use of certain “filters” to help determining which processes are needed or not for a particular project nature / scope.
Crystal Agile Model
Crystal Agile methodologies is in fact a family of methodologies designed for different team sizes and criticality, e.g. Crystal Clear (small team with low-criticality systems) andCrystal Magenta (large team with high-criticality systems).
with the increase in team sizes and project criticality, Crystal methodologies introduce changes to the processes (called scaling)to fit the projects in order to secure project success.
Core Principles of Crystal
- Process Tailoring – tailor the processes (including requirements, rules, etc.) to the actual needs of the project (depending on the sizes, number of teammates, nature, etc.)
- Frequent Delivery
- Reflective Improvement – checking for ways to improve
- Osmotic Communication
- Personal Safety – people can safely raise questions and issues
- Easy access to Expert Users
- Technical Environment – automated tests, frequent integration and configuration management