Introduction to Agile and Scrum

18
ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author: Logan Kunitz Staff Calibration Engineer

description

Introduction to Agile and Scrum. Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer. Process Emerges to Stop Chaos. No one loves process, but it feels good compared to the pain of chaos - PowerPoint PPT Presentation

Transcript of Introduction to Agile and Scrum

Page 1: Introduction to Agile and Scrum

ni.com

Introduction to Agile and Scrum

Speaker/Author: Paul PackebushSection Manager,

Corporate MetrologyAuthor: Logan Kunitz

Staff Calibration Engineer

Page 2: Introduction to Agile and Scrum

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

Page 3: Introduction to Agile and Scrum

3ni.com

Agile Development

Page 4: Introduction to Agile and Scrum

4ni.com

Agile is not a process• You cannot do Agile, but you can be Agile

Page 5: Introduction to Agile and Scrum

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

Page 6: Introduction to Agile and Scrum

6ni.com

12 Principles behind the Agile Manifesto1. 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

Page 7: Introduction to Agile and Scrum

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

Page 8: Introduction to Agile and Scrum

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

Page 9: Introduction to Agile and Scrum

9ni.com

Scrum vs. Waterfall

Waterfall:

Scrum:

DesignAll Features

Develop Deploy

Feature A*Design*Dev*Deploy

Feature B*Design*Dev*Deploy

Feature C…

Page 10: Introduction to Agile and Scrum

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…

Page 11: Introduction to Agile and Scrum

11

ni.com

Scrum at a Glance

Page 12: Introduction to Agile and Scrum

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”

Page 13: Introduction to Agile and Scrum

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 HungaryNI Calibration Team

Page 14: Introduction to Agile and Scrum

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

Page 15: Introduction to Agile and Scrum

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

Page 16: Introduction to Agile and Scrum

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

Page 17: Introduction to Agile and Scrum

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

Page 18: Introduction to Agile and Scrum

21

ni.com

ConclusionNI 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