Criticalspan.com Agile Software Development Chris Platner 27-Jan-2010.

Slides:



Advertisements
Similar presentations
Agile Development Primer – Using Roundtable TSMS in an Agile Shop Michael G. Solomon Solomon Consulting Inc.
Advertisements

COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
CSE 403 Lecture 24 Scrum and Agile Software Development Reading:
Clinton Keith CTO, High Moon Studios Agile Methodology in Game Development: Year 3.
ECE44x SCRUM Overview slides adapted from Marty Stepp
Agile Project Management with Scrum
Agile Development and Data With Scrum and TDD Andy Leonard VSTeamSystemCentral.com With thanks to Brian Knight, SQL Server MVP SQLServerCentral.com.
An Introduction to Scrum Presented > > By >. Scrum “The New New Product Development Game” in Harvard Business Review, “The… ‘relay race’ approach.
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
An Introduction to Agile SCRUM Methodology
Intro to Scrum. What is Scrum? An answer to traditional “fixed cost / strict requirements” contracts which had very high rates of failure Recognizes the.
NAUG NAUG Knowledge Evening – th February 2007.
Presentation from: See Also: scrumreferencecard.com/ScrumReferenceCard.pdf.
Scrum CS These slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Scrum and Perl Kiffin Gish Friday, 6 March 2009 “Embrace change...” Sixth Dutch Perl Workshop.
Agile development By Sam Chamberlain. First a bit of history..
An Introduction to Scrum
Agile Software Development Matt Rice November 27, 2006.
An Introduction to Agile SCRUM Methodology
Managing a Project Using an Agile Approach and the PMBOK® Guide
Programming with eyes wide open. Your host today Subby Angelov Team
Introduction to Agile.
Agile Methodologies for Project Management By – Komal Mehta.
Agile Software Development What is Agile? And How are we implementing Agile?
0 End-to-End SDLC with Agile Methodologies Baiju Joseph, Senior QE Manager,Yahoo! & Srinivasan Desikan, Master System Technologist, HP 17 th Dec
1 Agile Methodology & Programming Ric Holt July 2009.
The Agile Primer July 2008 © ThoughtWorks 2008.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
An introduction for PMPs
Agile Software Development Brian Link
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
1 SCRUM 22/02/2009 By Siemen Bastiaens >>
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
"The thinking it took to get us into this mess is not the same thinking that is going to get us out of it."
Current Trends in Systems Develpment
SCRUM introduction 6 April Scrum Team are known as pigs because they’re committed to delivering Sprint Goal People who are involved but not dedicated.
Stephen Chief Strategy Officer Telerik
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
1 - Agile in a nutshell. 2 - Basic principles ●Relies on an iterative, incremental development mechanism with continuous adaptation to customer requirements.
SCRUMBAN?!?! What is it and how can it help your team?
1 An Introduction to Scrum. 2 Square One Consulting We’re losing the relay race Hirotaka Takeuchi and Ikujiro Nonaka, “The New New Product Development.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Het einde van het beroep van tester - Wat Agile, DevOps en Scrum betekenen voor het testvak -
Presentation from: See Also: scrumreferencecard.com/ScrumReferenceCard.pdf.
#AgileEd. Using Agile in the Classroom Cindy Royal, Associate Professor Texas State University slideshare.net/cindyroyal #AgileEd.
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
Using Scrum to Improve Teamwork, Communication, Quality and Speed
Agile Development Chapter 10 - part 2. Agile Philosophy  A guiding philosophy and set of guidelines for : developing information systems in an unknown,
AGILE - IMPLEMENTATION (C) CLARION TECHNOLOGIES. ability to move quickly and easily…. AGILE MEANING (LITERALLY)
SCRUM. WITH ACKNOWLEDGEMENT TO MIKE COHN FROM MOUNTAIN GOAT SOFTWARE, LLC.
Introduction to Agile. Introduction Who is this guy?
A Brief Conversation on Agile and the Scrum Framework
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
Agile Methodology. -Dhanashree Kumkar -Plus91 Technologies.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Agile Scrum Development Carter Jasinski. Outline ● Introduction ● Roles ● Artifacts ● Sprints ● Uses.
Embedded Systems Software Engineering
Manifesto for Agile Software Development
AGILE SCRUM METHODOLOGY
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
SCRUM Scrum and Agile Software Development Reading:
Introduction to Agile Blue Ocean Workshops.
Scrum Science NGSS: Engineering, Technology, Applications of Science
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

criticalspan.com Agile Software Development Chris Platner 27-Jan-2010

criticalspan.com Who am I? ›14 years at Serena, a maker of Application Lifecycle Management Tools ›Worked with 2 co-inventors of Scrum ›Principal at Critical Span, a software consulting firm 2 27-Jan-2010

