Agile in the Cloud - April 2011
“"Just like water from the tap in your kitchen, cloud computing services can be turned on or off quickly as needed. Like at the water company, there is a team of dedicated professionals making sure the service provided is safe, secure and available on a 24/7 basis. When the tap isn’t on, not only are you saving water, but you aren’t paying for resources you don’t currently need." —Vivek Kundra, CIO in Obama administration
Cloud-driven development and being agile go hand in hand. The two complement each other perfectly, emphasizing short development cycles based on fast customer feedback and eliminating the cumbersome distribution requirements that can bog down agile development.
"Agile in the Clouds" is the topic for this month’s edition of the Agile Journal.
Jim Ensell’s article, "Agile Development in the Cloud," discusses how putting agile together with cloud computing dramatically accelerates an organization’s pace of improvement. There are incredibly exciting prospects for organizations in every vertical market, because agile development in the cloud now gives greater control over process innovation and more strength to a company’s competitive edge than ever before.
In "Winning Combination of Agile and the Cloud," Mario Moreira describes how agile allows for the continuous building of the software product increment (aka, functionality) and the cloud allows for an effective means of getting the business value into the hands of the customer on a continuous basis with little effort on the customer side.
My article, "Differentiating Between Estimating and Committing," discusses the difference between making an estimate for how long it will take you to do something, and the commitments or obligations that impact agile-lean product development.
"The Product Backlog Board," by Roman Pichler, introduces the "product backlog board" as a handy tool to capture and manage requirements. Its advantages over a traditional, flat product backlog include:
- Facilitating emergence and minimizing the amount of detailed requirements by using epics and themes
- Reminding the product owner and team to identify global nonfunctional requirements and providing a place to capture them
- Allowing integrating requirement models into the product backlog
Sue Ryu begins her article, "Building an Effective Scrum Team," by telling us—Yes, Scrum is simple. Yes, it is the most effective framework for delivering a software product in a complex and competitive market. But too many organizations jump right into Scrum without properly preparing and guiding their teams though the adoption process.
"Building a Relationship with Agile," by Yogesh Kumar, provides a new way to look at your team’s agile adoption.
Finally, Philip Marshall, in his article, "Distributed Multi-source Development," delves into today’s development challenges, including finding cloud-based application lifecycle management (ALM) solutions and working collaboratively with ALM methodologies to drive change and increase quality, reduce time to solution, and create new opportunities for collaboration. Your agile buddy, Russell Pannone Editor-In-Chief Agile Journal
|

|
Agile Development in the Cloud by Jim Ensell Depending on which survey you look at, roughly one-third to one-half of development organizations are using agile methods today, of which somewhere between 60 percent and 75 percent are Scrum. As compared to other methodologies, agile provides flexibility to meet changing market needs, transparency, predictability through timeboxing, and shorter, nested feedback loops. The rapid movement of development organizations to agile continues to amaze as companies are making strong organizational commitments and a number of associated management and development changes to reap its benefits. In parallel, the industry has seen this same sort of resonance around cloud adoption—secure, anywhere access by distributed teams to a centralized set of services and computing resources that span the complete lifecycle of development and deployment. Putting agile together with cloud computing is a compelling and symbiotic combination that will reduce development costs, decrease time to market, and improve productivity in ways never possible before. Read More >>
|
|
|
|

|
Winning Combination of Agile and the Cloud by Mario Moreira Agile is a software development method based on an iterative and incremental approach. Where the iteration (aka, sprint) is expressed as a timebox of work typically two to four weeks long, the increment is the functional product deliverable at end of each iteration. As most software professionals are aware, the action of delivering the increment into the traditional on-premise software product environment is less than straightforward. Read More >>
|
|
|
|
|

|
Differentiating Between Estimating and Committing by Russell Pannone "A fundamental and common problem in many organizations is estimates and commitments are considered equivalent.” —Mike Cohn “Unless commitment is made, there are only promises and hopes; but no plans.” —Peter F. Drucker
The difference between an estimate and a commitment seems simple: An estimate is an educated guess of how long it will take you to do something. It should not be thought of as a binding obligation. A commitment is an obligation to do what you say you will do.
In today’s fast paced and ever changing world, we are faced with the following variables: Read More >>
|
|

|
The Product Backlog Board by Roman Pichler Most product backlogs I have come across either contain too much or too little information, ranging from literally a handful of user stories to hundreds of items. Many backlogs don’t consider nonfunctional requirements and do not provide high priority items that are “ready”—clear, testable, and feasible. Why do product owners and teams struggle to use the product backlog effectively? The linear nature of a traditional product backlog is one reason. As Ken Schwaber states in his book, Agile Software Development with Scrum [1], the product backlog is a list of “features, functions, technologies, enhancements, and bug fixes.” Such a list works well for creating a simple product, but it can be inappropriate for a more ambitious one. Read More >>
|
|
|
|
|

|
Building an Effective Scrum Team by Sue Ryu
Scrum is simple, so how can it be so difficult to adopt? The dictionary definition of adopt is “to take and follow (a course of action, for example) by choice or assent.” In order to adopt Scrum, one needs to change, and change of any kind can be inherently difficult, especially for people working in teams. When change is required, it would be a lot easier if we could break old habits and begin with a clean slate. Given human nature, however, this is not easy to accomplish. Read More >>
|
|
|
|
|

|
Building a Relationship with Agile by Yogesh Kumar During the past decade, agile has emerged as a popular product development methodology with more than 80,000 certified ScrumMasters, according to the nonprofit Scrum Alliance, and many times more agile practitioners. More and more teams want to build a relationship with agile, but they are not sure how to get there. Taking a big bang approach to agile is not a viable option for many organizations, as most successful adoptions of agile are tailored to the strengths and limitations of the specific organization. This article provides an overview of agile adoption using the metaphor of human relationships. Read More >>
|
|
|

|
Distributed Multi-Source Development by Philip Marshall What are leading development organizations doing to increase innovation, agility and embrace new technologies? The answer: Distributed multi-source development
Large software projects that are late. Missed schedules. Budget over-runs.
These aren’t pleasant challenges to manage, yet they are hallmarks of traditional waterfall software development methodologies. This common approach to creating software is yielding to two powerful approaches to development: distributed development using Agile methodologies, and multi-source development, combining closed source with free and open source components. Read More >>
|
|
|
|
|
|
|
|
|