PMI-ACP Tools and Techniques: Agile Analysis And Design
[PMI-ACP® Exam Study Notes] Agile Analysis And Design is one of the ten Tools and Techniques for the PMI-ACP® exam. The “Tools and Techniques” accounts for a total of 50% of all the questions to be found on the exam paper. According to the PMI-ACP® exam content outline, Agile Analysis And Design includes Agile product roadmap, user stories/backlog, story maps, progressive elaboration, wireframes, Agile project chartering, personas and Agile modeling.
PMI-ACP® Exam Importance: around 3-6 questions (~5% of all questions)
Article Highlights
PMI-ACP® Tools and Techniques: Agile Analysis And Design
- Agile analysis and design involves analyzing the product backlog, prioritizing the backlog items, creating story maps and elaborating the design progressively
- Requirement Hierarchy: Epics -> Features -> User Stories -> Tasks
- Agile Product Roadmap
- a high-level view of product features (theme / epic for the imminent product releases) to support the product vision
- to categorize and prioritize requirements and to suggest the release schedule
- The customer [Scrum: Product Owner] creates and owns the project vision (revisited annually) and product roadmap (revisited twice a year)
- also includes a list of customer required features, the architecture needed to support them and the business value of the releases
- User Stories
- user stories: user requirement (small bite-sized understandable chunks of business functionality) written on small cards with the typical template of
As a <type of user>, I want <some goals> so that <some reasons>; OR
Given <a situation>, when <some actions>, then <some actions> (useful for non-functional / system-based requirements)
- user stories must provide values to the customer and be INVEST:
- Independent – user stories can be re-prioritize and developed in any order
- Negotiable – can be negotiated between development team and customer
- Valuable – can add value to the project
- Estimatable – can be estimated for the efforts involved
- Small – keep user stories small, i.e. between 0.5 – 10 days
- Testable – can be tested to confirm completion
- user stories is preferable if it impact all architectural layers of the systems:
- presentation layer
- validation layer
- business layer
- database layer
- User Story vs Use Case
- Use Case is used for written communication for projects following Agile Unified Process. The description is more elaborated (i.e. long and detailed).
- User Story is used for general Agile projects as backlog items
- user stories: user requirement (small bite-sized understandable chunks of business functionality) written on small cards with the typical template of
- Backlog / User Story Backlog
- a backlog is a collection of prioritized user requirements, usually expressed as user stories
the product backlog will become inputs to the release planning - product backlog: is a list of requirements (as user stories) to be implemented in the product, updated by the product owner [in XP, the term user stories is used]
- iteration backlog: a list of tasks, with time estimation, to be performed by individual team member on daily basis, updated by team members
- if the items on the iteration backlog cannot be finished in the iteration, the item is put back to the product backlog
- defect backlog: a list of bugs and issues
- non-functional backlog: a list of process improvement / quality / system items
- a backlog is a collection of prioritized user requirements, usually expressed as user stories
- Story Maps
- story maps: a way to arrange related user stories into a structured model to help team members to understand the big picture of the requirements and the product
- core requirements / features are grouped into each release
- additional features will be left for subsequent releases
- functional dependencies can also be visualized
- help to prioritize user stories for roadmap / release planning
- story maps: a way to arrange related user stories into a structured model to help team members to understand the big picture of the requirements and the product
- Wireframes
- a prototyping tool to visualize functional / behavioral arrangements (the relative prioritization) without going into the details of visual design
- useful for products with human-computer interaction (e.g. user interface UI)
- focuses on “what a screen does, not what it looks like”
- Personas
- a character created to represent the attributes of a group of typical product users
- provide archetypal descriptions of users
- goal-oriented, specific and relevant
- can be based on a real person or composites of multiple users (must be grounded in reality)
- tangible and actionable
- to generate focus, e.g. when determining whether a feature is needed, can ask questions like “does Personas David need it?”
- assist in decision making on features/functionality, priority and visual design
- augment requirements
- includes: name, photo, description, values, tasks to perform, etc.
- a character created to represent the attributes of a group of typical product users
Agile Analysis And Design Tools and Techniques
- Agile Project Chartering
- The project charter is a formal document to justify, explain, define and authorize a project including the following elements (at a minimum):
- Vision: “why” of the project (purpose)
- Mission: “what” of the project (what will be done)
- Success Criteria: “how” to define success
- Addresses the 5W1H of the project (Why, What, Who, When, Where, How)
- Can be detailed and formally approved or barely sufficient
- Unlike the PMBOK® Guide, there is no pre-defined formal process in Agile to create the project charter
- Must be created for Agile projects and traditional projects alike
- The project charter is a formal document to justify, explain, define and authorize a project including the following elements (at a minimum):
- Progressive Elaboration
- over time the team’s knowledge about the product increases which allows more elaborated insights into the work packages so that estimations and planning will become more accurate
- including plans, estimates, risks, tests, requirements, etc.
- e.g. breaking down of user stories into tasks is done only for backlogs in the current iteration (just-in-time elaboration)
- to delay making commitment which will reduce wastes
- also known as Rolling wave planning: an iterative planning technique making use of progressive elaboration to only elaborate on near-term work plans while keeping future work plans with bare details
- over time the team’s knowledge about the product increases which allows more elaborated insights into the work packages so that estimations and planning will become more accurate
- Agile Modeling
- Agile Modeling in details
- Agile Modeling a practice-based methodology (including a collection of values, principles, and practice) for effective modeling and documentation of software-based systems based on best practices
- a model is a pre-defined way of doing things
- more flexible than traditional modeling methods (e.g. requirements collection -> specifications drafting -> specifications approval -> development -> testing -> launch) to fit fast-changing environments
- Agile modeling can be tailored, used alone and is supplementary to other Agile methodologies (e.g. XP, RUP)
- five core values of Agile modeling:
- communication – good communication is a must
- simplicity – keep it simple
- feedback – constructive and valuable feedback from customers/team
- courage – have courage to try new ways of doing things
- humanity – human at the centre
- best practices:
- Just barely good enough (JBGE) artifacts (the KISS principle)
- Architecture envisioning at the beginning for a viable technical strategy
- Lookahead modeling is used to reduce overall risk.
- Multiple models to fit the use
- Active stakeholder participation
- Requirements envisioning at the beginning to identify the scope of the project
- Prioritized requirements according to values
- Iteration modeling as part of the iteration planning
- Test-driven development (TDD) – a JIT approach to write requirements as tests
- Model storming on a just-in-time (JIT) basis for requirement/design issue.
- Document continuously
- Document late
- Agile Modeling a practice-based methodology (including a collection of values, principles, and practice) for effective modeling and documentation of software-based systems based on best practices
- also refers to the various modeling techniques that are commonly used on Agile projects
- examples
- use case diagrams
- data models
- screen designs
- Agile models are often lightweight (often hand sketched without being polished) and recorded with photography
- better be lightweight, easy to change and barely sufficient
- examples
- Agile Modeling in details
Summary: Agile Analysis And Design
This PMI-ACP® Exam Study notes touches upon one of the many tools and techniques of the PMI-ACP® exam syllabus – Agile Analysis And Design. Agile Analysis And Design knowledge includes Agile product roadmap, user stories/backlog, story maps, progressive elaboration, wireframes, Agile project chartering, personas and Agile modeling.
Most Popular PMI-ACP Certification Articles
- Top 10 Tips to Prepare for the exam (I got all Proficient in my exam)
- How to Get 21 Contact Hours?
- Over 600+ FREE Quality Mock Exam / Practice Questions