TRUTH OR MISCONCEPTION Agile Software Development
May 10, 2015
TRUTH OR MISCONCEPTION
Agile Software Development
Richard Cheng
◊ Agile trainer & coach
◊ Lead, Excella Agile Training Center
◊ Member of Scrum Alliance, Agile Alliance, Agile Leadership Network, PMI
◊ CST, CSM, CSPO, CSP, PMI-ACP, PMP
◊ Founder & executive committee member of Agile Defense Adoption Proponents Team (ADAPT), the Agile DoD Task Force
◊ Deep expertise in Federal, commercial, and non-profit Agile transformations
Excella ConsultingExperience and Expertise in Agile Solutions
• Coaching• Training• Assessments
• Agile Adoption• Agile Development Teams• Agile PMO
• Interactive course on Agile principles and the Scrum framework• Metro accessible (5000 College Avenue, College Park, MD)• Discount codes available for symposium attendees, UMD students & faculty• Register: https://certified-scrummaster-csm-collegepark-august.eventbrite.com• Contact [email protected] for discount codes
Certified ScrumMaster (CSM) class - College Park - August 18 & 19
www.excella.com/training
Earn your CSM this summer!
TRUTH OR MISCONCEPTION
Agile Software Development
Truth or Misconception
Agile is just a high level concept.
TRUTH!
“Traditional” IT Project Management
◊ Process and tools◊ Comprehensive documentation◊ Contract negotiations◊ Following a plan
This is how we control projects….
Agile Manifesto
Individuals and interactions
over Process and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
That is, while there is value in the items on the right, we value the items on the left more.
http://agilemanifesto.org/
1. "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
2. "Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.”
3. "Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”
4. "Business people and developers must work together daily throughout the project.”
5. "Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.”
6. "The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.”
7. "Working software is the primary measure of progress.”
8. "Agile processes promote sustainable development. The sponsors, developers, and users 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 not done--is essential.”
11. "The best architectures, requirements, and designs emerge from self-organizing teams.”
12. "At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly."
Principles Behind The Agile Manifesto:
Identifying and delivering value……
◊ Identify value and eliminate waste◊ Prioritize features◊ Deliver early and often◊ Inspect and adapt◊ Empower team
Truth or Misconception
Agile and Scrum are the same thing.
FALSE!
Agile Methodologies
Agile
Scrum XP
Kanban
Lean
Scrum Overview
1. Project development is performed in 2 to 4 week iterations.
2. Product Owner creates a prioritized backlog of features
3. Highest priority features delivered first4. At the end of the iteration, the deliverables are
reviewed by the business customers5. The team reflects on the process6. This is repeated until the project is completed
Scrum Elements
Scrum
Roles
Meetings
Product OwnerScrum Development TeamScrumMaster
Product Backlog RefinementSprint PlanningDaily ScrumSprint ReviewRetrospective
Product BacklogSprint BacklogProduct Increment
Artifacts
Scrum Framework
* Diagram from Scrum Primer From the Scrum Primer
Iterative / Incremental Deployment
At any given point, the product is “deployable”
Deployed
Truth or Misconception
Certified ScrumMaster (CSM) is the base level Agile/Scrum certification.
TRUTH!
Scrum Alliance Certifications
• After the class, Scrum Alliance will email instructions for taking the assessment / exam on your computer.
• 35 questions• Passing score is 24 correct answers from 35 questions.
How do I take the CSM exam?
• 2 Years. Towards the end of your term, Scrum Alliance will send you instructions for how to renew.
• A continuing education program is planned for 2014.
How long does certification
last?
• This class 14 PMI PDUs / contact hours towards both PMP and PMI-ACP. Details for claiming them will be sent after the class.
What about PMI PDUs?
• http://www.scrumalliance.org/resources/2747CSM Test Outline
FAQ
http://www.scrumalliance.org/pages/faq_training_and_certification
Truth or Misconception
Scrum does not believe in planning, estimating, forecasting.
FALSE!
Release Planning
Project / RoadmapD
ay
Sprint…
…
…
Pla
n
Day
Day
Daily Scrum
Revie
w
Retr
o
Sprint
Pla
n
Revie
w
Retr
o
Pro
posa
l
Initiation ReleasePla
n
Release ReleasePla
n
Pla
n
Time
Timeline
◊ In a two week sprint, our planning takes one day.◊ Thus our planning period is 10% of our overall
timeline.◊ Extremely short (by industry standards) and
effectiveM T W TH F
Planning
Planning
Estimating and Forecasting
• Team members provide Estimates
• Completed work represent Actuals (Velocity)
• Velocity used for Forecasting
Velocity and Forecasting
Sprint Work Remaining Velocity1 625 752 560 653 490 704 421 695 350 71678
1 2 3 4 50
100
200
300
400
500
600
700
Project Burndown
Truth or Misconception
Scrum is not good for fixed price and/or fixed date work.
FALSE!
Fixed Date / Fixed Scope
Outcomes of Fixed Date / Fixed Scope projects:
Waterfall1. Delivered on time and working as expected2. “Delivered” on time … with issues3. Cannot deliver on time, need to extend
Scrum4. Delivered on time and working as expected5. The highest valued stories are delivered by the requested date
and working as expected
Be cautious of sacrificing quality and best practices to meet dates
1/1/
2010
3/1/
2010
5/1/
2010
7/1/
2010
9/1/
2010
11/1
/201
0
1/1/
2011
0%
20%
40%
60%
80%
100%
Work CompletedWork Remaining
Scrum Delivery
Project Due Date
Truth or Misconception
Agile ignores risk.
FALSE!
Problems with Waterfall
Requirements
Design
Develop
Test
Deploy
“I believe in this concept, but the implementation described above is risky and invites failure” – Dr. Winston Royce
What happens if something goes wrong?
Managing the Development of Large Software Systems, Winston Royce (1970)
Advantages of Scrum
◊ Manages risk by delivering high value, high risk
items early– Identify and resolve problems faster– Showing tangible results throughout the project– High assurance of product vision due to continual
inspection by business representatives
◊ Daily standup exposes risk
◊ Adaptability (Scrum) versus Predictability
(Waterfall)– Waterfall makes it expensive to make changes to
the project– Scrum development minimizes the cost of change
◊ Quality is built in
◊ Continuous improvement
Truth or Misconception
Agile development requires a lot of rework.
TRUTH!
“Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior.” – Martin Fowler, Refactoring.com
◊ Simplify◊ Fix◊ Optimize◊ Improve
Real time payment of technical debt.
Refactoring
Software Development
CHANGE IS EXPENSIVE
Truth or Misconception
Scrum does not believe in metrics or documentation.
FALSE!
Agile Metrics
Metrics for Business Initiatives
Effort Area Story Points Percentage
Foundational 78 22%
Maintenance 9 3%
Optimization 168 48%
New Product 98 28%
First Quarter Initiatives
Metrics for Business Value
Features Story Points Business Points
Comment
Feature 1 40 8 High effort, mid value
Feature 2 20 13 High effort, good value
Feature 3 4 8 Low effort, mid value
Feature 4 13 40 Mid effort, high value
Feature 5 5 20 Low effort, high value
Metrics for the Project
Project Burn Down / Burn Up Chart
Metrics for the Sprint
Metrics for Team Performance
Metrics for Team Performance
Metrics for Team Performance
For a Scrum team, key goals include:
1. Achieving a high completion percentage (actual velocity / projected velocity)
2. Stabilizing velocity
3. Increasing velocity (after 1 and 2)
Cumulative Flow Diagram
Cost Metrics
1 2 3 4 5 6 7 8 9 10 11 12 13
Story Pts Remaining 1200 1300 1123 987 978 876 725 655 524 411 290 110 0
Cost (in thousands) 1000 900 800 700 600 500 400 300 200 100 0 -100 -200-300
-100
100
300
500
700
900
1100
1300
Cost Feature Burn Down
Documentation
Identifying and delivering value……1. Identify value and eliminate waste2. Prioritize features3. Deliver early and often4. Constant inspection5. Empower team
Generally, documents are consumables, not deliverables
Contact Information
Richard K [email protected]: @RichardKCheng
Book Resources
Agile Project Management with ScrumKen SchwaberISBN #073561993X
Agile Estimating and PlanningMike CohnISBN #0131479415
The Software Project Manager’s Bridge to AgilityMichele Sliger, Stacia BroderickISBN #0321502752
Agile Project Management: Creating Innovative Products Jim HighsmithISBN #0321658396
The Art of Agile DevelopmentJames ShoreISBN #0596527675