Professional Documents
Culture Documents
Agile CP Notes (Agile Methods)
Agile CP Notes (Agile Methods)
Agile CP Notes (Agile Methods)
SCRUM
V
● alues: Commitment, Courage, Focus, Openness, Respect
● 3 Pillars
● Transparency
● Inspection
● Adaptation
● Product Owner (PO) is responsible formaximizing thevalueof the product and the
work of the team
● 1 PO per team, but only 1 backlog for the whole product
● Responsible/accountable forbacklog management
● The product owner represents the customer, users, and stakeholders. Take
risk into account when prioritizing backlog
● Development Team
● self-organizing, has all the skills needed, no titles, no sub-teams
● "share 2 pizzas" = team size between 3 and 9 (not counting PO and Scrum
Master). Other sources say the optimal team size is 8, others say 12.
● Scrum Master ensures the team understands and enacts Scrum
● humility, servant leader
● coaches the dev team and removes impediments
● Team practicesSashimito ensure every slice of functionalitydelivered is complete
EXTREME PROGRAMMING (XP)
V
● alues: Simplicity, Communication, Feedback, Courage, Respect
● 12 Practices
1. Pair Programming - one person codes—thedriver. Theother person is the
navigator, whose job is to think
2. Planning Game
3. Test Driven Development (TDD)
4. Whole Team - everyone sits together, generalized specialists
5. Continuous Integration
6. Refactoring
7. Small Releases
8. Sustainable Pace
9. Collective Code Ownership - multiple people work on all the code, any pair
of developers can improve or amend any code.
10. Coding Standard
11. Simple Design
12. System Metaphor
● Roles: Coach (= Scrum Master), Customer (= Product Owner), Developers, Testers
● Pair programming is the most helpful technique in implementing collective code
ownership in a team
● Code goes through 4 levels of completion: Broken, Build, Ready for demo, Ready to
release
LEAN
L
● ean focuses on theValue Stream
● The 7 Lean principles:
● Eliminate waste
● Amplify learning (=early feedback loop)
● Decide Late (=defer as long as responsibly possible)
● Deliver Fast (=get value to the customer quickly)
● Empower the team
● Build integrity in (= test throughout, not just at the end)
● See the whole (=see the system not just the parts)
● Nonvalue-added timein Lean is the time in the cyclewhere we find delays, waste
and constraints.
● Examples of Waste
● Partially done work (e.g. untested code)
● Extra processes (e.g. approval from manager who is not a true stakeholder)
● Extra features (gold plating)
● Task switching (e.g. if you're assigned to multiple projects)
● Waiting (e.g. waiting on sign-offs)
● Motion (e.g. poor communication between teams)
● Defects
KANBAN
A
● key tool in lean manufacturing
● Focused sustainable pace and regular JIT delivery of individual items. Optimize the
flow.
● Core Practices
● Define and visualize the workflow
● Limit Work-In-Progress (WIP)
● Measure and Manage Flow
● Make Process Policies Explicit
● Use Models to Suggest Improvement
● In practice, start by 1) visualizing the flow of work to identify bottlenecks, 2) speed
up or remove the bottlenecks that affect overall throughput 3) establish WIP limits,
and then 4) look for continuous improvement.
● Compared to Agile, Kanban focuses oncontinuous flow(vs. fixed iterations) and
cycle time(vs. velocity)
● Cycle time = # completed items/# days, the averagetime between the delivery of
completed work items. For example 10 completed items in 5 days means a cycle
time of 0.5 days/item.
● Task Boardserves the dual purpose of giving the teama convenient mechanism
for organizing their work and a way of seeing at a glance how much work is left.
Can be a whiteboard, cork board, cardboard, etc.
● Lets you visualize the workflow and identify constraints.
● On a task board you have3 basic columns: to-do,in-progress, done.
● TheWIP numberon the board is the max number of workitems in a swim
lane.
● Kanban board uses apull system
● Little's Law: # of items in the system = Rate items enter the system x Average
time items spend in the system.Demonstrates thatthe duration of work queue is
dependent on its size. Following Little's Law, to improve cycle time,reduce WIP
(work in progress) andincrease ACR(average completionrate).
● Throughputis the number of features the team candevelop in a particular
amount of time.
● A testing team finds that it is often in the firing line as they often have more work
than they can handle. In the Kanban system the best way to handle this is to limit
the WIP. This will address the feeling of being overwhelmed with work and pave
the way for more creative solutions to the problem.
● David Anderson 5'S for Kanban agile development: Set in order, Sort, Shine,
Standardize, Sustain
● Scrumbanis a hybrid of Scrum and Kanban
PLANNING TECHNIQUES
● I n agile you will spend more time planning overall than in waterfall! However the
planning is spread out over the course of the project.
● Vision and requirements gathering:
● Design the Box -break into small groups and designthe product name,
graphic, elevator pitch on the front, detailed features on the back, and
operating instructions
● Prune the Tree- a requirements gathering technique
● Remember the Future
● Prioritization:
● MoSCoW
● Must Have – Critical to the current delivery timebox in order for it to
be a success
● Should Have – important but not necessary for delivery
● Could Have – Desirable, but not necessary; Could improve user
experience or customer satisfaction for very little cost
● Won’t Have – Have been agreed by stakeholders as the least-critical
and not to be delivered in the current timebox
● MustHave+ShouldHave = business case. Must+Should+Could =
business case + contingency, 100% of total.
● Kano Analysis:
● Exciters/Delighters– features deliver unexpectedbenefits to the
customer
● Performance/Satisfiers/Threshold/Must-Have– featuresdeliver
expected benefits to the customer
● Basic/Dissatisfiers– If these features are missing,customers will be
unhappy
● Indifferent– Customers do not care if these featuresare in the
product or not
● Performance – Linear relationship between
functionality/quality and customer satisfaction
● Excitement – Customers will be willing to pay premium for
these features, lack of features will not decrease satisfaction
● Basic – Making these better, will not improve customer
satisfaction, best is neutral • Indifferent – Minimize these
features inclusion
● Basic/Dissatisfiers are most important compared to
Delighters or Satisfiers. This will cause the customer to dislike
a product if they are not present. Indifferent features should
be minimized or eliminated.
● Relative Weighting-priority of a feature is determinedby dividing the
priority % by the cost %
● Bang for the Buck,Buy a Feature, 100 Point Method
● Estimation
● Affinity estimating(e.g. T-Shirt sizing)is the practiceof using common
sizes to rapidly place user stories into similarly sized groups - good for when
you have at least 20 stories, ideally 40 stories or even 100s of stories. Each
s tory is placed on a table and one by one a team member is given an
opportunity to place a card in line or adjusting a card in the line already.
● Wideband Delphi(e.g. Planning Poker)estimation includesplotting
estimates on a chart with no names, and then the range of points is
discussed, and the team attempts to reach a general consensus. Wideband
Delphi is anonymous estimates which minimizes the Bandwagon effect,
HIPPO decision making and Groupthink
● Decision making:Fist to five,thumbs up, thumbs downor thumbs sideways, and
decision spectrum,Dot Voting(stickies),Forced Ranking(score criteria, then
rank in order based on score)
● Buy a storyis a collaboration game to help stakeholdersunderstand a complex
issue
● Brainstorming:Round robin,Quiet Writing,Free forall.
● Collaboration:Listening Game,Collaborative Origami,123 Go
● Agile chartersanswer the W5H questions (who? what?where? when? how?)
● Charter doesn't specify costs or specific team members
● If the charter doesn't exist, create one with the sponsor
● 5 Phases of Agile Project Management: Envision, Speculate (including release plan
and stories), Explore, Adapt, Close
● Planning Onion: Strategy, Portfolio, Product, Release,Iteration, Day. Team is mainly
involved starting at Release.
● 4 types of revenue
● New revenue (from new markets, customers, features)
● Incremental revenue (existing features are enhanced, add-on's, encourage
customer to buy more)
● Retained revenue (what you will lose if you don't develop key features, could
relate to regulatory)
● Operational Efficiences (internal improvement)
BACKLOG, EPICS, USER STORIES
● U ser stories are not the same as "use cases" or "design scenarios". They aresupport
tools for analysis.
● User stories should be written followingINVESTprinciples:
● I: Independent
● N: Negotiable
● V: Valuable
● E: Estimable
● S: Specific (or Small)
● T: Timely (or Testable)
● Each story has 3 elements, the3 C's
● the Card (the story should fit on a 3" x 5" card)
● the Conversation (user stories are communicated by end-users to
developers)
● the Confirmation (the acceptance criteria)
● Astory mapis like a product roadmap, using futurestories to be implemented.
Story mappingis used to identify missing stories,categorize stories into
functionality and prioritize stories.
● Epic storiesare large stories that have not beenbroken down, and these are
typically found at or near the bottom of the product backlog.
● Disaggregationrefers to splitting a story or featureinto smaller, easier-to-estimate
pieces (NOT decomposition)
● Small storiessuch as cosmetic UI changes and reading/writingbug reports can be
combined into larger stories
● Spikes: architectural spike (e.g. proof of concept),risk-based spike
● Research storiesshould last 1 day
● Acceptance criteriacome from thecustomer, even ifultimately a team member
might be the one to write them down
● Themeis a set of related user stories that may becombined together and treated
as a single entity for either estimating or release planning.
● Quantity of functionis scope measured in terms ofuser stories, use cases,
requirements, or features
● Therisk-adjusted backlogis a primary way in whichrisk is managed. Stories in a
risk-adjusted backlog areprioritized based on EMV(expected monetary value).
● Grooming the backlog = refinement = adding detail, add/remove stories,
prioritize
RELEASE PLANNING, ITERATION PLANNING and STAND-UPS
● T he agile project schedule is created by estimating story points and applying
velocity.
● Sprint 0(or 'Iteration 0') does not deliver customervalue. It can include initial
training.
● Actual timeis the amount of time an assignment wouldtake to complete.Ideal
timeis the amount of time an assignment would takeif there were no
interruptions or distractions. The conversion toelapsedtimedepends upon
individuals involved but can usually be reasonably estimated at an aggregate or
team level.
● If project isrelease-timeboxed, a team can maintaina feature buffer and follow a
MoSCoW scheme to logically sequence the work.
● To avoid bottlenecks, it is recommended to get the team to be generalists so
anyone can pick up any task.
● Biggest advantage to deliveringincrementallyis thatitreduces the amount of
reworkby finding issues earlier.
● Velocity= number of story points a team can completein a single iteration
● A team'svelocityis not likely to be comparable toanother one, so using industry
standards or using velocity to compare to teams is meaningless. Calculate velocity
in the early sprints by team consensus or using team capacity. Compare teams by
ROI, not by velocity.
● The team should get topredictablevelocity
● Lead timeis the amount of time needed to get a featurefrom inception to live
deployment (not velocity)
● Feeding bufferis applied to stories that depend onother stories, in case the
dependencies are late
RETROSPECTIVES
AGILE MODELING
DEVOPS
● D evOps helps speed up the deployment of products from development to
operations
● Continuous integration(CI) is executed when codechanges are checked in and
tested daily. CI components include source code controlsystem, build tools, test
tools, scheduler/trigger, notifications BUT NOT UNIT TESTS
AGILE CONTRACTS
● I f schedule variance is expected, use graduated fixed price contracts (when both
parties share some of the risk and reward associated with schedule variance)
● A DSDM Contract focuses on work being "fit for business purpose"
● "Money for nothing" in Agile contracting created by Jeff Sutherland means
customer can terminate early
● I nformation radiators include: burn charts, retrospective learnings, story maps (but
not the definition of done)
● Some stakeholders may want avision statement. Nextmost detailed is the
roadmap. Then the detailedrelease plansanditerationplans.
● Theburnup chartplots time on the X-axis and functionalityon the Y-axis.
● Get a bird’s-eye view of the project.
● Shows progress and predicts a completion date.
● Burnup charts can show the impact ofscope changes.Usually product
when youupdate therelease plan.
● Theburndownchartsare used to track scope and scheduleprogress of the
project. A cumulative story point burndown chart is useful because it shows the
total number of story points completed through the end of each iteration.
● Example in practice:start at 200 points, the teamcompletes 50, the PO
adds 20 more. As 20 points get added, the bottom of the bar shifts down by
20 points and reads "-20". The top of the bar moves down as the team
completes the work. As 50 points are completed, the top will be at 150.
● 4 KPIsused in Agile are
● remaining work
● rate of progress
● likely completion date
● likely costs remaining
● Best metric to compare agile teams:ROI, not velocity
● AS-curveis a graph that tracks a variable over time.
● EMV chartis aleadingindicator which is why it isbetter than a GANTT chart.
● Trend analysisis a lead metric as it helps forecastissues based on trends.
QUALITY
● A nescaped defectis a defect that wasn’t discoveredby test teams. Instead, the
defect was found by customers.
● Component tests(as opposed to unit tests) verifythat units and combinations of
units work together
● Error-feedback ratiois the number of new defectsinjected when fixing existing
defects (e.g., 20 new defects generated in fixing 100 defects would be an
error-feedback ratio of 20%)
● Capers Jones concluded "acumulative defect removalrate of 95%on a project
appears to be a nodal point where several other benefits accrue"
PMP FINANCIAL FUNDAMENTALS, APPLIED TO AGILE
● N et Present Value (NPV)• The present value of thecash flows, at the required rate
of return of your project, compared to your initial investment
● To compare projects, use NPV. The higher NPV the better.
● Time value of money
● A positive NPV means the project is profitable, a Negative NPV means the
project is not profitable
● Drawbacks – Need to make assumptions are inflation and interest rates
● Internal Rate of Return (IRR)• The discount ratethat makes the NPV of all cash
flows equal to zero • Removes the assumptions of interest and inflation rates •
Complicated to calculate, expressed as a %. When comparing projects, chose the
project with the higher IRR.
● Note that IRR is a superior measure to NPV, and should be used for making
decisions in benefit-cost analysis.
● ROI= Benefits/Investment. Higher is better. Example• Feature costs – $100,000,
Net Profit (i.e. benefits)- $25,000, therefore ROI = 25% • Drawback – Revenue
generated after the period of time, time value of money.
● Thepayback periodis a calculation where a shorterpayback period is preferred
over a larger period.
● W hen a team is trying to learn agile, First they need to "think", meaning
individually learning and internalizing agile principles (think first, then do).
● In Agile,you can change the plan when something newis learnedor when it is
known that a mistake is to be avoided. You don't have to wait for the end of the
iteration.
● The3 Agile coaching stylesareTraining/Teaching,Coaching and
Mentoring/Advising(not supporting). When the teamis storming, you should
coach with a focus on conflict resolution.
● Listening types: 1. internal 2. focused 3. global
● Shu Ha Ri. Shu: Follow the rule. Ha: Break the rule.Ri: Be the rule.
● For looking at how a team can improve, there are 3 levels
● The process level: How are we doing with agile?
● The quality and performance angle: How can the team produce better?
● The team dynamics dimension: How can the team become a better team?
● Lyssa Adkins guidelines for one-on-one coaching are guarantee safety, meet them
a half-step ahead, partner with managers and create positive regard
S
● ervant leadership: shield the team, remove impediments,carry food and water
● Caves and common areaare essential for a team spaceso the team have caves
where they can work in quiet and a common area where knowledge sharing can
happen
● Decision framingfocuses on who gets involved in thedecision process. Who
makes the decision is less important than getting the right people involved in the
decision process.
● Health checks, often questionnaires, help determinehow well the team is
adhering to Agile process.
● When facilitating meetings the facilitator is responsible for the goals, rules, timing,
assisting, including meeting minutes
● During problem solving, ask questions and listen, but avoid injecting your own
ideas
● After understanding ones own feelings next is to manage them and then become
more aware of others and finally they will be able to influence others feelings.
● The 5 dysfunctions of a team are Absence of Trust, Fear of Conflict, Inattention to
Results, Avoidance of Accountability, Lack of Commitment
● Level-based conflict. It's best to empower the team members to solve conflict
themselves (e.g. Level 2 conflicts), unless the temperature is really high
● For announcing sprint priorities, two-way communication model ensures
information is bidirectional.