Agile Practice Guide
Two Principles Motivate Change management in agile contexts:
- Changes associated with accelerated delivery (the receiving org isn't always ready for the products getting released quickly and frequently) - Changes associated with agile approaches (orgs that just started using agile may require more frequent handoffs between teams, depts, etc.)
3 Common Agile Roles:
1. Cross-functional team members (designers and developers and testers and anyone else required to get work done). These teams can deliver completed work in the shortest possible time. EX: TECH TEAM 2. Product owner (responsible for guiding the direction of the product, and as such, rank the work based on business value). They provide feedback and set direction on function development. TYPICALLY HAVE A BUSINESS BACKGROUND AND SME. They create the backlog for AND WITH the team. EX: ALLESANDRA 3. Team facilitator - SERVANT LEADER (also called project manager, scrum master, project team lead, team coach). Sometimes orgs bring in an external agile coach at first. EX: IAN
Common Roadblocks to achieving org change
1. Departments work in silos, creating dependencies that prevent accelerated delivery instead of building cross-functional teams 2. Procurement strategies are based on short term-pricing (??) 3. Leaders are rewarded for local efficiencies rather than end-to-end flow of project delivery or optimizing the whole org 4. Employees are I shaped instead of T 5. Decentralized portfolios pull employees into too many projects
Four responsiblities of servant leaders:
1. Educate stakeholders around why and how to be agile 2. Support the team through mentoring and support 3. Help the team with tech project management activities 4. Celebrate team successes and support and bridge building activities with external groups
5 Ways to Assess Org Readiness for Change
1. Exec management willingness 2. Org willingness to shift the way is views, reviews, and assesses employees (empowers them more basically and hears them out more) 3. Centralization or decentralization of project or program management functions (agile all about pulling the PM out of the central role) 4. Focus on short term budgeting and metrics over long term goals 5. Talent management maturity
What are the two reasons that more people are using agile approaches now?
1. Exponential advances in technology 2. Customer demands for more immediate delivery of value
Three main objectives of servant leaders:
1. Facilitate (help everyone else do their best thinking and work). they promote collab and conversation. 2. Remove org impediments (look at processes that are lengthy and causing bottlenecks, allow the team to spend more time working) 3. Pave the way for others to contribute (because agile teams manage work processes and products)
Twelve Clarifying Principles of Agile
1. Highest priority is satisfying the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development 3. Deliver working software frequently (from a couple of weeks to a couple of months) 4. Business people and developers must work together DAILY throughout the project. 5. Build projects around motivated individuals. Give them the environment and support that they need to get the job done. 6. Best way to convey information is face-to-face conversation. 7. Working software is the primary measure of progress 8. Agile processes promote sustainable development (people should be able to maintain a constant pace indefinitely). 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity - the art of maximizing the amount of work done - is essential. 11. The best designs and requirements emerge from self-organizing teams. 12. At regular intervals, the team should reflect on how to become more effective.
Four Values of the Agile Manifesto
1. Individuals and interactions over processes and tools 2. Working software over comprehensive documentation 3. Customer collaboration over contract negotiation 4. Responding to change over following a plan
Ways to pursue win win customer collaboration (in procurement realm)
1. Multitiered structure (dont live in one master doc; describe diff aspects in diff docs -- master agreement, schedule of services, statement of work, etc). 2. Emphasize value delivered (look at deliverables more than phase/kill gates) 3. Fixed price increments (decompose scope into multiple fixed price micro-deliverables) 4. Early Cancellation option 5. Time and material limits (not to exceed) 6. Dynamic scope option (flexible as project goes) 7. Team augmentation (embed supplier's services straight into customer org).
How to get an org ready to change:
1. Promote visible and active exec sponsorship 2. Communicate and coach on change management 3. Progressively pace the adoption of agile practice on a project by project basis 4. Incrementally introduce agile practices to the team 5. Lead by example by using agile techniques and practices where possible
TAILORING OPTIONS TABLE: 1. Steady or sporadic demand pattern 2. Rate of process improvement required by level of team exp. 3. Flow of work is interrupted by delays 4. Quality of product improvements is poor 5. Multiple teams needed to build a project 6. Team members are inexperienced
1. Use flow-based agile with a cadence of some sort. 2. Retrospect more often and select improvements 3. Make work visible using a kanban board 4. Use test-drive development practices 5. learn about agile PM then craft an approach that fits the context/sit 6. train team members on agile fundamentals
2 main strategies to fulfill agile values and principles:
1. adopt a formal agile approach, designed and proven to achieve the desired result 2. implement changes to project practices in a manner that fits the project context (end goal isnt being agile for agile sake; make it fit the org)
Questions answered in an agile project charter
1. why are we doing this project? this is visionm 2. who benefits and how? this is part of the vision and the purpose 3. what does done mean for this project? this gives us release criteria 4. how are we going to work together? this gives intended flow of work
Ideal agile teams:
3-9 people, colocated in one space, 100% dedicated to the team, self-managing who does what work, limiting works in progress, cross-functional team members, mixed team of generalists and specialists, stable work environment
A feature chart combines _____________________. It shows how __________________
A burnup and burndown chart a project's total features change over time
Disruptive Technology
A new way of doing things that initially does not meet the needs of existing customers
Applying agile in stakeholder management
ALL ABOUT INVOLVEMENT AND ACTIVITY AND COLLABORATION. we talk to them directly rather than going through layers of management. these frequent interactions (a) build trust (b) mitigate risk and (c) support adjustments all about aggressive transparency
Applying agile in project quality management
Agile methods call for frequent quality and review checks built in throughout the project rather than all at the end; retrospectives also look at quality of the process and people's feeligns
Dynamic Systems Development Method
Agile project delivery framework designed to add more rigor to existing iterative methods; ALL ABOUT CONSTRAINT DRIVEN DELIVERY (whatever that is) all about collaborating, focusing on business, delivering on time, having high quality, build incrementally, developing iteratively, communicating lots, demonstrating control
Applying agile in Communication Management
Agile projects drive an inherent need to communicate more with the customer/stakeholders. they also make us want to collaborate and communicate more internally, ensuring everyone has access to necessary info and knows of flow of work
Applying agile in Project Integration
Agile projects engage the team members in integration. We empower the team to help in product planning and delivery. The PM (or team facilitator) focuses on building a collab decision making environment in which the team participates
Two clean types of hybrid life cycles
All agile (1,2,3) then all predictive (4>5>6) vs Agile & predictive simultaneous approach (1a1b, 2a2b, 3a3b)
Iterative Life Cycle
Allows feedback for unfinished work that is then improved and modified
Incremental
An approach that provides finished deliverables that the customer can use immediately
Agile term for shared workspaces versus quiet ones
Caves and commons
Agile
Combo of interactive and iterative
Execution Practices to help the team deliver value:
Continuous integration (frequently incorporate work into the whole) and then retest the larger product Test at all levels (feature and full system) Acceptance Test Driven Development (entire team gets together and discusses acceptance criteria for a work product) Test Driven Development (write automated tests before creating the product) Spikes (helps the team unearth new info, requirements or elements)
Crystal Methods
Designed to SCALE Uses diff colors based on weight to determine which methodology to use
Definable work projects have low levels of....... (2 things)
Execution uncertainty and risk
Agile Principles used in classrooms today:
Face-to-face interaction; meaningful learning; self-organizing teams; incremental or iterative learning
Three main lean concepts
Ficus on value; small batch sizes; elimination of waste
Two ways to up communication in dispersed teams:
Fishbowl windows (long live video conferences) remote pairing
Scaled Agile (SAFe)
Focuses on providing a knowledge base of patterns for scaling development across whole enterprise. - take an economic view -apply systems thinking - assume variability - build incrementally - base milestones on objective evaluations - limit WIP - DECENTRALIZE DECISION MAKING - SYNCHRONIZE WITH CROSS DOMAIN PLANNING - motivate workers
Enterprise Scrum
Framework used to apply scrum to holistic organization rather than a single project/product. it advises org leaders to: - extend the use of scrum across all parts of the org - Generalize scrum techniques to apply easily - scale thee scrum method with supplemental techniques
Two types of agile are.... Defining differences between the two are....
Iteration-based and flow-based iteration timeboxes are the same size and result in working tested features; in flow, the time it takes to complete a feature is not the same for each size, the team pulls feature from the backlog based on its capacity to start the work. all about WIP limits. THINK VARYING WIDTH FOR THE BOXES
Agile and the Kanban method are both subsets of _______________.
Lean thinking
____________ organizations find themselves competing with ____________ organizations and ___________ that are able to rapidly __________________________________
More mature; smaller, startups; produce products that fit customer needs.
Predictive Life Cycle (and other names)
More traditional with the bulk of planning happening upfront, then executing in a single pass
Agile ways of collaboration
Pairing - two programmers working together at the same workstation Swarming - as many team members as possible work simultaneously on the same priority item Mobbing - a style of work in which a team constantly works together and 'mobs' any issues that arise
Having dedicated team members is so important because.....
People only partially allocated to a project multitask; this reduces throughput of work for the team. People also experience productivity loss when task switching People also make more mistakes as they multitask
Characteristics of servant leadership:
Promote self awareness Listen Serve all on the team Help others grow Coaching vs controlling Promote safety, respect, and trust, Promote the energy and intelligence of others
Servant leaders approach work through the three Ps:
Purpose: help the team define the why so they can coalesce around the goal People: encourage the team to create an environmennt where everyone can succeed Process: don't look for the perfect process; look fore results
Iterative Cumulative Flow Diagrams map:
Response time, lead time, and cycle team
#1 priorities for incremental projects
SPEED OF DELIVERY
Non-software example of incremental
Show someone a single finished room of a house; show someone a car seat, rather than the whole car
eXtreme Programming give primary practices
Software development method based on frequent cycles; all about distilling a given practice to its simplest purest form sit together, whole team; pair programming, incrementally design; plan user stories on a weekly or quarterly cycle; use 10 minute build to integrate work
Velocity (used by ______________)
Sum of story point sizes for the features actually completed in the iteration (story points/time) iterative based agile teams
Document sharing, video conferencing, and virtual collaboration are all
TOOLS to help people collaborate
Backlog Refinement: Who does it? What's it used for? Many iteration based agile teams timebox it:
The product owner works WITH THE TEAM to prepare stories for the upcoming iteration Understanding how large stories are in comparison to one another At an hour halfway through a sprint
Predictive projects dont normally deliver business value until........
The very end of the project
Definable work projects (and examples)
Those characterized by clear procedures that have proven successful on similar projects in the past ex: constructing a car, building a home, etc.
SCRUM 3 roles
Used to manage product development; uses an iterative approach to deliver working product; runs on timeboxes scrum master, development team, product owner
Agile PMOs are three things:
Value-drive (all about customer collab) invitation-oriented (allow ENGAGED EMPLOYEES to work with them) multidisciplinary (offer courses, provide templates, manage stakeholders, recruit good team leaders, executive specialized tasks, etc).
Applying agile in Project Scope
We deliberately spend less time trying to define and agree on full scope early on (with the understanding the requirements will arise as we work); we build and review prototypes to validate scope and refine requirements
Iteration-based standup questions
What did I complete since the last one? What am I planning to complete today? What are my impediments?
Flow-based standup questions
What must we do to advance this work? Is anyone working on stuff not on the board? What must we finish as a team? Are there any bottlenecks or blockers?
Stacey Complexity Model
XY graph with requirements uncertainty and tech degree of uncertainty. It moves projects from simple > complicated > complex > chaos
Larger companies are left with no choice but to.......
adopt an agile mindset in order to stay competitive and keep their existing market share
Kanban
all about scheduling inventory and replenishment; thinking about grocery store restocking; KANBAN MEANS VISUAL CARD OR SIGN start where you are method all about flexibility (not bound by timeboxes) continuous delivery (flow of work to completion THEN you can start new work) and increased quality (result of limited WIP) increased efficiency, team member focys (only on WIP), reduction of waste.
4 parts of iterative life cycles
analyze > analyze design (with prototype loops) > rebuild test (with refine loops) > deliver
5 parts of predictive project life cycle
analyze, design, build, test, deliver
A retrospective is not about ________________. It's about looking at both ____________________________
blame qual data (people's feelings) and quant data (measurements)
Servant leadership is all about believing that everyone _____________
can grow and learn
Incremental: requirements, activities, delivery, goal
dynamic; performance once PER INCREMENT; multiple deliveries (that the customer can use at once); speed
Agile: requirements, activities, delivery, goal
dynamic; repeated until correct (for many increments); multiple deliveries; customer feedback & collab
Iterative: requirements, activities, delivery, goal
dynamic; repeated until correct; single delivery; pristine, correct solution (gained through feedback on prototypes)
Scales on which we assess org culture:
exploration vs execution speed vs stability quantity vs quality flexibility vs predictability
A servant leader ___________________ the project charteing process
facilitates.
Predictive: requirements, activities, delivery, goal
fixed; performed once; single delivery; manage cost
Applying agile in risk management
high variability environments, by definition, incur more uncertainty and risks. that's fine. we just address this by using adaptive approaches and more frequent reviews of incremental work. this ensures risks are identified and managed. work in agile projects can be reprioritized as the project progresses and more risks are identified
Applying agile in procurement
in agile, specific sellers may be used to extend the team. this collaborative working relationship can lead to shared risk procurement where both buyer and seller share risk AND rewards
In order to stay competitive, organizations can no longer remain ____________ focused; they must focus _______________________________.
internally; outwardly on the customer
Applying agile in project cost management
it's dumb to try to completely calculate cost early on in agile (due to changing reqs); instead, we use lightweight estimations methods to generate fast and high-level forecasts of projected labor
The larger and older an org is, the ___________________________. For that reason, it makes sense _______________________>
longer it will take to transition to agile. to plan a gradual transition and use a hybrid approach
iterative projects may be ________________ because _______________________
longer; they are meant for learning rather than speed of delivery
Feature Driven Developmennt 6 roles 5 processes
meant to meet the needs of a huge software project. has a PM, architect, development manager, chief programmer, class owner, and domain expert. develop an overall model / build a features list / plan by feature / design by feature / build by feauture
Every type of life cycle does have ________________; what differentiates them is how much _______________________ is done and ______________.
planning; planning is done; when
As project uncertainty increases, so too does the risk of ____________. To mitigate this, teams tackles projects via_____________________
rework; small increments of work
Other names for predictive life cycles
serial, waterfall, plan-driven
Agile approaches were created to explore feasibility in.....
short cycles and quickly adapt based on evaluation and feedback.
While agile approaches started with _____________ companies, they have since _________.
software; spread to many other industries
To scale up a full company to agile
start small, measure efficacy, iterate and get better
The Kanban method is known as the __________________________. Thus, project teams can start ___________________________________.
start where you are approach; applying it with relative ease
A common issue with standups is that they become: Another issue is people:
status meetings try to solve issues, when they should just be realizing them and adding them to a parking lot
In addition to a project charter (which explains why this project matters), agile teams need ____________________
team norms and an understanding of how to work together
A team charter will outline
team values, working agreements, ground rules, group norms
Cloud Computing
the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet ("the cloud") to offer faster innovation, flexible resources, and economies of scale
Who runs standups?
the team
What does it mean to spike a feature?
the team runs time-boxed research, exploration to learn about the issue or the possible solutions. As a result of the spike, the team can break down the features into stories and estimate them.
Lead time; cycle time; response time all used in Little LawFormula
total time it takes to deliver an item, from time it's added to SB to time it's completed; time required to process an item; time an item waits until work starts flow based agile WIP/throughput or Lead time/throughput
life cycle of incremental
we analyze, design, build, test, deliver. then we do it again. then we do it again. then we do it again.
Applying agile in project schedule management
we use short cycles to undertake work, review results and adapt as necessary. we use ITERATIVE SCHEDULING AND ON-DEMAND PULL-ABSED SCHEDULING
Applying agile in project resource management
with agile projects, we benefit from team structures that MAXIMIZE FOCUS AND COLLABORATION (like self organizing teams and generalizing specialists, or t shaped folx). altogether, it's harder to plan for both physical and human resoufces in agile projects due to their high variability
Strong Product Ownership is KEY because ___________________
without attention to the highest value for the customer, the team might create unappreciated or useless features