Chapter 2. Predictive, Agile and Hybrid Aproaches Flashcards
What is the basis of a Predictive approach?
To “predict” how things should unfold, you execute that plan and make adjustments as needed.
A predictive approach is also known as what?
A waterfall approach, since activities naturally cascade from planning to executing to monitoring and controlling to closing.
What is the basic cycle for predictive approach laid out by W. Edwards Deming?
Plan - Do - Check - Act
Closing activities for a predictive approach include what?
Documenting lessons learned, creating project archives, releasing the team and preparing final reports.
What approach has no project manager or project plan, and was originally created to be applied to software projects?
Agile
What is the basic cycle of an Agile approach?
Plan a little - Executive - Deliver - Adapt, Then Repeat
All agile methodogolies support what concept?
Individuals and interactions over processes and tools
Manifesto for Agile Development:
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
How is the Manifesto for Agile Develeopment, or Agile Manifesto, used?
As a guiding principle. Expert practitioners are going to disagree on details but what’s implemented should not conflict with the 4 main principles of the manifesto. The Agile Manifesto wins!
What is the first paired core value of the Agile Manifesto and what do you need to know about it?
“Individuals and interactions over processes and tools”:
- Project accomplished by people. Processes and tools help people, but they do not get the work done.
- Processes and tools should not get in the way.
- Pragmatic line of thinking, trading convention for what works
- Processes and tools may be altered or left out, based on what works
- Heavy emphasis on teamwork and shared ownership (IT related, code belongs to team, not just who wrote it)
- Requires a strong team with healthy interactions to work
What is the second paired core value of the Agile Manifestor and what do you need to know about it?
“Working software over comprehensive documentation”
- Promotes self-documenting code vs writing out documentation
- It is working software (not documentation) that delivers high value to the customer and users
- Progress is tracked and reported according to how much working software is developed over time
- Some documentation is beneficial, so idea is “barely sufficient documentation,” with any written documentation created tied to the value it creates for the customer, now or in the future
What is the third paired core value of the Agile Manifestor and what do you need to know about it?
“Customer collaboration over contract negotiation”
- Embraces the idea that the closer you are to the customer, the better.
- Customer is best person to specify what he or she wants, even when the process involves trial and error.
- Idea is to work towards enhancements/changes that are mutually benefial to everyone.
- Agile puts you and customer on the same side of the table
- Will still be a contract but idea is to work with the customer, not against them
What is the fourth paired core value of the Agile Manifestor and what do you need to know about it?
“Responding to change over following a plan”
- Embraces the notion that new avenues and possibilities are constantly being opened
- Can be applied easier to software/IT projects. Sometimes difficult to translate to construction or aircraft projects that do not always handle change particularly well. Change often discourage on projects involving civil engineering, for example.
What are the Agile principles?
(1) Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- To get product quickly in hands of the customer to gain valuable feedback.
(2) Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitite advantage.
(3) Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter time scale (i.e. Scrum iterations = 1 month, XP iterations = 1 week).
(4) Business people and developers must work together daily throughout the project.
- Gap removed by having them work in shared space
(5) Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- Opposite of top-down management
- Avoids micromanaging
(6) The most efficient and effective method of conveying information to and within a developement team is face-to-face conversation.
- Embraces informal oral communication
- Entire team generally has access to all conversations
- Incorporates “osmotic communication,” where team members pick up information just by being in same room where conversation is taking place
(7) Working software is the primary measure of progress.
- Documents shouldn’t become a liability or hinderance to project.
- Value conveyed through results
(8) Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Idea is to optimize performance across the contract, prevent burnout, and avoid big push at the end of the project.
(9) Continuous attention to technical excellence and good design enhances agility.
- The better the design, the easier to maintain and change.
(10) Simplicity - the art of maximizing the amount of work not done - is essential.
- Big part of “Lean,” focuses on maintaining consistent focus on customer value and be ruthless in cutting activities that do not add value.
(11) The best architecture, requirements, and designs emerge from self-organizing teams.
- Focus on self-organization and cross-functionality, giving team ability to determine how work is allocated and who will work on what.
(12) At regular intervals, the team reflects on how to become more effective then tunes and adjusts its behavior accordingly.
- Accomplished through “retrospectives,” with each iteration of work regularly reviewed and evaluated for improvements. Involves daily stand-up meetings (approx 15 minutes).
Focus = customer value
What is a key difference between Predictive and Agile project management?
Predictive project management views changing requirements with unease, while Agile embraces them. Agile expects the requirements will change and welcomes those changes.
What are the 6 declarations of the Declaration of Interdependence for Modern Management (important to understanding of Agile process)?
(1) We increase return on investment by making continunous flow of value our focus.
(2) We deliver reliable results by engaging customers in frequent interactions and shared ownership.
(3) We expect uncertainty and manage for it through iterations, anticipation and adaptation.
(4) We unleash creativity and innovation by recognizing that individuals and the utlitimate source of value, and creating an environment where they can make a difference.
(5) We boost performance through group accountability for results and shared responsibility for team effectiveness.
(6) We improve effectiveness and reliability through situationally specific strategies, processes and practices.
Team structure of Agile?
- No Project Manager
- Guided by self-organizing principles
- Generally made up of 8 +/- team members, including development team, product owner, and agile coach.
- Team kept small to avoid unwieldy, group meetings that are too long, and hinder productivity…. but not too small, to ensure team does not have difficulty making commitments and decisions.
Who is the Agile customer?
- The product owner, and is considered part of the team. Also thought of as the stakeholder representative (users representative).
- The customer works with a sponsor to ensure project funding and create inital backlog of features and a release plan.
- The customer writes the user stories and relays that information, and their value, to the rest of the team.
A product backlog does what?
Lists all functionality planned for the project.
What are the characteristics of Agile team members?
- Self-organizing
- Highly interchangeable (generalists rather than specialists)
- Cross-functional, or have “T” shaped skills, with a depth of knowledge in specific functional areas, as well as broard skills that make them versatile.
- Allows for team members to cover for one another, as needed
Team members with only a narrow specialist are referred to as what in Agile?
As having “i shaped” skills, less desirable in Agile.
What is an Agile iteration of work referred to?
A velocity
Where does responsibility on an Agile team lay?
On the team, not the individual. The amount of team in an iteration, or velocity, is emphasized, while individual productivity is not.
What is an Agile Coach?
- A servant leader responsible for helping the team follow Agile practices, and helps integrate Agile proactices into the corporate culture.
- One who helps eliminate obstacles.
Who are Agile Stakeholders?
Anyone with an interest on the project. In Agile, looked at as being external to the Team.
What is the “Cone of Uncertainty?”
In Agile, this is the decrease of uncertainty over the life of a project. the more the team develops, the more the project evolves and the more time that passes, the estimates should become more refined and less uncertain.
What is the emphasis on decision-making in Agile?
Rapid, customer value
What is a product vision statement?
Statement, usually from product owner, that sets the expectations for the product - what it will be, why it is being developed, who will use it, why they’re paying for it, and where it fits into their mission or the marketplace.
What is a product roadmap?
An evolving overview that shows each planned release and the features that will accompany those releases. Usually maintained in a very visible area for the team and stakeholders.