0% found this document useful (0 votes)
98 views6 pages

Lean Software Development

Uploaded by

Yasir Kazm
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views6 pages

Lean Software Development

Uploaded by

Yasir Kazm
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

brought to you by...

#93
Get More Refcardz! Visit refcardz.com

CONTENTS INCLUDE:
n

n
About Lean Software Development
Getting Started Getting Started with
Lean Software Development
n
Zero Practices
n
Daily Standup
n
Automated Testing
n
Continuous Integration and more...
By Curt Hibbs, Steve Jewett, and Mike Sullivan
to accomplish a task, recognizing their efforts, and standing by
ABOUT LEAN SOFTWARE DEVELOPMENT them when those efforts are unsuccessful.

Lean Software Development is an outgrowth of the larger Lean Optimize the Whole
movement that includes areas such as manufacturing, supply Optimizing the whole development process generates better
chain management, product development, and back-office results than optimizing local processes in isolation, which is
operations. Its goal is the same: deliver value to the customer usually done the expense of other local processes.
more quickly by eliminating waste and improving quality.
Lean vs. Agile
Though software development differs from the manufacturing
Comparing Lean and Agile software development reveals
context in which Lean was born, it draws on many of the same
they share many characteristics, including the quick delivery
principles.
of value to the customer, but they differ in two significant
Seven Principles of Lean Software Development ways: scope and focus. The narrow scope of Agile addresses
Lean Software Development embodies seven principles, the development of software and focuses on adaptability to
originally described in the book Implementing Lean Software deliver quickly. Lean looks at the bigger picture, the context
Development: From Concept to Cash1, by Mary and Tom in which development occurs, and delivers value quickly by
www.dzone.com

Poppendieck. Each of these seven principles contributes to the focusing on the elimination of waste. As it turns out, they are
“leaning out” of a software development process. complementary, and real world processes often draw
from both.
Eliminate Waste
Waste is anything that does not contribute value to the GETTING STARTED
final product, including inefficient processes, unnecessary
documentation, and features that won’t be used. Eliminating Newcomers to Lean Software Development sometimes have
waste is the guiding principle in Lean Software Development. trouble implementing a Lean process. The Lean principles
don’t describe an “out-of-the-box” solution, so one approach
Build Quality In
is to start with an Agile methodology. However, a number
Building quality into a product means preventing defects,
of methodologies exist, and choosing the right one can be
rather than using post-implementation integration and testing
difficult.
to detect them after the fact.
Getting Started with Lean Software Development

Create Knowledge One Step at a Time


The knowledge necessary to develop a project, including All is not lost. What follows is a set of inter-related practices
requirements, architecture, and technologies, is seldom organized in a step-by-step fashion to allow projects to
known or understood completely at project startup. Creating implement Lean Software Development one step at a time.
knowledge and recording it over the course of the project
ensures the final product is in line with customer expectations.

Defer Commitment
Making irreversible decisions at the last reasonable moment
allows time for the creation of more knowledge, which
results in better decisions. Deferring commitment is positive
procrastination.

Deliver Fast
Delivering fast puts the product in front of the customer
quickly so they can provide feedback. Fast delivery is
accomplished using short iterations, which produce software
in small increments by focusing on a limited number of the
highest priority requirements.

Respect People
Respecting people means giving the development team’s most
important resource, its members, freedom to find the best way

DZone, Inc. | www.dzone.com


2
Getting Started with Lean Software Development

The following practices can stand-alone, and implementing of commands (a script) that creates the final product from the
any of them will have a positive effect on productivity. Lean source code stored in SCM. Scripts may be simple command
Software Development relies on prioritization, so the practices files, make files, or complex builds within a tool such as
are prioritized to generate the highest return on investment. Maven or Ant.
While implementing any one practice will help lean out a
process, doing them in order will return the most Scripted builds eliminate the potential errors of manual builds
“bang for the buck.” by executing the same way each time. They complete the basic
development cycle of making changes, updating the SCM
The list of six practices is preceded by two prerequisites, or repository, and rebuilding to verify there are no errors.
“zero practices”, every software project should be doing, Select an appropriate build tool for your project. Integrated
whether Lean, Agile or something more traditional. If your development environments like Visual Studio or Eclipse have
project doesn’t do these things, this is the best place to start. build managers or integrate with 3rd party build managers.
Create a script that builds the product from scratch, starting
with source code from SCM.
ZERO PRACTICES

