Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. A Pragmatic Approach to Agile Development John Scumniotales Vice President, Product.

Slides:



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

SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
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.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Where We Are Now. Where We Are Now Traditional PM versus Agile Methods Traditional PM Approach Concentrates on thorough, upfront planning of the entire.
Alternate Software Development Methodologies
SCRUM John Drew. SCRUM - overview Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business.
Agile Development.
An Introduction to Agile Project Management CHAPTER SEVENTEEN PowerPoint Presentation by Charlie Cook Copyright © 2014 McGraw-Hill Education. All Rights.
Agile development By Sam Chamberlain. First a bit of history..
GAI Proprietary Information
Software Life Cycles ECE 417/617: Elements of Software Engineering
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Iterative development and The Unified process
CHAPTER 9: LEARNING OUTCOMES
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Agile-SCRUM. Introduction to SCRUM Sanil Xavier What is Scrum?
Project phases and the life cycle
An Agile View of Process
Introduction to Agile.
Agile Methodologies for Project Management By – Komal Mehta.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Gaining Support for a Sustainable Agile Transformation Dennis Stevens, VP Enterprise Engagements LeadingAgile November 12, 2013.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Software Development Landscape
Transforming Organizations
Business Driven Technology Unit 5 Transforming Organizations McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 4 Agile Development
Agile Software Development Brian Link
What is Scrum Process? Where is it used? How is it better?
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
Software Project Failure Software Project Failure Night Two, Part One CSCI 521 Software Project Management.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Chapter 5 애자일 개발 Agile Development
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
CS 3610: Software Engineering – Fall 2009 Dr. Hisham Haddad – CSIS Dept. Chapter 4 Agile Development Discussion of Agile Development and Agile Process.
2  Examine effects of using agile methods for creating Internet products on customer satisfaction and firm performance  Agile methods are informal,
Agile Software Development Jeff Sutherland, one of the developers started it In February 2001, 17 Tools: continuous integration, automated or xUnit test,
Software Engineering (CSI 321) An Agile View of Process 1.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Intelligence and Information Systems 1 3/17/2004 © 2004 Raytheon Company USC/CSE Executive Workshop on Agile Experiences March 17, 2004 A Raytheon Agile.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Teaching slides Chapter 2. Chapter 2 Software Engineering Methodologies Introduction Why a methodology? Agile methodologies Waterfall model Rational Unified.
Software Process Models.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
CS 4500: Software Development Software Process. Materials Sommmerville Chapters 1, 2 and 3 Software Cycle and Models:
Scrum Overview. Agenda What is scrum…and what it isn’t Scrum’s Characteristics The Scrum Process Scrum Phases Measurements Key Practices Backlogs Sprint.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
Scuola Politecnica Dipartimento DITEN Università degli Studi di Genova An Introduction to Scrum and XP Prof. Riccardo Berta.
CS223: Software Engineering
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Introduction to Software Engineering
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
Summarizing Our Models to Date
Scrum in Action.
Agile Development.
Presentation transcript:

Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. A Pragmatic Approach to Agile Development John Scumniotales Vice President, Product Management

2 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Application Development Distilled New application requests Enhancement requests Issues Defects New applications Improved applications Fixed applications Killed applications VisualizeDefineDesignDevelopBuildTestDeploy Strategic Tactical Predicable project execution Repeatable processes Managed software artifacts

3 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Application Development Distilled New application requests Enhancement requests Issues Defects New applications Improved applications Fixed applications Killed applications VisualizeDefineDesignDevelopBuildTestDeploy Strategic Tactical Predicable project execution Repeatable processes Managed software artifacts … so all this process stuff is just a means to an end, NOT the end in and of itself! … we need to do this as efficiently as possible to maximize the value we can return to the business …

4 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Traditional methodologies  Document driven  Hand-offs between stove- piped groups  Manage scope creep, resist new requirements  Late changes at high cost  Poor stabilization predictability System Requirements Analysis Requirements Analysis Preliminary Design Detailed Design Code and Unit Testing Integration & Acceptance Testing Installation and Turnover Operation and Maintenance Products Rework The Waterfall Chart W.W. Royce, 1970

5 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Agile Origins - The need for speed  In the early 90s, Object-orientation and Rapid application development environments emerged Smalltalk, then Java and C# Environments enabled rapid development, prototyping, and refactoring Design embodied in the code  Development could far out pace planning and testing processes  We either slow development down, or figure out how to keep pace  And then came the internet bubble and internet time

