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

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Chapter: 3 Agile Development
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Agile Project Management with Scrum
Agile development By Sam Chamberlain. First a bit of history..
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Agile Architecture? Paul Lund 24 th Nov Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it.
Agile Software Development Matt Rice November 27, 2006.
Agile Methods.
Does it work with Data Warehouses?. “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
Rally: One Writer’s Perspective. Background 28 years in technical communications including Symantec, Autodesk, and Cisco. Participated in Rally-based.
Software Development Landscape
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Chapter 4 Agile Development
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
Chapter 5 Agile Development Chapter 5 Agile Development Moonzoo Kim KAIST 1.
OPM: the USAJOBS Product Owner Perspective By Alesia Booth & Richard Cheng.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Building a new HMS from scratch Bite size software delivery Richard Troote Alex Stephenson Head of ICT Head of Property Services.
Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools.
Project Workflow. How do you do it? -Discussion-
Chapter 5 애자일 개발 Agile Development
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
Jeff Briggs Senior Consultant Capstone Consulting.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
Theories of Agile, Fails of Security Daniel Liber CyberArk.
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
The Agile Manifesto Some thought starters for Ogilvy on how to work with Agile and SCRUM approaches to managing projects.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes.
Agile Center of Excellence. Richard K Cheng Agile is just a high level concept.
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Baby Steps to Agility How to Grow Into Agile. A little about me A little about Agile Growing into Agile Questions Goals.
Project Workflow.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Project Management
Agile Project Management and the yin & yang of
Shifting to Agile: Are University Libraries Ready?
Introduction to Agile Software Development
Principles for Agile Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Project Workflow.
Project Management and the Agile Manifesto
How to Successfully Implement an Agile Project
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
Agile Development.
Presentation transcript:

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

2 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 Developers are extremely good at following the existing process, and process adherence is the value system Process starts to trump flexibility

3 ni.com Agile Development

4 ni.com Agile is not a process You cannot do Agile, but you can be Agile

5 ni.com Manifesto for Agile Software Development Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan

6 ni.com 12 Principles behind the Agile Manifesto 1. Early and continuous delivery of valuable software 2. Welcome changing requirements 3. Deliver working software frequently 4. Teams work together daily 5. Trust motivated individuals to get the job done 6. Face-to-face conversation 7. Working software as primary measure of progress 8. Sustainable development 9. Continuous attention to technical excellence and good design 10. Simplicity 11. Self-organizing teams generate best end products 12. Teams reflect regularly and adjust behavior accordingly

7 ni.com What is Scrum? A framework to help teams work in an Agile way Transparency o Everyone knows the project state Inspection o Ongoing 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

8 ni.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

9 ni.com Scrum vs. Waterfall Waterfall: Scrum: Design All Features DevelopDeploy Feature A *Design *Dev *Deploy Feature B *Design *Dev *Deploy Feature C …

10 ni.com Scrum vs. Waterfall Waterfall: Scrum: Design All Features DevelopDeploy 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 Austin, TXHungary 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 Final Development Testing 2 wks “Finished” Ready for Integration “Finished” 2 wks Sprint #1Sprint #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

18 ni.com Other Related Concepts Test Driven Development (TDD) Unit test code and use case coverage should be thorough and complete All unit tests should be automated. All unit tests should be executed automatically with each new build. Continuous Integration (CI) Builds should be frequent and also automated. Fail Fast. Integration issues should be identified as soon as possible in order to enable quick resolution. Commitment Based Project Management (CPBM) Negotiate clear agreements. Keep communications going during the delivery stage. Present the deliverable explicitly.

19 ni.com TDD (Test-Driven Development) & CI (Continuous Integration) High-level principles promote efficient & effective testing Objective of releasing software continuously by making test coverage 100% and automating all tests All Tests should be Automated o Manually tests are a resource time-sink and accumulate over time o Automating all tests enables all features to be tested as often as testing infrastructure will allow – product can be released as soon as all tests pass Build process should be frequent and automated o Team members should be able to test code against final build frequently Fail Fast o Find and Fix issues sooner rather than later o Team should share same development code base

20 ni.com Commitment Based Project Management (CPBM) Framework for developer / manager interactions in Agile environment Guidelines: Make requests, not assignments. Negotiate clear agreements. Keep communications going during the delivery stage. Present the deliverable explicitly. When the requester, always acknowledge and assess the delivery.

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