Source Code Management and Scripted Builds are


prerequisites for other practices outlined here. They are
referred to as zero practices because they need to be in place
before taking the first step toward Lean Software Development.

Source Code Management


Source code management (SCM) is a shared repository for all
artifacts needed to build the project from scratch, including
source code, build scripts, and tests. SCM maintains the latest
source code so developers and build systems have
up-to-date code.

Figure 2: Zero Practices

Lean Principles
• Create Knowledge: SCM consolidates project knowledge
in a single place.
Figure 1: Centralized Repository
• Eliminate Waste: Manual work is eliminated by
Source code management is the first practice described automating builds.
because it is the foundation for a practical development
• Build Quality In: Automating builds eliminates a source
environment, and it should be implemented before going any
of errors.
further.

• Select an appropriate SCM system. Subversion is a DAILY STANDUP


popular open source option. Git is a newer distributed
SCM system useful for large projects and Daily standup meetings allow each team member to provide
distributed teams. status and point out problems or issues. The meetings are
short and not intended to resolve problems, rather they
• Put everything needed to build the product from scratch serve to make all team members aware of the state of the
into the SCM system so critical knowledge isn’t held only development effort.
by specific individuals.
Borrowing from the Scrum methodology, standups are
Scripted Builds conducted by having each member of the team answer three
Scripted builds automate a build process by executing a set questions:

DZone, Inc. | www.dzone.com


3
Getting Started with Lean Software Development

What did I do yesterday? • Develop integration tests by combining code modules


and testing the modules together.
What will I do today?
What problems do I have? • Use stubs and mock objects to stand in for code which
has not yet been developed.
Effective daily standups result from adhering to several
simple rules: Developing automated tests alongside production code
may be a paradigm shift for many developers. One way
• Require all team members to attend. Anyone who cannot Hot to help developers adjust is to define testing standards
attend must submit their status via a proxy (another team Tip calling out both what to test and how to do it. Adherence to
member, email, etc.). the standards will create a culture where automated tests
are the norm and will pay off in higher quality software.
• Keep the meeting short, typically less than 15 minutes.
Time-boxing the meeting keeps the focus on the
three questions.

• Hold the meeting in the same place at the same time,


everytime.

• Avoid long discussions. Issues needing further discussion


are addressed outside the meeting so only the required
team members are impacted.

The Japanese word tsune roughly translated means “daily


habits.” It refers to things such as taking a shower that are
Hot so ingrained into a daily routine that skipping them leaves
Tip one feeling that something is missing2. Make the daily
standup part of the team’s tsune so that a day without a
standup feels incomplete.

Lean Principles
• Respect People: Standups foster a team-oriented
attitude; team members know what other members are
doing and can get or give help as needed to move the
project forward.

• Create Knowledge: Sharing information regularly creates Figure 3: Automated Testing


group knowledge from individual knowledge.
Test Execution
Each developer runs unit tests on individual code modules
AUTOMATED TESTING
prior to adding them to the source code repository, ensuring
all code within the repository is functional. An automated build
Automated testing is the execution of tests using a single
runs both unit and integration tests to ensure changes do not
command. A test framework injects pre-defined inputs,
introduce errors. The next practice, continuous integration, will
validates outputs against expected results, and reports the
make use of the build scripts and test suites to test the entire
pass/fail status of the tests without the intervention of a human
system automatically each time changes are checked into the
tester. Automated testing ensures tests are run the same way
repository.
every time and are not subject to the errors and variations
introduced by testers. Lean Principles
• Build Quality In: Automated tests executed regularly and
While automated testing can be applied to all types of
in a consistent manner prevent defects.
testing from unit and integration tests to user acceptance and
performance/load tests, unit and integration testing is the best
• Eliminate Waste: Defects detected early are easier to
place to start.
correct and don’t propagate.
• Identify an appropriate test framework for the language in
use. JUnit (for Java) and NUnit (for Microsoft .NET • Create Knowledge: Tests are an effective way to
languages) are common frameworks. document how the code functions.