6 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Emergence of agile approaches  Traditional software development approaches Waterfall Spiral Incremental  Most assume that requirements are known and locked prior to design and development Controlling change is desirable  Agile has emerged in environments where this was not possible or appropriate Change is encouraged

7 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Agile methodologies  Adaptive Software Development (ASD)  Crystal  Dynamic Systems Development Method (DSDM)  Extreme Programming (XP)  Feature-Driven Development (FDD)  Scrum  Rational Unified Process (RUP)  Test-Driven Development  …

8 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. What is “agile development”? An umbrella term that describes software development methodologies that share some/all of the following characteristics

9 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Are you agile? Cross-functional teams that include the customer (or their proxy), development, test, and others Automated and unattended build, test, and reporting that runs at least every night Incremental approach that produces production quality capabilities at regular intervals Test-driven development that puts quality first

10 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. The Agile Team  Cross-functional All disciplines required to produce the product are on the team Involved from conception to launch Equal treatment and respect for all  Roles Project Manager / ScrumMaster Product Owner Developers Testers Writers …

11 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. An agile development approach Ongoing business and strategy activities Definition & Construction Launch Conception Release Commit RTM Sprint 0Sprint 1Sprint N-2Sprint N-1Sprint NSprints 2 through N-3 Demo High-level planning Requirements Elaboration Development & Test

12 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. An agile development approach Ongoing business and strategy activities Definition & Construction Launch Conception Release Commit RTM Sprint 0Sprint 1Sprint N-2Sprint N-1Sprint NSprints 2 through N-3 Demo High-level planning Requirements Elaboration Development & Test

13 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Conception  Initiated through ITIL/CAB, PMO or ad-hoc processes Internally generated requests Customer driven Market driven  Describe what your doing and why your doing it Customer need and/or market assessment Business case High-level use cases and requirements MRD-level information Level of formality will vary based on value/cost of the request  Typically involves formal approval processes  Evangelize project (post-approval) to stake-holders, customers, and prospects

14 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. An agile development process Ongoing business and strategy activities Definition & Construction Launch Conception Release Commit RTM Sprint 0Sprint 1Sprint N-2Sprint N-1Sprint NSprints 2 through N-3 Demo High-level planning Requirements Elaboration Development & Test

15 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. An agile development process Ongoing business and strategy activities Definition & Construction Launch Conception Release Commit RTM Sprint 0 Sprint 1Sprint N-2Sprint N-1Sprint NSprints 2 through N-3 Demo High-level planning Requirements Elaboration Development & Test

16 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Definition and Construction – “Sprint 0”  High-level planning and estimation  High-level backlog created from Conception deliverables  Backlog is reviewed and evaluated for achievability  When to use a Sprint 0? Long multi-release development cycle Significant post production activities need to be planned  e.g. Marketing launch

17 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Definition and Construction – “Sprint 0”  Each backlog item is prioritized and estimated High-level estimates (+/- 50% accuracy)  Resource capacity plan is developed for the project  Effort is compared to resource capacity and an initial burndown is projected  At the completion of Sprint 0, a Sprint review is performed for final project approval and kick-off of the next Sprint

18 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Example Project Backlog

19 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Example Project Backlog

20 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Example Project Backlog

21 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Example Project Backlog

22 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Resource Capacity and Allocations

23 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. The Project Burndown

24 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Incremental Planning  Incremental planning starts now  Feature content, release targets, capacity are continuously reviewed/discussed/debated by the project leads Project Leads: ScrumMaster/Project Manager, dev & test leads, product owner  This is where the term Scrum came from At times, the process can be brutal, but in the end a try can be scored

25 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. An Agile Development Process Ongoing business and strategy activities Definition & Construction Launch Conception Release Commit RTM Sprint 0 Sprint 1Sprint N-2Sprint N-1 Sprint N Sprints 2 through N-3 Demo High-level planning Requirements Elaboration Development & Test

26 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Kicking-off a Sprint  Product Owner and team leads identify backlog items for the sprint  The backlog items are elaborated User Stories Interaction design / screen flows  Feature content, release targets, capacity are re- calibrated by the project leads  Sprint is kicked-off with a team meeting to review and discuss goals

27 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Identify Sprint Backlog Items

28 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Identify Sprint Backlog Items

29 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. User Stories are elaborated

