IT DRILLDOWN
 
NEWSLETTERS
 

CIO.com updates, insights and advice on technology, management and your career.

 
 
 
LEADERSHIP
 
CIO Executive Programs
The Leader in Face-to-Face Education for Senior Executives

Offering regional and national programs, CIO (and CSO) events bring together some of the most respected names and thought leaders in information technology and security. Presented by CIOs and other senior level executives, these invitation-only programs offer timely topics and strong networking. Learn More »

 
CIO Executive Council
A Peer-Advisory Service and Professional Association for CIOs

Public Teleconferences
Join CIO Executive Council members and participate in the following live one-hour teleconferences:

* Transforming IT Teams
September 16

* Global CIOs: How to Lead on the World Stage
September 18

* Social Responsibility's Strategic Benefits
October 29

More / Register »

Learn more about the CIO Executive Council »



 
 
RESOURCE CENTER
 
 
 
SUBSCRIBE TO CIO
 
Are you involved in setting the direction for your company's IT budget or strategy?

Apply today for a FREE subscription to CIO Magazine!

 
 

What an Agile Process Looks Like

Development teams that want to adopt agile methods need to know what a typical roadmap looks like. This book chapter from the new Becoming Agile shows you how to view Agile concepts from a phase perspective.

 

January 23, 2008CIO

Traditional software development happens sequentially with clearly defined stages and phases. Sequential development is popular because it is easy to follow from a team member perspective. Team members follow exact steps for every project and quickly learn the process.

Becoming Agile book cover
This article is based on the book Becoming Agile by Gregory S. Smith, published by Manning Publications.

In an Agile process activities are frequently concurrent and often repeated. Team members focus on providing value and using the process and steps that best support the project. Applying Agile processes and techniques is not intuitive for team members with a background in sequential software development.

To address this issue I will present the Agile concepts from a sequential phase perspective. If you are familiar with traditional software development you will find the phase descriptions intuitive.

Before we continue, let me expand on what I mean by a generic Agile development process. Scrum and Extreme Programming (XP) are popular packaged Agile methods. These packaged methods come with several Agile practices and a suggested process for using them. Our generic life cycle will be different in that it will allow a development team to pick and choose the Agile practices that work best in their environment.

XP and Scrum are superb Agile packages with strong followings and demonstrated success. Many companies have deployed these packages successfully. An issue with selecting a package, however, is some practices may provide minimal value in your environment or be difficult to implement on day one.

Consider the XP practice of Test Driven Development (TDD). This is an excellent practice that provides benefits such as minimizing the time needed to trace down bugs and quicker deployment of code. No one can deny the value of these benefits. What can be challenged is the complexity of implementing a TDD process.

A TDD process requires a disciplined development team and a mindset change. The development team needs to grasp the value of TDD and support it on a daily basis. This is a stretch for a team that is just learning the value of Agile principles. From my perspective you would not want to attempt to use TDD during your initial migration to Agile. TDD could be revisited once the Agile culture has begun to take hold and the team owns the new process. For reasons such as these, you will select the Agile practices that work best in your environment.

Related, an important aspect of our process is the menu system. We will outline a core flow that all projects should go through, but the required path will represent the least common denominator. It will be low on formality and best used on projects that need to be completed in a few days. The menu will provide options that the team can select as needed, or as the project requires more structure. To see an example, let’s look at the menu that Acme Media will use in table 1.

Table 1

A key to being Agile is using the practices that best support a given project. In this example from Acme Media, the team should perform the tasks first list for every project. The steps in the second list are optional.

Required of All Projects
Project worksheet (charter)
Operational worksheet
Feature card/User Story exercise (cards optional)


Optional Processes and Documentation
Elevator Statement
Document answers to Feasibility Discussion Guide questions
Cost/benefit analysis
Feature card documented.
User scenarios
Use cases
Prototypes and/or mockups
Stand Up Meetings
Iteration plan
Maintenance plan
Additional documentation as required by the team/project.
Pair Programming
Detailed schedule
Launch Plan
Information Radiator
Demonstrations
Action items from project retrospective


Figure 1 illustrates the Agile phases and their relationship to each other.

Figure 1
Figure 1 Agile process frequently occurs in parallel, but we will discuss them from a serial perspective to make them easier to learn.

