Agile Software Development



Similar documents
Projektmanagement und Agile Entwicklungsprozesse

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

Course Title: Managing the Agile Product Development Life Cycle

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Quality Assurance in an Agile Environment

(Refer Slide Time: 01:52)

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

Five best practices for deploying a successful service-oriented architecture

Product Development Best Practices

Taking the first step to agile digital services

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Issues in Internet Design and Development

Applying Agile Project Management to a Customized Moodle Implementation

Agile Requirements Best Practices

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

CSPO Learning Objectives Preamble. Scrum Basics

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

Best Practices in Release and Deployment Management

Benefits of Test Automation for Agile Testing

Skatteudvalget (2. samling) SAU Alm.del Bilag 48 Offentligt. Programme, Project & Service Management Analysis

Adopting a Continuous Integration / Continuous Delivery Model to Improve Software Delivery

WHY DO I NEED A PROGRAM MANAGEMENT OFFICE (AND HOW DO I GET ONE)?

Information Systems Development Process (Software Development Life Cycle)

Scrum Is Not Just for Software

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

Lean Software Development

The OMG BPM Standards

Establishing your Automation Development Lifecycle

Course Title: Planning and Managing Agile Projects

Product Development: From Conception to Execution. Slide 1

Introduction to Agile Software Development Process. Software Development Life Cycles

Use service virtualization to remove testing bottlenecks

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Strategy for Application Modernization A Summa White Paper

Scope Management. It is not the strongest of the species that survive, nor the most intelligent, but the ones most responsive to change.

Axe in the Agile World

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Bridging the Gap Between Acceptance Criteria and Definition of Done

Applying Agile Methods in Rapidly Changing Environments

AGILE SOFTWARE TESTING

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Orthogonal Defect Classification in Agile Development

Maximize the synergies between ITIL and DevOps

Increasing frequency of releases to every week down from quarterly major releases

Expert Reference Series of White Papers. Intersecting Project Management and Business Analysis

Software Development Life Cycle (SDLC)

Lowering business costs: Mitigating risk in the software delivery lifecycle

Collaborative Project Management in a DevOps Culture

Agile So)ware Development

Collaborating for Quality in Agile Application Development From Beginning to End

Manage projects effectively

Development. Lecture 3

EMA Service Catalog Assessment Service

QUICK FACTS. Providing Application Development and Data Migration Support for a Leading Healthcare Company

How To Get A Tech Startup To Comply With Regulations

Qlik UKI Consulting Services Catalogue

SPECIFICATION BY EXAMPLE. Gojko Adzic. How successful teams deliver the right software. MANNING Shelter Island

MNLARS Project Audit Checklist

Microsoft Modern ALM. Gilad Levy Baruch Frei

Software Development Processes. Software Life-Cycle Models

How To Build A Social Network For A Business

Scrum methodology report

RUP for Software Development Projects

Sreerupa Sen Senior Technical Staff Member, IBM December 15, 2013

Mastering the Iteration: An Agile White Paper

Good Agile Testing Practices and Traits How does Agile Testing work?

Scrum Methodology in Product Testing : A Practical Approach

White Paper. Fundamentals of Performance Testing

THE BUSINESS VALUE OF AGILE DEVELOPMENT

When agile is not enough

Netstar Strategic Solutions Practice Development Methodology

Scrum vs. Kanban vs. Scrumban

The Agile Manifesto is based on 12 principles:

The Agile Factory Model vs. Waterfall at SITA

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

Essential Elements for Any Successful Project

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring

Practice Overview. REQUIREMENTS DEFINITION Issue Date: <mm/dd/yyyy> Revision Date: <mm/dd/yyyy>

Begin Your BI Journey

A discussion of information integration solutions November Deploying a Center of Excellence for data integration.

Crosswalk Between Current and New PMP Task Classifications

Bridging the Gap: Traditional to Agile Project Management. I. S. Parente 1. Susan Parente, PMP, PMI ACP, CISSP, PMI RMP, ITIL, MSEM;

Table of contents. Enterprise Resource Planning (ERP) functional testing best practices: Ten steps to ERP systems reliability

