agile and iterative methods with bmc remedy ar system › servlet › jiveservlet... · of several...

36
9/5/2006 Agile and Iterative Methods with BMC Remedy AR System Rich O’Connell, Enterprise System Architect, YellowTwist Inc.

Upload: others

Post on 03-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006

Agile and Iterative Methods with BMC Remedy AR System

Rich O’Connell, Enterprise System Architect, YellowTwist Inc.

Page 2: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software2

Overview

Agile and Iterative methods with BMC® Remedy® Action RequestSystem® (AR System®)

› Description of Agile and Iterative methods› The problem Agile and Iterative methods are trying to address› How they differ from other methods› How they can be incorporated into AR System development› Case Studies› Summary› References› Questions

Page 3: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software3

Agile and Iterative methods with AR System Iterative Methods – Definition

› Iterative Development– An approach to building software in which the overall lifecycle is composed

of several small phases or iterations in a sequence.– Each iteration is a self contained mini project– The goal of each iteration is to produce stable, tested, partially complete

software.– Most iterations are internally released to solicit feedback from select

customer representatives, product managers, QA, etc.– The final iteration is the production release.

Page 4: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software4

Agile and Iterative methods with AR System Agile Methods - Description

› The Agile Software Alliance, a group of 17 software methodologists, formulated a collection of principles to address the shortcomings of the traditional software development process.

› The core tenets of agile development are:– Individuals and interactions over process and tools– Working software over comprehensive documentation– Customer collaboration over contract negotiation– Responding to change over rigidly following a project plan

› Agile methods are a subset of iterative methods

Page 5: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software5

Agile and Iterative methods with AR System The Problem – Why is this important

› “Analysts report that as many as 71 percent of software projects that fail do so because of poor requirements, making it the single biggest reason for project failure—bigger than bad technology, missed deadlines or change management fiascoes.”

CIO Magazine – 11/15/2005

Page 6: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software6

Agile and Iterative methods with AR System Factors that contribute to Poor Requirements (Customer)

› Customer Problems with Requirements– Are not sure what they want.– Have difficulty articulating all they want and know.– The details of what they want are only revealed during development.– The details are overwhelmingly complex.– As they see the product develop, they change their mind.– External forces (e.g. competitor’s products) lead to changes or enhancement

requests.

Page 7: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software7

Agile and Iterative methods with AR System Factors that contribute to Poor Requirements (IT)

› IT Problems with Requirements:– Has difficulty capturing, organizing and managing requirements. – Does a poor job of ensuring that requirements are understood.– Is too eager to please and does a poor job of assessing needs vs. wants

Page 8: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software8

Agile and Iterative methods with AR SystemIT and Customer Communication

Page 9: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software9

Agile and Iterative methods with AR SystemThe Agile and Iterative Lifecycle

Feedback

Build for Some Requirements

Build for Some Requirements

Build for Some Requirements

Feedback

CustomerRelease

InternalReleaseInternal

Release

CodeBase

Time

Page 10: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software10

Agile and Iterative Methods with AR SystemHow do they address the problem ?

› How Agile Methods Help– Divide the problem into smaller, more manageable pieces.– Addresses high risk areas early in the process.– Focuses on what is most important to the customer.– Accept change as inevitable and plan for it as part of the lifecycle.– Constantly solicit input from real customers and allow for incorporating it into

the product.– Better Communication between customers and IT Staff !!!

Page 11: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software11

Agile and Iterative Methods with AR System How is it different from other Methods

› Waterfall Methodology› Prototyping Methodology

Page 12: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software12

Agile and Iterative methods with AR System Waterfall Methodology –Definition

› Waterfall Methodology Definition– Requirements are known up front – Each phase is dependent on completion of previous phase– Customer works from documents and specifications– Software is delivered in the final stage of the lifecycle– Little or no accommodation for change

Page 13: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software13

Agile and Iterative methods with AR System Waterfall Methodology Lifecycle

Analysis

Design

Code

Test

Maintain

Implement

Page 14: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software14

Agile and Iterative methods with AR System Waterfall Methodology - Problems

› Waterfall Methodology Problems– Assumes that requirements are known and stable – Does not inherently address high risk areas early in the process– Customer doesn’t see any working software until late in the process– Does not accommodate change

Page 15: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software15