criticalspan.com Outline ›Do I really need process? ›Common Processes Overview ›Agile Scrum –Activities –Roles –Best Practices 27-Jan

criticalspan.com Who cares about Process? 4 if (you_write_software) { you_have_a_software_process = true; } 27-Jan-2010

criticalspan.com The Main Goal ›The main goal should always be to deliver quality, tested software that satisfies the customer, and do it in a sustainable manner 27-Jan

criticalspan.com Okay, What Processes Are There? ›Chaotic –None* ›Planned –Waterfall ›Iterative –Agile ›and many more… –Capability Maturity Model – Integrated (CMMI) –Extreme Programming (XP) –Crystal –RUP –Spiral –etc Jan-2010

criticalspan.com We Don’t Need No Stinkin’ Process 7 27-Jan-2010

criticalspan.com We Don’t Need No Stinkin’ Process ›Q: Let’s just Code Like %$#&*!! ›A: Yes, but… –Bug fixing is almost always postponed until the end –Software is often very late, low quality, or both –Delivered software is often difficult to maintain –Requires lots of ‘commitment’, and is not sustainable 8 27-Jan-2010

criticalspan.com Waterfall 9 Requirements Design Coding Integration Testing Installation Operation/ Maintenance 27-Jan-2010

criticalspan.com Waterfall ›Q: Let’s figure out everything before we start coding! ›A: Not Likely… –Users’ requirements change over time – “That’s just what I asked for, but not what I want” –Strict waterfall doesn’t allow feedback after passing to next phase. Learning in later phases can’t easily be passed back to earlier ones Jan-2010

criticalspan.com Agile –An iterative process –Short iterations –Emphasis on interaction with a customer –Practices TDD Pair Programming Continuous Integration 27-Jan

criticalspan.com Agile ›Manifesto for Agile Software Development –We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan –That is, while there is value in the items on the right, we value the items on the left more. 27-Jan from

criticalspan.com Agile Scrum ›Scrum is one way of realizing Agile –Daily Scrum meetings –2-4 week iterations called sprints –Relies heavily on smart, flexible people –Self-organizing teams –Sustainable –Always have a shippable product 27-Jan

criticalspan.com Who uses Scrum? ›Independent Software Vendors (ISVs) ›Fortune 100 companies ›Small startups ›Internal development ›Contract development ›Companies using Scrum –Adobe, Amdocs, F5 Networks, General Electric, HP, Intel, Intuit, LexisNexis, Microsoft, Motorola, Oracle, Serena, Siemens, Sun Microsystems 27-Jan

criticalspan.com What has Scrum been used for? ›FDA-approved, life-critical software for x-rays and MRIs ›Enterprise workflow systems ›Financial payment applications ›Biotech ›Call center systems ›Tunable laser subsystems for fiber optic networks ›Application development environments ›24x7 with % uptime requirements ›Multi-terabyte database applications ›Media-neutral magazine products ›Web news products 27-Jan

criticalspan.com Where Did Scrum Come From? ›Jeff Sutherland, John Scumniotales, and Jeff McKenna –Initial Scrums at Easel Corp in 1993 ›Ken Schwaber –ADM ›Initial definitions of Scrum at OOPSLA 96 with Sutherland 27-Jan

criticalspan.com Agile Scrum Overview ›Roles ›Activities/Rhythms ›Artifacts 27-Jan

criticalspan.com Agile Scrum Overview Jan-2010

criticalspan.com Primary Roles ›The Team –Does the work of designing, implementing, testing ›Scrum Master –Runs the Scrum meetings ›Product Owner –Represents the customer ›Pigs –The Team, Scrum Master ›Chickens –Product Owner, Customers, Managers 27-Jan

criticalspan.com Chickens and Pigs 27-Jan

criticalspan.com The Team, Illustrated ›Short video on teamwork from the IT Crowd: Jan

criticalspan.com The Team ›Typically 5-10 people ›Cross-functional –Programmers, QA, UI Designers, etc. ›Teams are self-organizing –Primary focus is to meet sprint goals ›Membership can change only between sprints 27-Jan

criticalspan.com The Scrum Master ›Represents management to the project ›Typically filled by a Project Manager or Team Leader ›Responsible for enacting Scrum values and practices ›Main job is to remove impediments 27-Jan

criticalspan.com The Product Owner ›Represents the customer ›Makes sure the ‘Right Things’ are in the backlog ›Writes and prioritizes User Stories 27-Jan

criticalspan.com Activities ›Story Time* ›Sprint Planning ›Sprinting ›Daily Scrum Meeting –3 questions ›Sprint Review –Quick demo of work completed ›Sprint Retrospective –Continuous Improvement 27-Jan

criticalspan.com Story Time ›The Team reviews User Stories with the Product Owner ›Initial estimates of story size 27-Jan