Offshore SOA Service Factory For production of cost-effective, shared services

OPTIMUS SBR. Optimizing Results with Business Intelligence Governance CHOICE TOOLS. PRECISION AIM. BOLD ATTITUDE.

Changing Roles and Responsibilities from Traditional project management to Agile project management

Distributed Agile Development in the Cloud

Transcription:

IBM Software Group Agile Software Development Dr.-Ing. Thomas Stober Release Architect, WebSphere Portal IBM Deutschland Entwicklung GmbH 2007 IBM Corporation

Agenda Introduction WebSphere Portal About the team, the product.. and the traditional development approach Agile Software Development A variety of approaches Mix and Match Agile development for Portal Best practices 2

IBM Software Group Introduction 2007 IBM Corporation

About WebSphere Portal: The Team Global development 8 major locations Multiple delivery streams Major releases every 1 ½ years Express Fix packs Other product dependencies WebSphere Application Server WebSphere Process Server Quickr And many more Westford Raleigh Boeblingen Haifa Haifa India India Beijing Beijing Yamato Sidney Sidney 4

About Portal: Traditional Development Approach Management System Commitment, WHAT has to be developed IPD Integrated Product Development DCP Decision Check Points Concept Plan Availability Release Content Portal Development Process Description, HOW to develop Analysis Requirements Design and Development Line Items Design Documentation DCUT Design-Code-Unit- scenarios IUT Integrated Unit FVT Function Verification SVT System Verification Final regression testing GM Golden Master 5

About Portal: Traditional Development Approach Analysis The Perfect Plan Develop Coding complete Golden Master 6

The Perfect Plan Does NOT Exist! Human life is just an instance, its existence is subject to continuous change. Marc Aurel If anything can go wrong, it will. Murphy s Law 7

Waterfall Approach: Getting Tougher Towards the End Analysis Kosten/Umfang The Perfect Plan Zeit Qualität Develop Coding complete $ Fehlerkosten t Golden Master 8

When Everybody gets really nervous Develop Projected Defects Projected Valid Actual Defects Actual Valid Plan: Total Backlog complete Reality: we are not done 14000 Coding complete 12000 14000 12000 10000 8000 6000 4000 2000 10000 8000 6000 4000 2000 0 0 9 20051102 20051109 20051116 20051123 20051130 20051207 20051214 20051221 20051228 20060104 20060111 20060118 20060125 20060201 20060208 20060215 20060222 20060301 20060308 20060315 20060322 20060329 20060405 20060412 20060419 20060426 20060503 20060510 20060517 20060524 20060531 Total & Valid Defects GM

The Vasa Project, 1628 http://www.vasamuseet.se 10

Planning is good but has its limits Accept uncertainty There is no perfect plan Customer does not know or describe his requirements clearly enough Technical solution is not entirely understood Errors in design and implementation can invalidate plans Changes in team are possible at any time Change of customer requirements and your priorities are possible at any time Risk Management The most dangerous events are those which are not predictable Plan for Change! It ain't what you don't know that gets you into trouble. It's what you know for sure that just ain't so. Mark Twain 11

IBM Software Group Agile Software Development 2007 IBM Corporation

What is Agility? React to changing requirements and constraints Balance between Flexibility and Structure Within your organization During planning and execution When using processes and tools In your mentality 13

Agility: Keep the balance between predictable Structure and total Flexibility (I) Flexibility is good, but no for free! Airline Tickets are cheaper when you commit to your destination and travel dates early! Same is true for product features Provide best possible guidance and planning! Don t use Agility as an excuse for lack of planning and design Establish high-level goals and timelines Keep risks in mind and have mitigation plans ready Make sure that a plan has sufficient buffer to accommodate change 14