The Agile phases

The 5 phases we will discuss are feasibility, planning, development, adapting, and deployment:

  1. The feasibility phase is used to determine if an idea has enough merit to proceed to planning. An individual or small group will scrutinize the idea for customer value, company value, and risk.

  2. If an idea is viable it will proceed to planning. The project team will be assembled at this time and the team will work together to identify features. Features will be examined for value and risk and eventually estimated so they can be assigned to an iteration plan.

  3. Development iterations convert the iteration plan into working code. Features are built, tested, and demonstrated to the customer and stakeholders at the end of each iteration.

  4. The team adapts between development iterations. Customer feedback is used to adjust the plan for the forthcoming iteration. The team also uses this window to evaluate their velocity (pace) and they adjust iteration capacity accordingly.

  5. When all iterations are complete the team deploys the working code into a production environment.

Now let’s examine the feasibility phase in detail.

Loading...
 
 
ABCs
 

Just the basics, please. Sometimes we all need a refresher or we need to make sure our team and our colleagues are all on the same page.

Over 25 tutorials on everything from business intelligence to virtualization.

 
 
FEATURED SPONSORS
 
 
 
SPONSORED LINKS
 

Standalone Server vs. Open Source Toolkits

Drive More Effective Business Processes with SOA

Efficient by design: Watch this flash demo of the Quad-Core AMD Opteron Processor

HP and Oracle deploy unbreakable computing infrastructure at Replacements, Ltd.

Spam-proof your business with Google's hosted security solutions

Global Crossing is the most viable alternative for voice, video and data

Plan better, manage better

Dell Latitude: Battery life up to 19 hours. Learn more

Video: 21st Century Networking for a 12th Century Castle

Speed, agility, flexibility - The HP BladeSystem c-Class

Secure your virtual and physical environments with the same software

GET YOUR VoIP ONTM! Win 2 Years of Hosted VoIP from Cypress. $100,000 retail value. Enter today!

Getting in Compliance with Government Data Regulations

Solving Online Credit Fraud Using Device Reputation

Destination: Intelligent Data Center Automation

The Benefits of Data Deduplication for Data Protection in the Enterprise

Accelerating ITIL at the Service Desk

Putting Open source to the test

Weigh the trade-offs between outsourcing communications and keeping it on-premise.

Protecting Data in a Highly Networked World

Consolidation: Just the Starting Point for Virtualization

How the Mac is Becoming an IT Standard in the Enterprise

Storage Efficiency: The Key to Green Storage Operation

Oracle Real Application Testing with Oracle Database 11g

InfoWorld Test Center on Oracle Active Data Guard

Fuel the Responsive Enterprise Through Oracle Fusion Middleware

Balance Your Innovation and Efficiency Platforms for Competitive Advantage and Responsiveness

Renowned Engineering Institution Chooses AMD Processor-Based Servers

Extending the Enterprise Network Through Mobility

Compuware.com - See how we make IT rock around the world

CA delivers deeper insight into your assets, resources, projects & services so you can make more informed IT decisions

Discover PMI's credentials and career path tools

SOA Educational Library at the TIBCO SOA Resource Center

TDWI Report shows strong validation for investing in predictive analytics

Learn about the software-based VoIP solution from Microsoft

Microsoft System Center - Designed For Big

The Latest Advancements in SSL Technology

How to Offer the Strongest SSL Encryption

Forrester Total Economic Impact (TEI) report: Save Millions in Fraud Losses.

Document Management 2.0 -- Web-based Collaboration and the Road to Compliance

Build up or Tear down? See how UC makes sense with Nortel. Calculate your UC ROI

Virtual Support Technology Delivers Quantifiable Gains in Productivity and Performance

File Integrity Monitoring: Secure Your Virtual & Physical IT Environments

Webcast: Roundtable discusses industry trends for Enterprise Content Management

Stimulating Innovation: Meeting IT's New Mission

The Struggle to Achieve Agility and Reduce Complexity

Maximizing Site Visitor Trust Using Extended Validation SSL

Oracle Database 11g: Real Application Testing & Manageability

InfoWorld Test Center on Oracle Real Application Testing

Oracle Database 11g: Advances in Compression, Real Application Testing and Data Guard