• Require all new code modules to have a unit test suite


CONTINUOUS INTEGRATION
before being included in the build.

• Retrofit unit test suites to existing legacy code only Continuous integration (CI) is the frequent integration of small
when the code is modified (writing unit tests for code changes during implementation. It seeks to reduce, or even
which is already written and functional usually is not eliminate, the long, drawn-out integration phase traditionally
cost effective). following implementation. Integrating small changes doesn’t

DZone, Inc. | www.dzone.com


4
Getting Started with Lean Software Development

just spread the effort out over the whole cycle, it reduces the of code. Large code bases mean more implementation,
amount of integration time because small changes are easier to integration, and debugging time, as well as higher long term
integrate and aid debugging by isolating defects to small areas maintenance costs. All of these are non-value added work (i.e.,
of code. waste) when the code base contains unneeded or
inefficient code.
CI systems use a source code repository, scripted builds,
and automated tests to retrieve source code, build software, All aspects of software development can affect the code base
execute tests, and report results each time a change is made. size. Requirements analysis resulting in features with little
likelihood of use and overly generic, all-encompassing designs
• Use a dedicated build machine to host the CI system.
generate extra code. Scope creep and unnecessary features
Refer to the Continuous Integration: Servers and Tools
increase the amount of code. Even testing can generate
Refcard (#87) for details on setting up a CI system.
unnecessary code if the code under test is itself unnecessary.
• Check code changes into the repository a minimum of
once a day (per developer); once an hour or more is Minimizing code base size requires two actions: identify
even better. and eliminate unnecessary code, and write efficient code.
Minimizing code base size is not unlike a fitness program: diet
• Immediately address any failures in the build. Fixing the to eliminate the excess, and exercise to shape up what’s left.
build takes precedence over further implementation.
Eliminate Unnecessary Code
While the use of a dedicated computer, or build machine, to Eliminating unnecessary code means identifying the code, or
host the CI system may seem obvious for a large project, it the forces that create it, and removing it.
provides advantages on small projects as well:
• Dedicated machines don’t compete for resources, • Adopt a fierce, minimalist approach. Every bit of code
Hot so builds are quicker and the results get back to the added to the code base must be justifiable. Remove
Tip developers sooner.
excessive requirements, simplify designs, and eliminate
• Dedicated machines have a stable, well-known scope creep.
configuration. Builds don’t fail because a new version
of a library was loaded or the runtime environment
was changed. • Reuse code and employ libraries to reduce the amount of
new code that must be written.
A CI system can also check coding standards, analyze code
coverage, create documentation, create deployment packages, • Prioritize requirements so developers implement
and deploy the packages. Anything that can be automated can important features first. As customers adjust the priorities
be included in a CI system. over the course of development, they drive development
of only useful features; unused features never get
implemented.

• Develop only for the current iteration. Working too


far ahead risks doing work that will be thrown away as
requirements and design change over time.

Improve Code Efficiency


Code efficiency doesn’t refer to creating small, compact code
by using arcane tricks and shortcuts. In fact, the opposite is
true; efficient code uses coding standards and best practices.

• Use coding standards to write readable and


understandable code. Use best practices and proven
techniques that are well understood by other developers.

• Develop flexible, extensible code. Design and implement


Figure 4: Continuous Integration
code with design patterns, refactoring, and
emergent design.
Lean Principles
• Build Quality In: Continuous build and test ensures code
is always functional. The “big design up front”, or BDUF, approach to design
can lead to overdesign and unused code. The opposite
• Eliminate Waste: Frequent, small integrations are more approach, sometimes referred to as “you ain’t gonna
efficient than an extended integration phase. need it” or YAGNI, creates only what is needed at the
Hot moment, but it can lead to brittle designs and inefficient
LESS CODE Tip code. A compromise that creates only what currently is
necessary, but tempers that with some thought for the
future, is a better approach. Scott Bain’s book Emergent
Less code is not about writing less software, it’s about Design2 describes such an approach.
implementing required functionality with a minimum amount

DZone, Inc. | www.dzone.com


5
Getting Started with Lean Software Development

Lean Principles • Deliver the product to the customer, whether it’s a


• Eliminate Waste: Frequent, small integrations are more ready-for-deployment application or an interim release.
efficient than an extended integration phase. Getting the product in the customer’s hands for in-depth
evaluation is the best way to generate feedback.
• Build Quality In: Automated tests executed regularly and
in a consistent manner prevent defects.
Teams struggling to complete iterations successfully
are often tempted to lengthen their iterations; however,
SHORT ITERATIONS longer iterations tend to hide problems. Instead, struggling
Hot teams should reduce the iteration length, which reduces
Iterations are complete development cycles resulting in
Tip the scope, focuses the team on a smaller goal, and brings
the release of functional software. Traditional development impediments to the surface more quickly so they can
be resolved.
methodologies often have iterations of six months to a year,
but Lean Software Development uses much shorter iterations,
typically 2 to 4 weeks. Short iterations generate customer Lean Principles
feedback, and more feedback means more chances to adjust • Eliminate Waste: Frequent, small integrations are more
the course of development. efficient than an extended integration phase.

Feedback and Course Corrections • Deliver Fast: New, functional software is delivered to the
Feedback from the customer is the best way to discover customer in closely-spaced intervals.
what’s valuable to them. Each delivery of new functionality
creates a new opportunity for feedback, which in turn drives
course corrections due to clarification of the customer’s CUSTOMER PARTICIPATION
intent or actual changes to the requirements. Short iterations
produce more feedback opportunities and allow more course Customer participation in traditional projects typically is
corrections, so developers can hone in on what the limited to requirements specification at the beginning of the
customer wants. project and acceptance testing at the end. Collaboration
between customers and developers in the intervening time is
limited, typically consisting of status reports and the occasional
design review.

Lean Software Development approaches customer


participation as an on-going activity spanning the entire
development effort. Customers write requirements and
developers produce functional software from those
requirements. Customers provide feedback on the software
and developers act on that feedback, ensuring developers are
producing what the customer really wants.

Involve the Customer


Key to establishing effective customer collaboration is
involving the customer in the entire development process,
Figure 5: Course Corrections not just at the beginning and end. Engaging the customer,
reporting status, and providing a feedback path all help keep
Using Short Iterations the customer involved.
Several techniques aid in the implementation of a process
using short iterations: • Engage the customer by having them write and prioritize
the requirements. Customers get a sense of ownership,
• Work requirements in priority order. High priority and they can direct the course of development.
requirements typically are well-defined, easiest to
implement, and provide the most functionality in a short • Have the customers write the acceptance tests (or at least
period of time. specify their content), and, if possible, run the tests as
well. Involvement in testing the product allows customers
• Define a non-negotiable end date for the iteration; to specify exactly what it means to satisfy a requirement.
sacrifice functionality to keep the team on schedule. End
dates focus the team on delivering the required • Provide useful, easily-accessible status. For example, a
functionality. Even if some features are not completed, list of the requirements in work and the status of each.
delivering those that are ensures customers get new Include status on problems affecting development to
functionality on a regular basis. avoid surprises.

• Mark the end of the iteration with a demo and an official • Provide access to the product so the customer can see for
handoff to the customer. Demos foster pride in the themselves how it works, and provide a simple, direct
product by allowing the team to show off its work. feedback path so customers can input feedback easily.

DZone, Inc. | www.dzone.com


6
Getting Started with Lean Software Development

Collaborate
SUMMARY
Collaborating directly with the customer is necessary for
developers to refine the requirements and understand exactly
what the customer wants. Most discussions of Lean Software Development don’t define
specific practices for implementing the process, and the large
• Designate a customer representative. The representative
number of Agile methodologies to choose from can leave
writes and/or collects requirements and prioritizes them.
newcomers confused and uncertain where to start. The specific
The representative clarifies requirements for developers.
practices outlined here provide a step-by-step approach to
• Schedule face-to-face time with the customer. At the very implementing a Lean Software Development process. Adopt
least, include a demo at the end of each iteration. one, several, or all the practices and take your first step into
the world of Lean Software Development.
Actual customers make the best customer
representatives, but when customer representatives are References
Hot not available a customer proxy can fill the role. A customer Implementing Lean Software Development: From Concept to Cash,
1

Tip proxy should be from the development team’s organization Poppendieck/Poppendieck, Addison-Wesley Professional, 2006
and must have a good understanding of the customer’s 2
Moving Toward Stillness, Lowry, Tuttle Publishing, 2000.
needs and business environment.
Emergent Design: The Evolutionary Nature of Professional Software
3

Development, Bain, Addison-Wesley Professional, 2008


Lean Principles
• Create Knowledge: Through collaboration, requirements
Some of the concepts and material in this Refcard were
are discovered and refined over time.
adapted from The Art of Lean Software Development, Hibbs/
• Defer Commitment: Involving customers throughout the Jewett/Sullivan, O’Reilly Media, 2009.
process eliminates the need to make decisions up front.

ABOUT THE AUTHORS RECOMMENDED BOOK


Curt Hibbs co-leads the Boeing team responsible for the adoption of Lean and This succinct book explains how you can apply the
Agile software engineering practices across Boeing’s Defense, Space & Security practices of Lean software development to dramatically
business unit. He has been a software engineer for 30+ years, and during that time increase productivity and quality. The Art of Lean
he has done just about everything related to developing software products, from Software Development is ideal for busy people who
working for WordStar, Hewlett Packard, the C.I.A, and more, to being the CTO of want to improve the development process but can’t
several startups. He has worked for Boeing since 2003. afford the disruption of a sudden and complete
transformation. The Lean approach has been yielding
Steve
  Jewett is a software developer with the Boeing Company, where he is dramatic results for decades, and with this book,
involved in the development of cognitive decision support systems. Over a 25 year you can make incremental changes that will produce
career he has developed software for automated test equipment, weapon/aircraft immediate benefits.
integration, embedded systems and desktop and web applications. He currently
leads an agile software development team and works to promote Lean-Agile soft-
ware development at Boeing. BUY NOW
books.dzone.com/books/leansd
Mike Sullivan has over 6 years of experience teaching at the university level, and
has spent the last 5+ years working with software teams in small companies and
large corporations to drive valuable solutions and improve team dynamics. He is
currently working in a small research team within a large corporation, implementing
Lean techniques to improve the software his team delivers.

#82

Browse our collection of over 90 Free Cheat Sheets


Get More Refcardz! Visit refcardz.com

CONTENTS INCLUDE:


About Cloud Computing
Usage Scenarios Getting Started with

Aldon Cloud#64Computing

Underlying Concepts
Cost
by...

Upcoming Refcardz
youTechnologies ®

Data
t toTier
brough Comply.
borate.
Platform Management and more...

Chan
ge. Colla By Daniel Rubio

tion:
dz. com

also minimizes the need to make design changes to support


CON

tegra ternvasll
ABOUT CLOUD COMPUTING one time events. TEN TS
INC ■
HTML LUD E:

us Ind Anti-PPaat
Basics
Automated growthHTM
ref car

Web applications have always been deployed on servers & scalable


L vs XHT technologies

nuorn

Valid
ation one time events, cloud ML
connected to what is now deemed the ‘cloud’. Having the capability to support

Java GUI Development


Usef
Du
ti

ul M.
computing platforms alsoulfacilitate
#84
Open the gradual growth curves

n an
Page Source

o

s
Vis it

However, the demands and technology used on such servers Structure

C
faced by web applications. Tools

Core
By Key ■
Elem

Patte
has changed substantially in recent years, especially with Structur
E: al Elem ents
INC LUD gration the entrance of service providers like Amazon, Google and Large scale growth scenarios involvingents
specialized
NTS and mor equipment
rdz !

ous Inte Change

HTML
CO NTE Microsoft. es e... away by
(e.g. load balancers and clusters) are all but abstracted
Continu at Every e chang
m

About ns to isolat
relying on a cloud computing platform’s technology.
Software i-patter
space

Adobe Flash Catalyst


rdz .co


n
Re fca

e Work
Build
riptio
and Ant
Desc
These companies have a Privat
are in long deployed
trol repos
itory
webmana applications
ge HTM
L BAS

Patterns Control lop softw n-con to



that adapt and scale
Deve
les toto large user
a versio ing and making them
bases, In addition, several cloud computing ICSplatforms support data
ment ize merg
rn
Version e... Patte it all fi minim le HTM
Manage s and mor e Work knowledgeable in amany ine to
mainl aspects related tos multip
cloud computing. tier technologies that Lexceed the precedent set by Relational
space Comm and XHT

ref ca

Build
re

Privat lop on that utilize HTML MLReduce,


Practice Database Systems (RDBMS): is usedMap are web service APIs,

Deve code lines a system
d as thescalethe By An
sitory of work prog foundati
Ge t Mo

Buil Repo
This Refcard active
will introduce are within
to you to cloud riente computing, with an
d units
RATION etc. Some platforms ram support large grapRDBMS deployments.

The src
dy Ha
softw
e ine loping and Java s written in hical on of
INTEG attribute
task-o it all
softwar emphasis onDeve es by
Mainl these
ines providers, so youComm can better understand
also rece JavaScri user interfac web develop and the rris
Vis it

Network Security
codel chang desc
INUOU ding Task Level as the
e code
ww w.dzone.com

NT of buil trol what it is a cloudnize


line Policy sourc es as aplatform
computing can offer your ut web output ive data pt. Server-s e in clien ment. the ima alt attribute ribes whe
T CO cess ion con Code Orga it chang e witho likew mec ide lang t-side ge is describe re the ima
ABOU the pro ject’s vers applications. and subm with uniqu
e name
are from
sourc CLOUD COMPUTING ise hanism. fromAND
PLATFORMS web unavaila
was onc use HTML The eme pages and uages like ge file
it
(CI) is Nested s alte
rd z!

a pro evel Comm the build softw um ble. rnate can be


gration ed to Task-L Label ies to
build minim UNDERLYING CONCEPTS e and XHT rging use HTM PHP tags text that
blem activit the bare standard a very loos Tags found,
ous Inte committ to a pro USAGE SCENARIOS ate all
Autom configurat
ion cies to t
ization, ely-defi
ML as
thei
Ajax
tech L can is disp
Continu ry change cannot be (and freq
nden ymen layed
solution fective ned lang r visual eng nologies
Re fca

Label
Build
manu
al
d tool
depe deplo t need but as if
eve , a ) stalle the same nmen for stan overlap uen
(i.e. , inef Build t, use target enviro Amazon EC2: Industry standard it has
software and uagvirtualization ine. HTM , so <a>< tly are) nest
with terns problem ce pre-in whether dards
ated b></
ory. ns (i.e. Autom Redu ymen
has bec become e with a> is
via pat ticular d deploEAR) in each very little L

Maven 3
reposit -patter s that Pay only cieswhat you consume
tagge or Amazon’s cloud you cho platform
computing
the curr isome
heavily based moron fine. b></ ed insid
lained ) and anti the par solution duce nden For each (e.g. WAR es t
ent stan ose to writ more e imp a></ e
not lega each othe
x” b> is
be exp text to “fi are al Depeapplication deployment
Web ge until t a
librarifew years agonmen
t enviro was similar that will softwaredard
industry standard and virtualization app
e HTM technology.
orta nt,
tterns to pro Minim packa nden
Mo re

CI can ticular con used can rity all depe all targe
s will L or XHT arent. Reg the HTM l, but r. Tags
etimes Anti-pa they
tend
es, but to most phone services:
y Integ alizeplans with le that
late fialloted resources, ts with an and XHT simplify all help ML, und ardless
L VS
XHTM <a><
in a par hes som
Centr
end,
Binar
pro cess. the practic enti ng incurred costgeme
nt
whether e a single
such
temp
resources on
were consumed
t enviro
nmen
orthenot. Virtualization MLaare your
othe
you prov
erst of L
b></
in bad Mana based muchallows physical piece of hardware to
ide be HTM
approac ed with the cial, but, implem anding
Creat targe es to actually r web
rily nden
cy rties are nt
of the a solid L has
into differe coding.resources
necessa pared to
chang
efi Depe prope itting utilized by multiple operating
function systems.simplerThis allows foundati job adm been arou
associat to be ben
er
Ge t

te builds commo
are not Fortuna
late Verifi e comm than on
n com Cloud computing asRun it’sremo
known etoday has changed this.
befor alitytohas irably, nd for
They they
etc.
Temp Build (e.g. bandwidth, n memory, CPU) be allocated exclusively to tely exp that som
lts whe
ually,
appear effects. Privat y, contin Every elem mov used
to be, HTML
ecte job e time
ed resu The various resourcesPerfo rm a
consumed by webperio applications
dicall (e.g. nt team
pag
individual operating entsinstances. ed to CSS
system Brow d. Earl
y HTM has expand . Whi
gration
opme because
adverse unintend d Builds sitory Build r to devel common e (HTML . ser ed far le it has don
ous Inte web dev manufacture L had very
Stage Repo
e bandwidth, memory, CPU) areIntegtallied
ration on a per-unit CI serve basis or XHT
produc tinu e Build rm an from
extensio .) All are limited more than e its
e.com

ard ML shar
tern.
ack elopers rs add
Con Refc Privat
(starting from zero) by Perfo all majorated cloud
feedb computing platforms. As a user of Amazon’s esse
term e, this
on
n. HTM EC2 cloud
ntiallycomputing es certplatform, you are result
is a lack came up ed many com
layout anybody
the pat
occur
gration as based
of the ” cycl such Build Send
autom as they builds pr L plain ain elem supp
ous Inte tional use and test concepts
soon with clev ort.
Integ
ration ors as ion with text ents in of stan peting
entat
tinu dar er wor standar
ven “build include
docum
Con kar
the con s to the
oper
to rate devel
While efer of CI Gene
notion

DZone, Inc.
Cloud Computing

the
s on
expand

ISBN-13: 978-1-934238-74-5
140 Preston Executive Dr. ISBN-10: 1-934238-74-0
Suite 100
50795
Cary, NC 27513

DZone communities deliver over 6 million pages each month to 888.678.0399


919.678.0300
more than 3.3 million software developers, architects and decision
Refcardz Feedback Welcome
$7.95

makers. DZone offers something for everyone, including news,


[email protected]
tutorials, cheatsheets, blogs, feature articles, source code and more. 9 781934 238745
Sponsorship Opportunities
“DZone is a developer’s dream,” says PC Magazine.
[email protected]
Copyright © 2010 DZone, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by means electronic, mechanical, Version 1.0
photocopying, or otherwise, without prior written permission of the publisher.

You might also like