Agility: Keep the balance between predictable Structure and total Flexibility (II) Understand two fundamental cultural patterns according to Edward T. Hall, http://en.wikipedia.org/wiki/edward_t._hall Monochronism demands a planned, deliberate control over time. This is a task-oriented way of living. Individuals like to identify time periods when certain activities will be done. Their strengths may be utilized in developing schedules whose exactness and precision allows workers to function in a cooperative manner. It 's efficient for getting things done and it dominates most parts of the US and other industrialized countries. Polychronism is the perception of time as merely a context in which we live. Tasks are handled as they come. Such jobs require that the individuals constantly adjust to incoming new jobs and responsibilities. They enjoy change as part of their job (and) changing from one activity to another is the part of this pattern. This is a relationship-oriented way of living. It's efficient for building community, personal, and social relationships, and it dominates Asia, as well many rural areas. 15

IBM s definition of Agile Development Uses continuous stakeholder feedback to deliver high-quality and consumable code through use cases and a series of short, time-boxed iterations. Key Features: Stable code at the end of each iteration be able to ship every few weeks Meaningful stakeholder interaction get customer feedback outside-in-design. Avoid anything that does not add value (waste). Trust the team delegate responsibility establish teams responsible for end-to-end functionality (reduce hand-offs and task switching) 16

IBM Software Group Mix and Match: Agile Development for Portal 2007 IBM Corporation

Horizontal Teaming Theme & Component Matrix Themes Components Infrastr. CMAPI Security Owner Owner Owner Owner Owner Owner Organizational Focus component affinity. Goal/Delivery Focus major cross-cutting themes. Horizontal (= Tiger ) -Teams Owner Owner 18

INCEPTION --- STEP 1: Translating Customer Requirements into Vision/High Level Goals Vision Decision Customer I want a really cool user interface, which is state of the art Leadership Team Vision - Create a new User Interface - Support WAS 6.1 I want to leverage the most recent WAS as the common platform within my company Prioritization Strategy planning Release planning Budget allocation /staffing High level use cases Decision (staffing, rough timeframe and high-level goals) Deliver a release in 3Q07, and another in 1Q08 Invest 5 people to create a new User Interface Invest 4 people to support WAS 6.1 19

INCEPTION --- STEP 2: Translating Vision/High Level Goals into actual Requirements/Line Items Decision Content High-level goal Discussion Decision (staffing, rough timeframe and high-level goals) Deliver a release in 3Q07, and another in 1Q08 Invest 5 people to create a new User Interface Invest 4 people to support WAS 6.1 Leadership Team Invest 5 people to create a new UI Invest 4 people to support WAS 6.1 Leverage Ajax Tiger Team Leads Move from WMM to VMM Java 5.0 compliance Timeframe Discussion Teamcharter Requirements HCDD, plan Efforts Staffing Priorities Inception Teamcharter Requirements HCDD Plan Efforts Staffing Priorities Deliver a 6.0.2 release in 3Q07 and a 6.1 release in 1Q08 StabilizationPoints (Iteration Points Exits) GM Release 6.0.2 GM Release 6.1 Translating high-level goals into technical requirements and line items Content (requirements and plan outline) 20

INCEPTION --- STEP 3: Create an Iteration Plan Leadership Team Adjust Vision, Decision (staffing/timeframe/goals) when necessary Content (requirements and plan outline) Teamcharter Requirements HCDD Plan Efforts Staffing Priorities Teamcharter Requirements HCDD Plan Efforts Staffing Priorities LineScen. item Line item Line item Scen. Line Scen. item StabilizationPoints (Iteration Exits) Line item Scen. Line item Adjust priorities, requirements line items when necessary GM Release 6.0.2 Line itemline Scen. item Iteration Plan (Line Items for execution) GM Release 6.1 Line item Scen. Line item Work for a future release Tiger Team Content Plan Create a Plan... based on given timeframe... based on given goals... based on agreed teamcharter Iteration Plan - agile, adaptive - strategic cross-release thinking - includes Dev and work items Working - use case driven, - decentralized, - within given high level goals - in horizontal teams 21

ELABORATION, CONSTRUCTION --- STEP 1: Executing an Iteration Plan Iteration Plan (Line Items for execution) Teamcharter Requirements Line Items HCDD Plan Efforts Staffing Priorities Teamcharter Requirements Line Items HCDD Plan Efforts Staffing Priorities Tiger Team Leads Design Line item Scen. Line item Common CMVC Rel. 6.0.2 Design Line item Scen. Design Design Line item Scen. Line itemline Scen. item StabilizationPoints (Iteration Exits) Actual Code in CMVC streams Release Closure Release Management GM Release 6.0.2 Common CMVC Rel. 6.1 Design Line itemline Scen. item Tracking Status PCR Adjustment (when necessary) Release Closure Design Plan Code Monitoring GM Release 6.1 Line itemline item Scen. Work for a future release Future Release CMVC = Code repository 22