criticalspan.com Sprint Planning ›Select User Stories or items to be worked on for the next sprint –Often, the Sprint will have a Theme ›Highest priority items are taken from the Product Backlog and placed on the Sprint Backlog ›The Team votes on how long each item will take –Planning Poker –Can use either User Stories or Tasks ›Planning is over when The Team is satisfied with the results 27-Jan

criticalspan.com Sprint ›Analogous to ‘iterations’ ›2-4 weeks ›Designing, coding, and testing occur during the sprint ›No changes can occur in a sprint 27-Jan

criticalspan.com Daily Scrum ›Part of the daily rhythm ›Always starts on time, and lasts only 15 minutes (should be less) ›Only pigs can talk ›3 questions –What did you work on yesterday –What will you work on today –Any blocking issues* 27-Jan

criticalspan.com Sprint Review ›Demo all the completed User Stories –Only complete, ‘approved’ stories are demonstrated ›Minimal preparation (and no faking) ›Participants –The Team –Customers –Management –Product Owner –Other engineers 27-Jan

criticalspan.com Sprint Retrospective ›Review the last sprint ›What went well? ›What could be improved? ›Choose the improvements to make in the next sprint 27-Jan

criticalspan.com Artifacts ›Product Backlog ›Sprint Backlog ›Burndown Chart 27-Jan

criticalspan.com Product Backlog ›A list of User Stories to be delivered –May also contain Epics –Stories may be organized into themes ›Usually a combination of –User Stories (‘As a…’) –Can also contain tasks ›List is prioritized by the Product Owner –Typically a Product Manager, Marketing, Internal Customer, etc. 27-Jan

criticalspan.com Product Backlog 27-Jan

criticalspan.com Sprint Backlog ›A list of Tasks or User Stories that The Team has agreed to complete 27-Jan

criticalspan.com Sprint Backlog 27-Jan

criticalspan.com Burndown Chart ›Shows progress during the sprint 27-Jan

criticalspan.com Other Important Things ›User Story ›Planning Poker ›The meaning of Done ›TDD ›Continuous Integration ›Velocity ›Spike ›Theme ›Epic ›Scalability 27-Jan

criticalspan.com User Story ›A User Story is a requirement that is written in customer’s language ›Typical format is ‘As a [user/role], I want [goal/function], so that [reason]’ 27-Jan

criticalspan.com Planning Poker ›Quick way to estimate relative task size –Sizes are chosen from Fibonacci numbers (i.e. 1, 2, 3, 5, 8, 13, etc.) ›Each Task or User Story is estimated by the team ›The Team must reach consensus on the relative sizes 27-Jan

criticalspan.com The Meaning of Done ›Defining ‘done’ is critical: –Coded –Tested (unit and functional) –Reviewed –(possibly) Documented 27-Jan

criticalspan.com TDD ›Test Driven Development –Writing Tests will improve the design and stability of the code –Only writing enough code to make a test pass reduces waste ›Process –Write a test –Run the (failing) test –Write some code –Run the (passing) test 27-Jan

criticalspan.com TDD ›Use frameworks and mock objects ›Kinds of tests –Unit –Integration –Functional 27-Jan

criticalspan.com Continuous Integration ›A set of practices around software builds –Commit often –Build and test each commit ›Tools: –Hudson –CruiseControl 27-Jan

criticalspan.com Velocity ›The amount of work that a Team can handle in one sprint. ›Estimated from past performance 27-Jan

criticalspan.com Spike ›A time-boxed period of research and development ›May be used for proof of concept ›No deliverable for a product 27-Jan

criticalspan.com Theme ›A group of User Stories for related functionality 27-Jan

criticalspan.com Epic ›A large User Story, especially one that is a lower priority, and has not been broken into more detailed, smaller User Stories 27-Jan

criticalspan.com Scalability ›Typical Scrum team is 5-10 people ›Sutherland used Scrum in groups of 600+ ›Cohn used in groups Jan

criticalspan.com Where to go next? ›Agile Scrum – – –Agile Software Development with Scrum (Ken Schwaber and Mike Beedle) –Agile Project Management with Scrum (Ken Schwaber and Mike Beedle) ›Agile in General – 27-Jan

criticalspan.com 51 Other References ›Ruminations on C++, Andrew Koenig, Barbara Moo, 1997 –Excellent discussion of why small projects are often successful, while larger ones are not. Read all of chapter 2. ›Agile Software Development, Alistair Cockburn, 2002 –Great introduction to agile development. ›Software Project Survival Guide, Steve McConnell, 1998 –If you want to be a manager, or understand managers, Steve’s books are must-have’s. ›Rapid Development – Taming Wild Software Schedules, Steve McConnell, 1996 ›Martin Fowler’s Writings – Many interesting articles on agile methodologies. See Jan-2010

criticalspan.com Thank You! ›Q&A 27-Jan