Agile Adoption:Decreasing time to market

Page 1

Get More Refcardz! Visit refcardz.com

#45

Agile Adoption:

CONTENTS INCLUDE: n

n

n

n

About Agile Adoption What Agile Practices Improve Time to Market How to Adopt Agile Strategies Successfully Next Steps

Decreasing time to market By Gemba Systems Continuous Integration

About Agile Adoption

Continuous Integration

There are a myriad of Agile practices out there. Which ones are right for you and your team? What are the business values you want out of adopting Agile and what is your organization’s context? This Refcard is focused on helping you evaluate and choose the practices for your team or organization when getting to market faster is of prime importance. Instead of focusing on entire methods such as Scrum and XP, we will talk about the practices that are the building blocks of these methods such as iterations and automated developer tests. We will answer two basic questions:

Automated Acceptance Tests

Automated Developer Tests

Done State

Continuous integration (CI) is an advanced version of the “daily build” practice that has been around for years. The development team members perform CI by frequently integrating their code into the entire system and running all available automated tests. The system is integrated and tested several times a day.

Definition

Continuous integration reduces the total time it takes to build a software system by catching errors early and often. Errors caught early cost significantly less to fix when caught later. It leverages both automated acceptance tests and automated developer tests to give frequent feedback to the team and to pay a much smaller price for fixing a defect as shown in Figure 2.

Tim e to M arket

• What Agile practices should you consider to improve Time to Market? • How should you go about choosing from those practices given your organization and context?

A team that has control or can get access to their build environment will be able to perform continuous integration. Teams that have agreed on a done state can benefit from continuous integration as a supporting practice to catch any failed automatic tests early.

What Agile Practices improve time to market? More Effective

Continuous Integration

Iteration

Iteration Backlogs

Done State

Automated Acceptance Tests

Cost of Fixing Defect

w ww.dzone.com

D

Release Often Automated Developer Tests Simple Design

Onsite Customer

Cross Functional Team

Refactoring

C B A ...

Less Effective

...

Figure 1-

These are the Agile practices that improve time to market. The most effective practices are near the top of the diagram. Therefore iteration is more effective than Onsite Customer for improving time to market. The arrows indicate dependencies. Continuous Integration depends on Automated Developer Tests for it to be effective.

Time

You will be ale to use this Refcard to get a 50,000 ft view of what will be involved in your team’s delivery speed.

Iteration

Figure 2- The cost of fixing a defect increases over time because of context switching, communication, and bugs being built on existing bugs.

Iteration

tech facts at your fingertips

Agile Adoption

Kickoff Meeting

Iteration Backlogs

Automated Acceptance Tests

Done State

Demo

Get More Refcardz

Retrospective

(They’re free!)

*Practices in pink are ones that don’t directly address time to market but are needed to support practices that do (hence a dependency). They are not described in this Refcard but can be found in the external references.

Definition

An iteration is a time-boxed event that is anywhere between 1 to 4 weeks long. The development staff works throughout this period – without interruption – to build an agreed upon set of requirements that are accepted by the customer and meet an agreed upon “done state”.

n

Method Name open(method, url, async)

Tim e to M arket

To get the most of an iteration and reduce your time to market, an iteration needs to work from an iteration backlog and reach a solid done state at its completion. Such an iteration reduces time to market because every time-boxed iteration is a potential release. There is little “work in progress” between iterations and defects are found early and often for cheaper and faster removal.

onreadystatechange

Parameters and Descriptions a URL open a connection to (GET, POST, etc.) method = HTTP verb include querystring url = url to open, may asynchronous request async = whether to make

Hot Tip

as callback (similar to onclick, assign a function object event model) onload, etc. in browser

setRequestHeader (namevalue) send(body) abort() readyState httpStatus responseText responseXML getResponseHeader (name) rs() getAllResponseHeade

add a header to the HTTP

tech facts at

request

send the request as request body body = string to be used for the response stop the XHR from listening (only populated after send() stage in lifecycle of response is called) after (integer, only populated The HTTP return code loaded state) response reaches the set after JavaScript string (only body of response as a interactive readyState) the reaches response (only as a XML document object body of the response the interactive readyState) set after response reaches read a response header

by name

Get an array of all response

header names

your fingertips

Subscribe Now for FREE! Refcardz.com

Any software team that is building software where they are not 100% sure of their outcome is a candidate for performing iterations. Without iterations the majority of learning (from mistakes) only happens at the end and coursecorrections are difficult if not impossible.

DZone, Inc.

Authoritative content Designed for developers n Written by top experts n Latest tools & technologies n Hot tips & examples n Bonus content online n New issue every 1-2 weeks n

|

www.dzone.com


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
Agile Adoption:Decreasing time to market by Yannick Dupuis - Issuu