Agile and Iterative methods with AR System Waterfall Methodology - Rope Swing Analogy

As proposed by the project sponsor

Page 16: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software16

Agile and Iterative Methods with AR System Waterfall Waterfall Methodology – Rope Swing Analogy

As specified in the requirements document

Page 17: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software17

Agile and Iterative methods with AR System Waterfall Methodology – Rope Swing Analogy

As designed by the senior analyst

Page 18: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software18

Agile and Iterative methods with AR System Waterfall Methodology – Rope Swing Analogy

As produced by the programmers

Page 19: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software19

Agile and Iterative methods with AR System Waterfall Methodology – Rope Swing Analogy

What the customer really wanted

Page 20: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software20

Agile and Iterative methods with AR System Prototype Methodology –Description› Prototyping - Definition

– A mockup or prototype of the system is built (paper or software)– The prototype is used to refine/clarify requirements– Requirements are declared complete after a number of prototype revisions– System design, build and test start after prototype and requirements are

complete.

Page 21: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software21

Agile and Iterative methods with AR System AR System Application Development Lifecycle

RefineRequirements

UsabilityCheckpoint

User Input / Changes

Go-Live Checkpoint

RequirementsAnalysis

System Design /Prototype Development User Review /

Testing Implementation Maintenance

Stage 1 Stage 2 Stage 3

© BMC Corporation

Page 22: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software22

Agile and Iterative methods with AR System Prototyping Method - Problems

› Prototyping Methodology Problems– Assumes that requirements are known and stable after prototype is

complete.– Does not inherently focus on risk areas first.– Customer doesn’t see any working software until later in the process– Does not accommodate changing requirements after prototyping is

complete.– Carries an inherent risk that a “thrown together” software prototype will be

forced into production.

Page 23: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software23

Agile and Iterative methods with AR SystemThe Agile and Iterative Lifecycle

Feedback

Build for Some Requirements

Build for Some Requirements

Build for Some Requirements

Feedback

CustomerRelease

InternalReleaseInternal

Release

CodeBase

Time

Page 24: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software24

Agile and Iterative methods with AR System Agile and Iterative Rope Swing Analogy

Iteration 1 – Choose tree branch• Customer verifies height, strength of the branch • Choose different branch if necessary

Iteration 2 – Attach rope to branch and cut to length• Customer verifies rope length and knot• Re-tie or adjust length as necessary.

Iteration 3 – Attach rope to tire• Customer verifies knot and height of swing

from ground.• Re-tie or adjust length as necessary.

Iteration 4 – Swing tire• Customer verifies swing action• Adjust knots as necessary

The Agile way

Page 25: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software25

Agile and Iterative methods with AR System How to apply this to AR System development

› Develop an iteration plan based on:– High Risk areas – complex critical workflow, performance considerations– Customer importance– Dependencies between developers or system interfaces– Time

› Adapt and Adjust– Solicit feedback from customers– Adjust and change based on feedback and risk areas– Produce working software– Re-work iteration plan

Page 26: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software26

Agile and Iterative methods with AR System Agile and Iterative Methods – AR System components

Early Iterations Later IterationsTime

Data/GUI• Critical Forms,

Fields• Menus,

Navigation Active Links

Simple Workflow• More complex Active

Links• Filters

Critical System Interfaces

• APIs, Web Services, DSO

Complex Workflow, Reports, etc

• SR Routing• Reports• Other required

workflow

Page 27: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software27

Increment 1

Code Base TargetEnvironments

Data Persistence• Forms (Main)• Fields• Help Text• GUI Design• Core Components

Increment 2

Menus/Navigation• Menus• Navigation to/from forms• Lookup Data• Corrections from previous increments

Increment 3Business Rules• Field Validation• System Interfaces• Simple Workflow

Increment 4

Complex Biz Rules• Routing• Complex Biz Rules• Corrections from previous increments

Release Packages

QA/Test

CustomerTest

Increment n(Time boxed)

Additional Biz Rules• Additional business rules• Corrections from previous increments

. . .

Agile and Iterative methods with AR System Iteration Plan in AR System Development (Sample)

Page 28: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software28

Agile and Iterative methods with AR System Agile/Iterative Methods – Case Studies – Customer A

› Manufacturing Business– Custom Change Management AR System Application– Heavily Process Oriented– Traditional users of the Waterfall methodology

