Post on 15-Dec-2015
ni.com
Introduction to Agile and Scrum
Speaker/Author: Paul Packebush
Section Manager, Corporate Metrology
Author: Logan Kunitz
Staff Calibration Engineer
2ni.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• Developers are extremely good at following the existing
process, and process adherence is the value system• Process starts to trump flexibility
3ni.com
Agile Development
4ni.com
Agile is not a process
• You cannot do Agile, but you can be Agile
5ni.com
Manifesto for Agile Software Development
http://www.agilemanifesto.org
• Individuals and interactions • over processes and tools
• Working software• over comprehensive documentation
• Customer collaboration• over contract negotiation
• Responding to change• over following a plan
6ni.com
12 Principles behind the Agile Manifesto
1. Early and continuous delivery of valuable software 2. Welcome changing requirements3. Deliver working software frequently4. Teams work together daily5. Trust motivated individuals to get the job done 6. Face-to-face conversation7. Working software as primary measure of progress8. Sustainable development9. Continuous attention to technical excellence and good
design10. Simplicity11. Self-organizing teams generate best end products12. Teams reflect regularly and adjust behavior accordingly
http://www.agilemanifesto.org
7ni.com
What is Scrum?
A framework to help teams work in an Agile way
• TransparencyoEveryone knows the project state
• InspectionoOngoing reflection on status
• AdaptabilityoTeam decides how to quickly adapts to changes
Scrum is not a process it is a framework to get work done
8ni.com
Scrum values
• Commitment• Team has great control of its destiny
• Focus• Fewer deliverables at a time
• Openness• Express concerns and status often
• Respect• Working together sharing in success and failures
• Courage• Teams feel empowered to undertake greater challenges
9ni.com
Scrum vs. Waterfall
Waterfall:
Scrum:
DesignAll Features
Develop Deploy
Feature A*Design*Dev*Deploy
Feature B*Design*Dev*Deploy
Feature C…
10
ni.com
Scrum vs. Waterfall
Waterfall:
Scrum:
DesignAll Features
Develop Deploy
Feature A*Design*Dev*Deploy
Feature B*Design*Dev*Deploy
Feature C…
Feature A.1
Feature B.1…
11
ni.com
Scrum at a Glance
12
ni.com
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• Transitioned from Waterfall development process to
Agile / Scrum software development process
• Challenges• Distributed Scrum Team• Defining “Finished”
13
ni.com
Distributed Scrum Team Challenges
• Scrum dictates close, daily interaction of team members
• Distributed teams are a reality for global companies• Primary challenges with distributed scrum team
• 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)
Product Owner
ScrumMaster
Developers Developers
Austin, TX Hungary
NI Calibration Team
14
ni.com
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
15
ni.com
Defining “Finished”
• Scrum dictates a “finished” product or feature at the end of each sprint
• What is “Finished”• The feature is complete and ready to be released
• Why is this a problem?• 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
16
ni.com
Example: Splitting Feature into User Stories
Product Development & Testing
8 weeks
Integration / Release Testing
2 to 12 weeks
Sub feature Development & Testing
Sub feature Development & Testing
Sub feature Development & Testing
Final Development Testing
2 wks
“Finished”Ready for Integratio
n
“Finished” “Finished” “Finished”
2 wks 2 wks 2 wks
Sprint #1 Sprint #2
17
ni.com
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
21
ni.com
Conclusion
NI Calibration Team Performance After Using Agile / Scrum
• 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