Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Design

Initiating an Agile Project


Will It Fly?

An important consideration during Cycle 0 is the economic, technical, operational, and political feasibility of the project. So we ask ourselves if the system will pay for itself; if you have the ability to build the system (or to manage the project if you're outsourcing the effort); if you can keep the system running once it's built; and whether your organization can tolerate the successful delivery of this system. Although there are detailed techniques for determining the answers to these questions (which I describe at www.ambysoft.com/essays/ projectJustification.html), the fact is that I don't remember a project where I couldn't have honestly answered those questions during the first week with very little effort at all. Luckily, open and honest communication is a hallmark of agile teams, so if you're truly agile, then you should be able to easily address these questions. The alternative, of course, is to waste money following more bureaucratic techniques.

Laying the Groundwork

You begin to build your team during Cycle 0. You don't need everybody on the first day, but you do need your key people if available. This can be a bit different from what traditionalists are used to—there is very little "ramp up time" on an agile project because we start doing the work right away. On an agile project, there aren't weeks or months of modeling, documentation, and reviews to get through. Instead, there are hours or days of it—and then you start to work on building working software.

Ideally, agile teams are typically made up of generalizing specialists who have one or more specialties (for example, they're great at both use-case modeling and Java coding), a general knowledge of the software process, and at least a general knowledge of the domain. If you don't have such people yet, don't worry—as long as you can find people who are willing to work towards becoming a generalizing specialist, you should be okay.

One or more stakeholders will be active participants on the team, and now is the time to start identifying who these people will be, negotiating their availability, and actually getting them going. You want to start building relationships with critical stakeholders, such as the people paying for the system, who might not be active participants.

You also need to setup your working environment. This includes obtaining a workspace for the team and getting them moved into it. Don't underestimate the importance of shared tools such as whiteboards on which to sketch and dedicated wall space to post important diagrams. Furthermore, it is critical to setup the technical environment, including test databases, integration machines, testing tools, development tools, and your configuration management environment.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.