Getting started with_kanban_for_software_development
Upcoming SlideShare
Loading in...5

Like this? Share it with your network


Getting started with_kanban_for_software_development






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Getting started with_kanban_for_software_development Document Transcript

  • 1. brought to you by...#109 Get More Refcardz! Visit CONTENTS INCLUDE: n n About Kanban The Kanban Method Getting Started with n n Introducing Kanban Coordination Practices Kanban for Software Development n Emergent Behaviors n Prioritization and more... By David J. Anderson and Janice Linden-Reed Goal 4: Improve Employee Satisfaction – Kanban reduces About Kanban context switching and pulls work at the rate the team can complete it. Working at a more even, predictable pace, means Software organizations want development to be predictable: employees are never overloaded. to accurately state what work will be done and when it will be finished. To make such predictions, mechanisms must be in Goal 5: Provide Slack to Enable Improvement – Creating slack place to determine prioritization, workflow and lead time to in the value chain improves responsiveness to urgent requests delivery. and bandwidth to enable process improvement and quality improvement. Even if all these mechanisms are in place, there is the risk that unfolding events can throw off predictability. What if someone Goal 6: Simplify Prioritization – Kanban enables fast is not available for a handoff? What if the conditions of the reprioritization to accommodate changes in the market. business change, forcing re-prioritization? A business needs to be able to see their situation clearly and make needed Goal 7: Provide a Transparency on the System Design and corrections quickly. Operation – Improved visibility builds trust with customers and managers. It also shows the effects of actions or inactions. As a Kanban takes an organization’s current development process result, collaboration improves. and provides greater visibility into the status of the work and how it is proceeding. Kanban provides a method to continually Goal 8: Enables Emergence of a “High-Maturity” Organization adapt in order to smooth out kinks in the arrival of new – As improvements are implemented, organizational maturity development work. In this way, it allows the organization to improves leading to better decision making and improved risk avoid crises and respond more quickly and easily to issues that management. Risk, managed appropriately, brings predictable do arise. results. Kanban also gives more precise direction on how to invest The Kanban method development energy into only the most valuable work. The end result is a development pipeline that is predictably and The Kanban Method is defined by a set of key principles and Getting Started with Kanban for Software Development efficiently delivering high value work. practices. Five core princples enable The Kanban Method. The Kanban Method reduces risk and increases flexibility, 1. Visualize the Workflow Represent the work items and the workflow on a card wall or electronic board. resulting in a more resilient development cycle. 2. Limit Work-in-Progress Set agreed upon limits to how many work items (WIP) are in progress at a time. Why Kanban? Why make any change in your development process? Consider your organization’s unique situation and goals before starting. Here are some benefits that can be delivered by the Kanban Method. Goal 1: Optimize Existing Processes – Introduction of visualization and the limiting of work-in-progress (WIP) will catalyze change with minimal disruption. Goal 2: Deliver with Higher Quality – Limiting work-in-progress and defining policies for work prioritization will bring greater focus on quality. Policies can also address quality criteria directly. Goal 3: Improve Lead Time Predictability – There is a correlation between the amount of work-in-progress, lead time and defect rates. Limiting WIP makes lead times dependable and keeps defect rates low. DZone, Inc. |
  • 2. 2 Getting Started with Kanban for Software Development 3. Measure & Manage Flow Track work items to see if they are proceeding Draw columns on the board that represent the activities at a steady, even pace. performed, in the order first performed. Model in-progress 4. Make Process Policies Agree upon and post policies about how work and completed work by splitting the columns. Add the initial Explicit will be handled. input queue and any downstream delivery steps that you wish 5. Use Models to Evaluate Adapt the process using ideas from Systems to visualize. Finally, add any buffers or queues (Ready or Done Improvement Opportunities Thinking, W. E. Deming, etc states) between activities.When these 5 conditions are present, a Lean softwaredevelopment method will emerge over time.Attributes of Lean Software developmentLean software development has these principles: Respectpeople, eliminate waste, defer commitment, create knowledge,deliver fast, build quality in and optimize the whole.Think of the development process as a pipeline. Anything that  slows down the pipeline is waste. Look for ways to increasethe value while improving the efficiency of the process. Theimprovements will happen when you can see what is going onand reduce waste. A card wall showing workflowLean software development looks to the system, the way work It is important to create a card wall that reflects the currentis managed or handed off, for the source of errors. When an development process, with the intent to improve it over time.issue is identified, the development group looks to how they The cards themselves could be sticky notes or index cards.can change the system for permanent improvement. They may represent features, stories or tasks. CriticalLean Thinking asks us to focus on the system – the process and information for a card would be title, reference number, andits policies – and not the performance of individuals. The focus date it entered the on a better economic outcome rather than on utilization ofindividual workers. Limit Work-in-progress (WIP) Visualize the workflow Leadership is the secret ingredient - all 5 core principles of the Kanban Method will not enable a significant improvement toThe Kanban Method takes an existing software development happen without it. The WIP limit provokes the conversationsprocess and brings it into sharper focus. Rather than re- that lead to improvements.defining the development process, it reveals details about the A limit on work-in-progress constrains how many work itemscurrent process providing visibility that allows the organization can be in each workflow step at a time. When a work itemto better understand and better communicate about needed progresses, a slot opens and a new work item can flow into thechanges. development step.Kanban brings greater visibility into what work is being done A key result of a WIP limit is that blocked work “holds up theand the issues that arise with work items or the workflow. line”. A blocked work item still counts against the limit, so aUnderstanding the current capability of the system of situation may arise in which no new work can progress untildevelopment gives more accurate predictability. the block is resolved. This drives collaboration as the team is highly motivated to clear the blockage.Mapping the Value Creation NetworkThe value creation network is the complex sequence ofinformation discovery and creativity that takes place frominitial request to delivery of software. Visualizing such anetwork can be challenging and it typical degenerates into arough sequence of steps: common handoffs are shown; andtime spent queuing is shown. Optimization often occurs fromanalysis of the value creation network.Different work item types may flow differently and require aseparate analysis and visualization.The card wall will be created for the portion of the valuecreation network that is under political control of managerssupportive of the Kanban initiative.  Creating the Card WallIt is typical to draw card walls to show the activities that happento the work rather than specific functions or job descriptions. Blocked item in Test must clear to open up a space DZone, Inc. |
  • 3. 3 Getting Started with Kanban for Software DevelopmentIf a conflict with the limit arises, the team has a choice to break kanban system is to create the conditions for the work to flowthe WIP limit and ignore the issues, or face up to the issues and at a dependable, measurable pace. The systemic variables thataddress them using models from lean thinking. can be directly influenced are the team members, the typical work item size, the workflow steps, and the WIP limit. Flow ofHow big a limit? - WIP limits for workflow steps should be set an individual item can be affected by issues such as ambiguousas an average number of items per person, developer pair or requirements, dependencies, or approvals.small, collaborative team. Limits should be in the range of oneto three items per person, pair or team. Explicit Process policiesExcessive time should not be wasted trying to determine theperfect WIP limit; simply pick a number that is close enough, Having agreed upon policies regarding: workflow; WIPand make progress. Empirically adjust if necessary. limits; approvals; prioritization; and other process topics; results in greater understanding, greater compliance, andAgreed upon limits - WIP limits should be agreed upon less contentious discussions when exceptions do occur. Ifthrough consensus with up- and downstream stakeholders and a suggestion to violate a policy is made, a discussion cansenior function management as well as the development team. happen reviewing the current policy and posing the questionNot every step must have a limit. of whether the group feels the policy should be changed, orLimit the queue - A work-in-progress (WIP) limit on the input if it is worthwhile to allow a one-time exception. Focus onqueue of upcoming work focuses attention on what to start policies depersonalizes issues and exceptional This leads to a healthier, more collaborative workplace. It is often best to post explicit process policies in a public teamIt provokes a focus on value. A queue between the backlog area such as next to the card wall.and development can be used for interim prioritization.Queue limits should be kept small, typically only large Use models to evaluate improvementenough to absorb the natural variation in size of items andtask duration, and the period between queue replenishment W. Edwards Deming suggested that we should study themeetings. system and its capabilities. The Kanban Method embraces this idea. Gathering data on system performance: flow time;Handling bottlenecks - Bottlenecks, once identified, should WIP; delivery throughput; will provide scientific insightbe buffered. Add a lane on the card wall as a holding area for into opportunities for improvements. It is common (andstories around the bottleneck area. This introduces some slack encouraged) for kanban teams to frequently modify theirinto the process. processes and policies during their daily check-in meeting and at formal retrospectives and operations review meetings.Buffer sizes should be as small as possible but large enough toensure the bottleneck is never idle. Useful models to learn and use may include work from: • Womack & Jones on Waste ReductionNo WIP limit? - Care should be taken that establishing anyunlimited (no WIP limit) workflow steps does not introduce • Eliyahu M. Goldratt on Theory of Constraintsbottlenecks or cause excessive transaction- or coordination • John Seddon and Peter Senge on Systems Thinkingcosts when deliveries (batch transfers downstream) are made. • W. Edwards Deming’s System of Profound Knowledge and specifically his work on variabilityCollaboration - Limited WIP means that team members mighthave to “swarm” on a work item to complete it. This cross- • Taiichi Ohno (Toyota Production System) on muda, murifunctional collaboration is a strong way to finish work faster and and mura.with higher quality. Introducing Kanban Measure and manage flow The best way to introduce Kanban into an organization isFlow is the visible progression of the work items through the incrementally rather than through a planned transition initiativesystem. Flow should proceed at a consistent pace. If a work and prescribed training program. It may also be useful toitem seems to languish, a conversation should happen to start with a pilot team who can “try it out” and demonstrateresolve how the team can get it “flowing” again. If all work it for the rest of the organization. The most important thingitems within a particular step of the workflow seem to stall, is to gain consensus around the introduction of Kanban andthis may suggest a bottleneck in the system. A conversation just start using it, changing as little of the existing culture andand action toward resolution can happen with the team and process as possible. Here are 12 steps to getting started withmanagement based on such visible evidence of an issue. Kanban. 1. Agree on a set of goals for introducing Kanban. WhatFlow is not something that can be manipulated directly. It is benefit do you want to see for your organization?an indicator that notifies when some aspect of the processneeds adjusting or some area needs attention. The goal with a 2. Determine a set of unique types of customer valued work DZone, Inc. |
  • 4. 4 Getting Started with Kanban for Software Development that flow through the organization, examples include bug, follow the established pattern of other Agile development change request, or feature. methods. 3. Map the value creation network for different types of work. Daily standups are an essential part of a culture of continuous This will represent the underlying model of your improvement. Because the standup brings the whole team system (see step 5). together briefly each day, it provides an opportunity for all stakeholders to suggest and discuss process performance 4. Begin to visualize the flow through the system and study problems. The period immediately after the standup often the system performance and capabilities. The purpose is develops into informal process-improvement discussions. to understand the system operation not affect performance or implement control. Grooming the backlog with regular triage to reduce its size improves the effectiveness and efficiency of input queue 5. Define some starting point from where you want to control replenishment meetings. system performance. Identify what is upstream of that point and the upstream stakeholders. Define some exit Issue management, escalation and resolution is a core point beyond which you do not intend to control system discipline in improving the performance of the system. It performance. Identify what is downstream of that point is important that teams develop a core capability at issue and the downstream stakeholders. management, escalation and resolution. 6. If there are different urgency criteria for the different For all types of work items escalation paths and policies should work item types, define a class of service for each with be clearly defined. relative priorities. Emergent Behavior 7. Study the demand for each work item type. Is the arrival seasonal or event-driven? What is the tolerance for late or unreliable delivery of each? Create a risk profile that Through its 5 core principles, the Kanban Method enables allocates a percentage of resources to each work incremental process improvement through repeated discovery item type. of issues affecting process performance. It supports gradual, continual improvement toward higher performance and greater 8. Meet with team members, upstream and downstream quality. It drives process evolution, rather than a revolution. stakeholders to discuss and agree on policies around WIP limits, prioritization meetings, and release mechanisms. If Once in place, Kanban has been observed to stimulate you choose to introduce the concept of class of service, emergent behavior in many organizations. Such emergent discuss and agree target delivery policy for each class of behaviors may include: service. Process uniquely tailored to each project/value stream 9. Create a board/card wall to visualize the workflow. This will Decoupled cadences (or “iterationless” development) cover the workflow that exists between the input and exit points defined in step 5. Work scheduled by (opportunity) cost of delay Value optimized with classes of service 10. Optionally, create an electronic system to track and report Risk managed with capacity allocation the same. Tolerance for process experimentation 11. Agree to have a standup meeting every day in front of the Quantitative Management card wall/board, as a daily opportunity to drive Viral spread (of Kanban) across the organization improvements. Agree to have a regular operations review meeting for longer term retrospective analysis of process Small teams merged for more liquid labor pools performance. Prioritization 12. Educate the team on the new board, WIP limits, and pull system operation. In a limited WIP pull system, prioritization practices will guide Coordination practices which work items should be pulled next to optimize value. The following techniques help to enable flow by creating prioritization process policies that the management and theHolding regular meetings reduces the coordination cost for team can agree on and follow.those meetings and improves attendance.Input queue replenishment and delivery planning should be Input Queue Replenishment Meetingsdone independently and have their own independent cadence. Kanban decouples input queue replenishment cadence from development lead time and delivery. This is unlike AgileDaily standup meetings should be used to discuss issues, methods that couple prioritization activity to a time-boxedimpediments and flow. Such standup meetings do not typically period of development activity such as 2 weeks. DZone, Inc. |
  • 5. 5 Getting Started with Kanban for Software DevelopmentFrequent queue replenishment meetings provide visibility for lead time. The most time critical work items will be prioritizedupstream stakeholders and help to build trust. ahead and should be delivered on time.Ad-hoc or on-demand input queue replenishment meetings Classes of service enable a team to self-organize around thecan make sense for high-maturity organizations with strong flow of work and free up management time to focus on thecapability to coordinate such meetings at short notice. Such process and its performance (or capability).teams can call such a meeting whenever they pull a new feature Establishing Class of Service - Work items can be assigned toto develop. Other organizations should schedule input queue a class of service according to their business impact. Examplesreplenishment with a regular cadence such as weekly. of class of service would be “fixed date”, “expedite”, or “standard”. It is typical to assign class of service based onCapacity Allocation by Work Item Type impact and time-criticality. Items that incur high costs or loseDifferent work items can have different workflows. For example, value quickly will receive faster treatment via a higher class ofa defect may enter the development process at a different service.point and may be processed in a different way than a newfeature . A “defect” and a “new feature” are 2 examples of Setting policies - A set of management policies should bework item types. defined for each class of service. The policies should show which class of service is highest. For example, an “Expedite”Relative priorities can be set for each work item type. class might always be prioritized ahead of a “Standard” classEstablishing a policy around how much of the development item. These policies will determine which work item to pullteam’s availability will be used for each work item type at any on a daily basis. Well defined and understood classes oftime is called capacity allocation by work item type. service enable managers to trust that team members make appropriate risk decisions when selecting work.It is useful to set an allocation by work item type to provideclarity about which kinds of work the team is spending time Displaying on the card wall - Classes of service should bedeveloping. It sets an agreement with the development team visually displayed by using, for example, different coloredand management about how their resources are best spent. cards to represent the class of service or different horizontal swim lanes on the card wall.Displaying on the card wall - Horizontal swimlanes are oftenused for each work item type and a WIP limit set for each Capacity Allocation - It is also possible and useful to allocateswimlane. capacity within the kanban system to classes of service. It is helpful to set an allocation to make to ensure that items in theSetting policies - Capacity allocation requires comparative lower priority classes are completed. It is also generally helpfuldemand analysis across the different types of work received by for the team and the management to specify allocation as anthe kanban system. Some work item types will enter the system agreement of how their resources should be spent.more frequently or they may be considered more urgent. Thesefactors should be considered when creating a policy about thequantity of resources to allocate to each work item type.     A card wall showing allocation by Class of Service A card wall showing allocation by work item type & limits Predictability via Service Level Agreements (SLA)Prioritization by Class of Service A Service Level Agreement (SLA) should include the targetClass of service allows the development team and the lead time from when a work item enters the input queue tomanagement to assign handling priority to work according to when it will be delivered. The SLA represents the promiseits urgency. to the customer for ae work item of a given type and class of serviceIf classes of service are used properly and combined with aregular delivery cadence, very few complaints are likely to be Work items should be tracked and measured as they movereceived, even if a significant portion of items miss their target from step to step through the system. Performance against the DZone, Inc. |
  • 6. 6 Getting Started with Kanban for Software Development SLAs should be monitored and reported at operations review There are books, blogs, mailing lists and conferences meetings. Process improvements should be made to improve dedicated to kanban and lean. Some of the best resources are predictability against the customer promise defined in the located at, & SLAs. SLAs should be matched to system capability, and the system improved to match with customer expectations and Kanban Book and Website market demands. “Kanban” by David J. Anderson is the 250-page definitive guide to Kanban as a change management system for software What Next? development. It explains what Kanban is, why it is used, and how to implement it. The best approach to working with the Kanban Method is to get started. It is not necessary to implement all 5 core “Kanban”is available at major online book retailers and also at principles initially. They can be introduced gradually and adjusted to match the needs of the organization and its culture. A BOUT t h e A u t h o r s R E C OMM E N D E D B o o k David J. Anderson leads a management consulting firm focused on Order the definitive guide to Kanban. The Kanban Method will improving performance of technology companies. He has been in improve your existing development process. This book explains software development for 26 years and has managed teams on agile why and shows you how to get started using it right now. Case software development projects at Sprint, Motorola, Microsoft and studies and illustrations make it easy to adopt the improvements Corbis. David is credited with the first implementation of a kanban you need for your unique situation. process for software development in 2005. David was a founder of the agile movement through his involvement in the creation of Feature Driven Development. He was also a founder of the APLN, a founding BUY NOW signatory of the Declaration of Interdependence, and a founding member of the Lean Software and Systems Consortium. He moderates several online communities for lean/agile development. He is the author of the books “Kanban - Successful Evolutionary Change for Your Technology Business” and “Agile Management for Software Engineering - Applying the Theory of Constraints for Business Results”. David has worked to create a synergy of the CMMI model for organizational maturity with Agile and Lean methods through projects with Microsoft and the SEI. He is based in Seattle, Washington, USA. Janice Linden-Reed is a Lean-Agile Certified Scrum Master. Janice has 20 years of experience as a project manager, including over 4 years of agile, lean and kanban management work. She has worked with all sizes of software development organizations including large international teams. Janice has a particular interest in lean startups and teams making the transition to agile or lean. To help novice users, Janice created the website. She has presented to agile groups on kanban fundamentals and on lean-agile transition topics. Janice is an Associate with David J. Anderson and Associates, Inc. She was an organizer for the Lean and Kanban conference as well as the Lean Software and Systems Conference. She actively manages multiple distributed teams as a CSM. #82 Browse our collection of 100 Free Cheat Sheets Get More Refcardz! Visit CONTENTS INCLUDE: ■ ■ About Cloud Computing Usage Scenarios Getting Started with Aldon Cloud 4Computing ■ Underlying Concepts Cost by... #6 ■ Upcoming Refcardz ® t to you Data Tier Technologies ■ ply. brough ■ Platform Management and more... te. Com bora Chan ge. Colla By Daniel Rubio on: dz. com gratiterns also minimizes the need to make design changes to support CON ABOUT CLOUD COMPUTING one time events. TEN TS INC s Inte nti-PatM. Duvall ■ HTML LUD E: Basics HTML ref car ■ Web applications have always been deployed on servers Automated growth & scalable technologies nuou vs XHT ation ■ Valid ML connected to what is now deemed the ‘cloud’. Having the capability to support one time events, cloud A Apache Ant Useful ontiPatterns and By Pa ■#84 computing platforms also facilitate the gradual growth curves Open ul Page Source ■ Vis it However, the demands and technology used on such servers Stru C faced by web applications. cture Tools Core Key ■ Elem Structur E: has changed substantially in recent years, especially with al Elem ents INC LUD gration the entrance of service providers like Amazon, Google and ents and Large scale growth scenarios involving specialized equipment NTS rdz ! ous Inte Change HTML CO NTE Microsoft. es more... (e.g. load balancers and clusters) are all but abstracted away by Continu at Every e chang m About ns to isolat relying on a cloud computing platform’s technology. Software i-patter space Hadoop rdz .co ■ n Re fca e Work Build riptio and Ant These companies have Privat deployed webmanage Desc a are in long trol repos itory applications HTM L BAS ■ Patterns Control lop softw n-con to ■ that adapt and scale to large user bases, making them Deve les to a versio ing and ICS In addition, several cloud computing platforms support data ment ize merg rn Version e... Patte it all fi to minim many aspects related tomultiple computing. HTM Manage s and mor e Work knowledgeable in a mainline s cloud tier technologies that L and the precedent set by Relational exceed ■ space Comm ref ca Build XHT re Privat lop on that utilize HTML tice is used ML are the Database Systems (RDBMS): Map Reduce, web service APIs, ■ Deve code lines d Prac a system sitory of work prog support as the grap foundation By An Ge t Mo Buil Repo active are within This Refcard will introduce to you to clouddcomputing, with an units RATION etc. Some platforms rams writ large scale RDBMS deployments. ■ The src dy Ha softw riente e ine loping and Java hical of all INTEG ten attribute task-o softwar emphasis oncodelines providers, so by Commit better understand Mainl Deve these chang Level can es you also recein JavaScri user interfac web develop and the rris Vis it S Spring Security desc INUOU ding as the e code w ive data pt. Server-s the ima alt attribute ribes whe Task NT of buil trol what it is a cloud computingaplatform can offer your web line Policy nize sourc es as ut output e in clien ment. T CO cess ion con Code Orga it chang e name e witho likew CLOUD COMPUTING PLATFORMS AND ide languag t-side mechan from ge is describe re the ima the pro ject’s vers sourc applications. and subm ise ABOU (CI) is it with uniqu are from was onc use HTML ism. The web pag Nested unavaila s alte ge file rd z! a pro evel Comm the build softw es like ble. rnate gration build um UNDERLYING CONCEPTS and XHT emergin es and use can be ed to blem Task-L Label activit ies to the bare minim e standard a very loos g Ajax PHP Tags tags text that found, ous Inte committ to a pro USAGE SCENARIOS ate all Autom configurat ion cies to t ization, ely-defi ML as thei tech HTML can is disp Continu ry change cannot be (and freq nden ymen layed tion ned lang r visual eng nologies Re fca ive Build al depe deplo t need eve , a solu , ineffect ) Label manu stalle d tool the same nmen for but as overlap uen if with s (i.e. (i.e. blem ated Build ce pre-in t, use target enviro Amazon EC2: ther stanstandard software and uage with whe Industry dard it has become virtualization HTM ine. b></ , so <a>< tly are) nest pattern lar pro ymen tterns s has a> is ory. Autom Redu d deploEAR) each Pay only what you consume in bec heavily based on very little L Subversion reposit ed via anti-pa particu tions that e nden cies tagge For each (e.g. WAR or t the curr you cho platform isome Amazon’s cloud computing ose more fine. b></ a></ ed insid explain text) and to “fix” the are solu es more importa e ent stan not lega each othe to writ b> is be duc Web application deployment untillibrari yearsenvironmen similar al Depe ge t a few t ago was that will industry standard software and virtualization technology. app nt, ns to pro Minim packa nden dards e HTM Mo re CI can ticular con used all depe all targe L or XHT arent. Reg the HTM r. Tags i-patter they tend es, but can l, but rity etimes s. Ant Binar most phone services: plans with alloted resources, with an toInteg y alize late fi le that and XHT simplify all will help ardless L VS XHTM <a>< in a par hes som , Centr ts ML, ML physical r othe you prov to ctic temp you b></ proces , in the end bad pra enting nt nmen Mana geme e a single based on incurred cost whether such resources were consumedto thenot. t enviro or Virtualization allows aare actu piece of hardware idebe understand of much HTML L approac ed with the cial, but implem targe ally simp r web cod Creat rily nden cy rties are nt es of the a solid ing has into differe necessa pared to chang efi Depe prope itting ler than ing. Fort foundation utilized by multiple operating systems. This allows resources function job adm been arou associat to be ben er Ge t te builds commo are not late Verifi e comm memory, ality has allocated exclusively to nd for n com Cloud computing asRun remo it’s known etoday has changed this. etc. unately expecte irably, that befor They lts whe Temp Build ually, (e.g. bandwidth,n elem CPU) to be mov they some appear effects. rm a The various resources consumed by webperiodically, Privat contin applications (e.g.nt team Every ent instances. ed to CSS used to be, HTML d. Earl job time. ed resu tion Perfo opme pag individual operating system s because Brow y HTM has expand Whi adverse unintend Integra d Builds sitory bandwidth, memory, CPU) areIntegration on from CI server basis Build to devel common e (HTML . ser ed far le it has don web dev manufacture L had very Stage Repo e tallied a per-unit or XHT produc tinuous e Build rm an extensio .) All are more e its ard ML shar limit tern. ack elopers rs add than Con Refc (starting from zero) by Perfomajor cloud computing platforms. Privat all n. HTM essentia ed man ed layout feedb As a user of Amazon’s EC2 cloud computing platform, you are on es cert result anybody the term” cycle, this ated the pat occur came tion h as autom as they based proc lly plai is Integra al use of ts suc Build Send ors as soon ion with builds an operating system in the same wayain on all hosting assigned essor L files n text as elements The late a lack of stan up with clev y competi supp ort. and test concep ration should tinuous vention ng stan Integ entat in st web dar er wor “build include not be docum Con kar dar the con s to the standar oper rate devel cr While CI to Gene efer ion of DZone, Inc. Cloud Computing the not s on expand ISBN-13: 978-1-934238-75-2 140 Preston Executive Dr. ISBN-10: 1-934238-75-9 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, tutorials, cheatsheets, blogs, feature articles, source code and more. 9 781934 238752 Sponsorship Opportunities “DZone is a developer’s dream,” says PC Magazine. 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, rev. 1.006 10/08/02 photocopying, or otherwise, without prior written permission of the publisher.