› Used iterative techniques to address:– Large development team with lots of interdependencies– Customer request to have working software early in the process– Complex product with complex business rules– High risk areas

› Iteration Plan– Major Forms and fields in first iteration – focus on GUI and data– Menus and navigation workflow in second iteration – focus on flow of

application– Time boxed iteration (weekly) for complex workflow, reports, etc for

subsequent iterations.

Page 29: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software29

Agile and Iterative methods with AR System Agile/Iterative Methods – Case Studies – Customer A

› Company A Results– Successes

• Dependencies between developers were satisfied early on (large team)• Code Integration was forced earlier in the process• Areas of high risk were addressed up front• Customers were able to interact with a partially functioning system early in the

lifecycle.– Difficulties

• Customers and testers were uncomfortable with partially working software• It was difficult to keep the specs/test scripts (as dictated by the process) up to

date with the changing software.• The code promotion process had difficulty keeping up with the rate of change

– Conclusions• Some success was achieved• The organization’s inability to adapt to change made it difficult to fully realize all

of the benefits of agile and iterative methods.

Page 30: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software30

Agile and Iterative methods with AR System Agile/Iterative Methods – Case Studies – Customer B

› Telecommunications Business– Custom Help Desk AR System Application– Not Process Oriented– Traditional users of the varied methods (if any)

› Used iterative techniques to address:– Customers’ request to have working software early in the process– Complex product with complex business rules

› Iteration Plan– Major Forms and fields in first iteration – focus on GUI and data– Time boxed iteration (weekly, then bi-weekly) for more complex workflow,

reports, etc for subsequent iterations.– Iteration content was customer driven based on business priority.

Page 31: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software31

Agile and Iterative methods with AR System Agile Iterative Methodology – Case Studies – Customer B

› Company B Results– Successes

• Dependencies between developers were satisfied early on• Code Integration was forced earlier in the process• Areas of high risk were addressed up front• Customers were able to interact with a partially functioning system early in the lifecycle.• Customers were fully engaged in the requirements feedback loop early on.• Processes for code promotion, testing, etc were flexible and light enough to accommodate

the high rate of change.

– Difficulties• Documentation was not kept up to date

– Conclusions• Success was achieved• Customers were very satisfied with the implementation• The organization’s ability to adapt to change allowed it to fully realize all the benefits of

agile/iterative methods.

Page 32: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software32

Agile and Iterative methods with AR System Agile and Iterative Methods– Application Appropriateness

› Appropriate for applications– Where there is a high degree of novelty or complexity– Where the system is a complete redesign of an existing business process– Where its never been done before

› Inappropriate for applications– For "cookie cutter" applications – Slight modification of out of the box solutions (i.e. change management

installation)

Page 33: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software33

Agile and Iterative methods with AR System Agile and Iterative – Organizational Considerations

› More Successful Implementations– Companies that are used to a high rate of change and have processes that

can support it.– Organizations that have no barriers in engaging with customers.– Companies where customers are willing to take an active role in the process.– Companies where IT Staff are willing to try something new.

› Less Successful Implementations– Companies that are used to complete up-front design and engineering.– Companies where the introduction of change is disruptive

Page 34: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software34

Agile and Iterative methods with AR System Specific Agile and Iterative Methods

XP - Extreme Programming– Small Frequent Releases– Simple Design– Test Driven Development– Pair Programming– Continuous Integration– Just enough Documentation

Scrum – Self Directed Teams– Daily Stand-ups– 30 day iteration cycle– Customer Demos– Client Driven adaptive Planning

Page 35: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software35

Agile and Iterative methods with AR System Agile and Iterative – Web Resources

› Agile in General – www.agilealliance.com› XP Programming – www.extremeprogramming.org› Agile Modeling – www.agilemodeling.com› Agile Project Management – www.cutter.com› Agile Methods – www.martinfowler.com› Agile Management – www.craiglarman.com› Agile Wiki – www.c2.com/cgi/wiki?FindPage› Agile and AR System – www.yellowtwist.com

Page 36: Agile and Iterative Methods with BMC Remedy AR System › servlet › JiveServlet... · of several small phases or iterations in a sequence. ... QA, etc. – The final iteration is

9/5/2006 ©2006 BMC Software36

Agile and Iterative methods with AR System Q&A

› Questions ???