TRANSITION --- STEP 1: Release Closure Deliverables Release Quality Assessment Release Management Line item Line Scen. item Scen. Common CMVC Rel. 6.0.2 Tiger Teams Line item Iteration Exit Iteration Exit Scen. Line item Good Driver Line itemline item Scen. Deliverable Quality Assessment IUT Scen. Scen. Iteration Exit StabilizationPoints (Iteration Exits) GVT Iteration Exit Deliverable Quality Assessment IUT Good Driver Extended FVT Perf. ing Line itemline item TVT SVT Scen. Scen. Acceptance Final Regr Teams Line itemline item Work for a future release GM Release Scen. Scen. 23

Example: The Web 2.0 Tiger Team (I) Leadership Team Goals Business Scenarios Early Delivery as Portal V6.1 Beta Demo of Prototype on Greenhouse Demo at LotusSphere 09/2006 Mission defined Initial Team staffed GM Delivery as Portal V6.1 Beta 09/2007 Mission updated Plan aligned with Portal V6.1 Drag&Drop Themes & Skins Back Button 03/2007 Mission updated Plan aligned with Portal V6.0.2 REST Services Basic Client Side Theme Demo Portlets Semantic Tagging Client Side Programming Model AJAX Proxy, Access Control Property Broker Accessability and I18n 05/2008 (plan) Mission completed: GM Delivery with Portal V6.1 Business Portlets Project Mgnt Business Portlets Portlet Container Engine Web 2.0 Tiger Team Admin UI 24

IBM Software Group Summary and Best Practices 2007 IBM Corporation

Agile Development Outside In Design driven based on use cases Think horizontally across Organizations Sustainable Pace Continuous integration of code Stabilization points Prototyping and early customer feedback Learn as we go Allow teams to stay focused It s a lot about philosophy There is NO general rule Mix and Match is common Accept that Change is part of your plan Needs commitment by the entire organization 26

Critical for Success: Management Responsibility Initiate Tiger Teams early with staffing based on the budget decided Provide sufficient guidance to the teams: Provide a feature grid and a timeline grid Communicate a well defined overall Vision and high level Goals Communicate a rough timeline in which deliverables are expected Make clear and timely decisions Balance detailed goals versus flexibility Delegate responsibility to the teams Teams do detailed planning and prioritization of Line Items within the given High Level Goals they are the subject matter experts they have the authority to act within give guidance and goals Allow teams to focus on making progress be extremely cautious with re-planning and adjustment of goals ( next chart) 27

Critical for Success: Planning Responsibility Support Agility Do not overcommit a Tigerteam Only commit to really important must-have work items. Don t be too aggressive. Be realistic. Drive Content based on use cases and customer value Plan for test coverage and execution (automation!!) Anticipate changes throughout the project and be prepared to adapt to changes Stick to schedule/iteration length, but rather move content around ( time boxing ) Avoid excessive use of Agility Change is good! But it doesn t come for free Allow the team to stay focused Keep overall vision, high level goals and rough timeline as stable as possible Allow the team to execute Limit re-planning exercises, unless absolutely necessary Avoid team members being side-tracked Allow the team to gain a common team spirit Avoid changing team members too often 28

Critical for success: Collaboration Collaborate across component and location boundaries We = Tiger Team Avoid constantly changing team members Ensure a reasonable staffing Integrate test and development members Common goals Exchange of expertise More effective, quicker defect turnaround Integrate team members across locations and organizations We are a globalized company End-to-End thinking based on use cases Out of the box thinking Responsibility for customer value rather than component function Ensure component consistency and quality Associate a manager which supports the Tiger Team 29

IBM Software Group Your Questions, please... tstober@de.ibm.com 2007 IBM Corporation