Scrum

Introduction to Agile and Scrum
Speaker/Author:
Paul Packebush
Section Manager, Corporate Metrology
Author:
Logan Kunitz
Staff Calibration Engineer
ni.com
Process Emerges to Stop Chaos
•
No one loves process, but it feels good compared to the
pain of chaos
•
Developers are unable to adapt quickly
•
•
ni.com
Developers are extremely good at following the existing process,
and process adherence is the value system
Process starts to trump flexibility
2
Agile Development
ni.com
3
Agile is not a process
•
You cannot do Agile, but you can be Agile
ni.com
4
Manifesto for Agile Software Development
•
Individuals and interactions
•
•
Working software
•
•
over comprehensive documentation
Customer collaboration
•
•
over processes and tools
over contract negotiation
Responding to change
•
over following a plan
http://www.agilemanifesto.org
ni.com
5
12 Principles behind the Agile Manifesto
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Early and continuous delivery of valuable software
Welcome changing requirements
Deliver working software frequently
Teams work together daily
Trust motivated individuals to get the job done
Face-to-face conversation
Working software as primary measure of progress
Sustainable development
Continuous attention to technical excellence and good
design
Simplicity
Self-organizing teams generate best end products
Teams reflect regularly and adjust behavior accordingly
http://www.agilemanifesto.org
ni.com
6
What is Scrum?
A framework to help teams work in an Agile way
•
Transparency
o Everyone
•
Inspection
o Ongoing
•
knows the project state
reflection on status
Adaptability
o Team
decides how to quickly adapts to changes
Scrum is not a process it is a framework to get work done
ni.com
7
Scrum values
•
Commitment
•
•
Focus
•
•
Express concerns and status often
Respect
•
•
Fewer deliverables at a time
Openness
•
•
Team has great control of its destiny
Working together sharing in success and failures
Courage
•
ni.com
Teams feel empowered to undertake greater challenges
8
Scrum vs. Waterfall
Waterfall:
Design
All Features
Develop
Deploy
Scrum:
Feature A
*Design
*Dev
*Deploy
ni.com
Feature B Feature C
*Design …
*Dev
*Deploy
9
Scrum vs. Waterfall
Waterfall:
Design
All Features
Scrum:
Develop
Feature
A.1
Feature A Feature B Feature C
*Design
*Design …
*Dev
*Dev
*Deploy
*Deploy
ni.com
Deploy
Feature
B.1
…
10
Scrum at a Glance
ni.com
11
Scrum Implementation Case Study
•
NI Calibration Business Case
•
•
•
•
•
Long development cycles
Schedule slippage
Need for new HW product calibration support
Growing backlog of products requiring calibration support
Simply adding headcount is not a sustainable solution
Approach
•
•
Challenges
•
•
ni.com
Transitioned from Waterfall development process to Agile /
Scrum software development process
Distributed Scrum Team
Defining “Finished”
12
Distributed Scrum Team Challenges
NI Calibration Team
Austin, TX
Hungary
ScrumMaster
Product Owner
•
•
•
Developers
Developers
Scrum dictates close, daily interaction of team members
Distributed teams are a reality for global companies
Primary challenges with distributed scrum team
•
•
•
ni.com
Isolation of remote team members during meetings – lacking
engagement in the meetings
Visual tools (i.e. white-board for tracking tasks) not accessible by
remote team members
Team size (keeping daily meeting length short)
13
Distributed Scrum Team Recommendations
•
Avoid meeting rooms
•
Everyone meets from their desk
•
Shared “cloud-based” tool for
white board
•
Scrum team size: < 10
Keep daily meetings <15
minutes
•
ni.com
14
Defining “Finished”
•
•
Scrum dictates a “finished” product or feature at the
end of each sprint
What is “Finished”
•
•
Why is this a problem?
•
•
•
•
ni.com
The feature is complete and ready to be released
8 to 12 weeks to develop and test a typical feature (doesn’t
include integration testing - another 2 to 8 weeks)
Scrum sprint length = 4 weeks
Our features usually can’t be split into sub-features that are
individually shippable
It will take 2 to 3 sprints to demonstrate progress for
most of our features
15
Example: Splitting Feature into User Stories
2 to 12 weeks
8 weeks
Product Development & Testing
2 wks
2 wks
2 wks
2 wks
Sub feature
Development
& Testing
Sub feature
Development
& Testing
Sub feature
Development
& Testing
Final
Development
Testing
“Finished”
“Finished”
“Finished”
Sprint #1
ni.com
Sprint #2
16
Integration / Release
Testing
“Finished”
Ready for
Integration
Example: Calibration Procedure
•
•
•
Full procedure includes
several verification steps
Split overall feature by
verification step into
smaller user stories
“Finished” for each story
•
•
•
•
Fully developed
Fully tested
Fully reviewed
Feature releases once all
user stories are complete
ni.com
17
Conclusion
NI Calibration Team Performance After Using Agile / Scrum
•
•
•
ni.com
Improved time between product updates
Handled one-off customer feature request by doing a mid-cycle
release with the new feature. Minimum impact to existing product
release schedule.
Ability to meet release targets with improved accuracy
21