30 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Interaction Design / Screen flows

31 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Sprinting - Managing the work  User Stories drive development and testing Developers use the to determine what to build Testers use them to determine what to test  User Stories are be broken down into tasks Task work remaining is determined by whomever owns the task  Refines User Story work remaining and increases overall accuracy of the burndown Therefore, the more user stories that are implemented the more confidence we have with the target project completion  Progress, status and impediments are discussed in the daily stand-up

32 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Define User Story tasks

33 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. The Developer Inbox

34 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Sprinting – The Daily Stand-up  Team meeting every day at the same time in the same place  Everyone attends – Development, Test, Product Owner Pigs and chickens  Led by the ScrumMaster (Project Manager)  <15mins  Each member quickly reviews new accomplishments, next tasks, and raises any impediments Impediments resolved offline!  Whiteboards – the more the better

35 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Test-driven development  Initial goal: “Get something built and get it into maintenance mode” Jeff McKenna  The eXtreme approach – Test first development Tests are written by developers before the code Serve as software design Used to validate the implementation  Minimally, tests should be delivered with the code  Overtime, a significant suite of unit and component level tests is created (1000s of individual tests)  Open source test harnesses rock NUnit (Java), JUnit (C#) for component and unit testing Selenium for web UI testing

36 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. What happened to Architecture & Design?  Architecture and design can evolve  Modern (RAD) environments enable designs to be rapidly realized in code Refactoring features enable exploration of alternative approaches Test-automation enables rapid application regression testing  Mini-specs for high-risk, complex features  The architectural spike (Kent Beck)  But… these artifacts are disposed of as soon as we have operational code

37 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Test + Automation = Courage  Implementing unattended automated builds and testing are critical success factors  Ideally, the application is completely rebuilt from source every night …  … and, UI, component, unit tests are run …  … and, a report is generated and broadcast with test results  The build NEVER fails  With tests supporting the team, design and even architectural changes can be made and immediately validated

38 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. What about traditional SQA?  Absolutely essential!  They are imbedded in the team  Test Plans built during initial scoping stages (Sprint 0)  Test Cases derived directly from the User Stories  Manual test cases executed during the sprint as features are developed  Also contribute to UI and code-level test automation

39 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. You gotta have rhythm! Releases Sprints Feature Drops Automation Cycles Nested levels of agile rhythm

40 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. The Sprint Demo Meeting  Held at the completion of every sprint  Closes the previous sprint, kicks-off the next sprint  For the just completed sprint Demonstration of delivered features by the devs or testers who built them Review results and discuss any changes to planed scope  For the sprint about to start Review planned features Review project burndown  Ready to release? Are the key features ready? Product quality/stability?

41 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. An agile development approach Ongoing business and strategy activities Definition & Construction Launch Conception Release Commit RTM Sprint 0Sprint 1Sprint N-2Sprint N-1Sprint NSprints 2 through N-3 Demo High-level planning Requirements Elaboration Development & Test

42 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Are you agile? Cross-functional teams that include the customer (or their proxy), development, test, and others Automated and unattended build, test, and reporting that runs at least every night Incremental approach that produces production quality capabilities at regular intervals Test-driven development that puts quality first

43 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Characteristics of agile teams  Customer focused Customer (or their proxy) on the team Embrace customer-driven changes  High-quality software Test-first development Paired programming  Maniacal focus on getting product built Not on producing artifacts Early continuous delivery  Verbal communication over documentation Cross-functional teams  Incremental development Deliver production quality code High visibility and predictability  Rhythm and pace Continuous builds Automation obsession

44 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Agile adoption challenges  Large distributed development teams  Outsourced projects  Organizational change management  Situations where the customer is not a directly involved with product development  Shrink-wrap products with thousands of customers

45 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. How to institute agile in your shop  Get Help! If you don’t have agile experience, get an expert  Start small Find a reasonably sized project with limited external dependencies  Get 360 degree buy-in Your boss, piers, and subordinates Initial successes will help  If your environment is stable, predictable and controlled, then why bother  In the end, success will depend on the people

46 Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Serena Agile Product Support  Currently Available TeamTrack accelerator for Agile/Scrum development Agile/Scrum project management support in Mariner 6.2  Future Agile support for the enterprise Cross-product agile workflows More accelerator and feature content for agile development teams

Proprietary & Confidential — Copyright ©2006 Serena Software, Inc. Thank You!