PMI ACP 1 Flashcards
What does waterfall place emphasis on?
Emphasis on planning and control to achieve predictability
What does agile place emphasis on?
Emphasis on flexibility and adaptivity for a fast-paced and rapidly changing environment
Emphasis on maxing business value and more collaboration with business users
Reduces unneeded documentation
Agile is NOT a single, discrete methodology
What is the role of a project manager in Agile?
Project Managers should put correct people, processes, and tolls in place to get the project on the right track.
They should only intervene when needed
What is the Macro and Micro layers of Agile?
Macro Layer is the traditional project management layer that consists of the project charter and the project schedule
Micro Layer is the development layer based on scrum.
It includes:
- Product Backlog
- Sprint Backlog
- Sprint
These 3 deliver a working increment of the software
Dynamic Systems Development Method (DSDM)
Prioritizes time, quality, and cost as fixed standards, while features are more variable - lower priority requirements are dropped
vs. traditional project management, where features are set and quality, timeline, and cost can change if not all features can be met
A type of hybrid Agile used outside the US
MOSCOW
A requirement prioritization approach
- Must Have
- Should Have
- Could Have
- Will Have
Value Driven Delivery
- Defines Positive Value
- breaks requirements up into distinct deliverables
- be able to prioritize items by value - Avoid downslides
- Prioritization (risk reduction/resolution of defects)
- Incremental Development
What is the flow of a Waterfall project?
- Defines Requirements (change control is used here so requirements are set to define the timeline)
- Design the solution
- Test/Implement the solution
- UAT
Good for low uncertainty projects
Cons of Waterfall projects
Problems are not discovered until final testing and
limited customer feedback until UAT
There is control over the requirements: not responsive to changes
What is the flow of an Agile project?
- Break up projects into short intervals to deliver results quickly and incrementally
- Have 2-4 week sprints, then Product Owner reviews deliverables with end users
- Close partnership with business users throughout
- Less time spent upfront defining requirements
Pros of Agile
Adaptability
Quicker time to market
Reduced Costs (less documentation overhead)
Higher Customer Engagement and can react to changes quickly, vs document upfront at start of project
Builds trust/shared responsibility in organization
4 Values of The Agile Manifesto
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
12 Key Principles of The Agile Manifesto
- Highest priority is satisfying the customer via early and continuous deliverables
- Welcome changing requirements, even late in development
- Deliver frequently
- Business users & developers should work together daily
- Build projects around motivated individuals & trust them
- Have face-to-face conversations
- Working software is the primary measure of progress
- Agile promotes sustainable development
- Attention to technical excellence and good design enhances quality
- Simplicity (maxing amount of work not done for ‘just barely enough’)
- self-organizing teams
- Retros (team reflects on how to be effective and adjusts as needed)
Defined Process Control Model
Process is repeatable and doesn’t change from 1 project to the next (i.e. process to build a car)
Controlled/limited opportunities for changing requirements mid-project (predictable process)
Pros and Cons of Defined Process Control Model
Pros: Predictable results and control over scope/costs/schedule
Cons: Inflexible, emphasis on control (extra overhead)
Empirical Process Control Model
Adaptive process and can be adapted to fit different kinds of projects
Can be changed to meet uncertain requirements
Changing requirements is encouraged as project progresses to max business value
Pros and Cons of Empirical Process Control Model
Pros: Adaptive to changing requirements
Less overhead and reduced time to market
Cons: Less predictable in terms of costs and schedules
Ideally, you would want a mix of both Defined Process and Empirical Process Control Models
Total Quality Management (TQM)
Instead of inspecting for defects at the end, emphasis is placed on going upstream in the process and building quality into products as they were built, and to eliminate defects at the source
Emphasis prior to Total Quality Management (TQM)
Prior to TQM, emphasis was on inspection to find defects
However, inspection requires sampling, and you can’t check every one. Quality is the sole responsibility of the inspector, and no one else
When defects are found, it requires a lot of rework
5 Key Points of TQM
- Cease dependence on inspection - build quality in product
- Emphasis on Human Aspect of Quality
- Need for cross-functional collaboration and transformation
- Importance of leadership
- Ongoing and continuous improvement
5 Points of TQM: Cease dependence on inspection
Instead of it just being QA’s job to find defects, everyone in the organization should be responsible.
QA should be an integral part of development
Testing should be done in parallel to development instead of at the end
UAT shouldn’t just be done at the end - it should take place continuously
5 Points of TQM: Emphasis on Human Aspect of Quality
Institute education, self-improvement, and on the job training
Instead of a top-down, oppressive management, build motivation, ownership, engagement, and commitment to quality
Instead of repetitive, siloed tasks, Agile empowers teams to contribute and make process improvements/individual decision making
5 Points of TQM: Need for cross-functional collaboration and transformation
Break down organization barriers and have people collaborate instead of polarized interests
Instead of a contractual relationship between the business and developers, Agile should result in a partnership between the 2
5 Points of TQM: Importance of leadership
Servant leadership: user adaptive, empowered leadership approach
Team accountability vs individual accountability
5 Points of TQM: Ongoing and continuous improvement
Constantly improve quality/productivity to decrease costs
Have retros at the end of the sprint to incorporate lessons learned quicker
Lean Manufacturing
Focused on eliminating waste (things that don’t add value) and streamlining processes across the entire value stream instead of just at isolated points
Doing more with less
Optimize the flow of products/services through the entire value stream that flows across technologies, assets, and departments to customers
Value Stream Mapping
Optimize the flow of products/services through the entire value stream that flows across technologies, assets, and departments to customers
(i.e. traditional flow of supplies has a distribution center in the middle before it goes to the retailer. Value stream mapping would utilize production driven by demand to eliminate distribution centers and send stuff from supplier straight to store)
What was the primary approach to manufacturing prior to lean manufacturing?
Push Process
Push Process
Production was forecasted far in advanced - similar to waterfall
Raw materials were ordered based on forecast
Relationship to suppliers more contractual versus a relationship
Pull Process
Used by lean manufacturing - similar to Agile
Productive driven by demand
Manufacturing capacity is dynamic and gets adjusted to fit demand
Relies on just in time delivery of materials (eliminates the distribution center in between the suppliers and the retail store)
3 types of ‘work’ in any process
- Value Added Work
- Non-Value Added Work
- Waste
Value Added Work
Produces value to meet the customer requirements
Non-Value Added Work
Not directly required to produce customer value, but required for other reasons such as meeting regulatory requirements, legal requirements…etc.
Waste
Steps that consume resources, but adds no value
Lean Systems Engineering
Customer-driven systems engineering process
Economical planning and managing complex systems
Free of excess waste and non-value added activities
Just Enough/Just in Time
Adaptable to change based on market or requirement conditions
5 Lean System Engineering Principles
- Value
- Map the Value Stream
- Pull
- Flow
- Perfection
5 Lean System Engineering Principles: Value
Focus on activities that give customer value/satisfy customer needs
5 Lean System Engineering Principles: Map the Value Stream
Plan to develop only what is needed
Plan leading indicators/metrics to manage the project
5 Lean System Engineering Principles: Pull
Tailor tasks and pull only needed tasks
Reject others as waste
5 Lean System Engineering Principles: Flow
Eliminate bottlenecks
Clarify and prioritize requirements early
Make progress visible and communicate
5 Lean System Engineering Principles: Perfection
Continuous improvement
Prefect leadership and communications
Drive out waste through design and process standardization
Learn from mistakes
What does Lean Systems Engineering place emphasis on?
Emphasis on standardization of processes to achieve efficiency and perfection
Agile Manifesto Values:
Individuals and interactions over processes and tools
Don’t let the process control you
Be flexible: processes exists, but should reply more heavily on people and their interactions
Agile Manifesto Values:
Working software over comprehensive documentation
Waterfall requires documentation at the end of each phase as a deliverable
In Agile, collaboration and communication can replace hard copy documentation
Agile Manifesto Values:
Customer collaboration over contract negotiation
In Waterfall, there is a contract to meet defined requirements (fixed requirements) on a schedule
In Agile, both sides acknowledge requirements can be uncertain and are open to redefining requirements and manage costs and tradeoffs
Agile Manifesto Values:
Responding to change over following a plan
Waterfall attempts to control changes and manage the scope of the project (i.e. construction has clear blueprints prior to starting)
Agile doesn’t do detailed planning at the beginning. It does some planning upfront, but most of planning is done further along, using a ‘rolling wave’ planning process
Agile Manifesto Principles:
Highest priority is to satisfy customers through early and continuous delivery of valuable software
Waterfall: User doesn’t see product until the end, so it’s hard to change at this point
Agile gets feedback throughout so corrections can be easy
Working software is a good measure of progress
Breaks up effort into well-defined pieces that have a clear definition of done as a way to measure progress
Agile Manifesto Principles:
Welcome changing requirements, even late into development
Welcomes and expects change instead of limiting and controlling it
Manages change effectively based on mutual partnership with the customer
Project team and customer should have mutual understanding upfront of how change will be managed
Agile Manifesto Principles:
Deliver working software frequently
Continuous improvement: learning at the end of each sprint
People work better in short time boxes
Fail fast and fail early, so you can fix mistakes early
Agile Manifesto Principles:
Business people and development teams must work together daily throughout the project
‘Collaboration over contracts’
Both business and team should feel responsible for project completion
Agile Manifesto Principles:
Build projects around motivated individuals
Support team members and trust them to get the job done
Don’t use high pressure, command and control tactics to get teams to deliver faster
Have high-level empowerment and individual initiative: give team general expectation/direction and let them figure out how to get it done
Adapt leadership style to fit the situation
Agile Manifesto Principles:
Most efficient and effective method of communication is face to face
Face to face conversations versus waterfall method of lots of documentation
Right mix of communication will depend on scope and complexity of the project and the distribution of the team
What is the traditional method of progress?
Traditional method of progress is to break a project into tasks and track the percentage completion of those tasks
Can be misleading if the list of tasks is incomplete, and definition of ‘complete’ can be subjective
Also, testing of software is done at the end, but if it fails the tests, it’s not actually done
Definition of done in Agile
Usually means the software has been tested and accepted by the end user
Agile processes must have a clear definition of done defined
Agile Manifesto Principles:
Working software is the primary measure of progress
Most accurate measure if progress is to break up a project into chunks of functionality where each chunk of software can be demonstrated to the user for feedback and acceptance
Agile Manifesto Principles:
Agile processes promote sustainable development
The sponsors, developers, and users should be able to maintain a constant pace indefinitely
Creates environment where work is sustainable over a long period of time
Agile Manifesto Principles:
Continuous attention to technical excellence and good design enhances agility
Makes sure we are not just working to get it out the door
Agile recognizes the need to do things right and avoid rework
Should use concept of just barely good enough, and not ‘gold plating’ a project
Just barely good enough
Work should be done to a sufficient level of completeness to full business requirements, and nothing more
Going beyond this is considered waste
Agile Manifesto Principles:
Simplicity is essential
Art of maximizing the amount of work not done
Projects often go out of control because requirements become too complex and difficult to implement (‘gold plating’)
Don’t overdesign. Start with t he basics and expand later
What is needed to get the minimum viable product
Minimum Viable Product
Defines the minimum set of functional features a project has to have to be viable at all in the marketplace
Agile Manifesto Principles:
The best requirements and designs come from self-organizing teams
Self organizing doesn’t mean no authority
It means empowering your team to user all the skills on the team and collaborate to deliver better results than a single individual could deliver alone
High performance, cross functional teams that work together can produce superior results
Agile Manifesto Principles:
At regular intervals, the team reflects on how to become more effective, then adjusts behavior accordingly
Agile is big on continuous improvement and using short intervals to reflect on what works and what doesn’t at the end of each sprint
Benefits of a more agile approach
- Adaptability (fit methodology to the project)
- Time to market (accelerate delivery of valuable functionality)
- Reduced Costs (lean thinking and value stream analysis to reduce waste)
- Customer Satisfaction (engage with customers to directly get feedback quickly)
- Organization Agility (builds trust and shared responsibility in team and break down organization barriers)
How does Agile accelerate the start up phase of a project?
Agile accelerates the startup phase by decreasing some of the upfront planning done in waterfall
They use an iterative approach to at least deliver a portion of the project to market
Streamlines the process to reduce extra overhead
What are the differences between Agile and Traditional Project Management?
- Emphasis on maximizing value versus control
- Emphasis on empowerment and self organization
- Limited emphasis on documentation
- Collaborative, cross-functional approach
Difference between Agile and Traditional Project Management:
Maximize value vs control
Traditional:
- emphasis on planning and control
- decisions based heavily on managing costs and schedules
- project manager primarily responsible for success of project
Agile:
- emphasis on producing value by getting user input as project progresses
- decisions based on maximizing business values
- product owner has primary responsibility for success of project
Difference between Agile and Traditional Project Management:
Emphasis on empowerment and self organization
Traditional:
- team works under direction
- project manager plays active role to lead project team
Agile:
- team is self-organized/empowered
- scrum master plays a servant leader facilitation role, but most of the organization is from the team
- prioritize and organize team’s own tasks
Difference between Agile and Traditional Project Management:
Limited Emphasis on Documentation
Traditional:
- heavy emphasis on documentation
- documentation is a key deliverable for the project
- project manager is key to creating and managing the documentation
Agile:
- emphasis on producing results quickly
- documentation is used to provide value only as needed
- less project documentation required
Difference between Agile and Traditional Project Management:
Collaborative, cross functional approach
Traditional:
- contractual relationship between business and project teams
- requirements are documented prior to start of the project
- project team owns responsibility for completing project
Agile:
- partnership relationship between business and project team
- requirements are expected to evolve over time
- business and project team share ownership responsibility for project completion
Systems Thinking
Utilizes habits, tools, and concepts to develop an understanding of the system
Is a vantage point from how you see a whole, a web of relationships, rather than focusing on only the detail of any particular piece: events are seen in the larger context of a pattern that is unfolding overtime
Seeing/understanding systems as wholes, rather than a collection of parts. A whole is a web of interconnections that creates emerging patterns
Develop a mental model of the system to understand cause/effects that drives business results
False dichotomy with Agile vs Waterfall
People often see Agile and waterfall as a binary decision on which can be used, but it is not
(False dichotomy is a situation in which 2 alternative points of views are presented as the only options, whereas others are available)