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
© Copyright 2025 Paperzz