Best Practices - Sample Project for Agile Development




Introduction

This document presents a sample project based on the combination of the two majorly accepted in the software industry methodologies:

  • Waterfall methodology
  • Agile development methodology

Overall Project Structure

Release XX.Y is a master project of the specific software release.

Master project is usually planned by the Project Manager or other responsible person together with theManager - person responsible for the actual execution of the project activities.

Master project gives the high level view on the project progress, status and health and main activities executed within the project.

Master project is a tool of the R&D manager to run and control the project.



Recommendation:
It would be a good practice to assign reviewers to a master project. Reviewers are usually people that do not have specific tasks in the project, but are interested in the project progress and status. These can be people from the other than R&D departments, customers of the project and company executives.

Subprojects

  • Master project contains three subprojects:
    1. Product Management - conducted by the Product department of the company
    2. Development - conducted by the Development department of the company's R&D
    3. QA - conducted by the QA department of the company's R&D

Roadmap & Milestones

Roadmap of the master project illustrates main milestones of the project:

  • Product Definition Ready - shortcut to the Product Definition Ready milestone that belongs to the Product Management project to control progress of the definitions
  • Code Freeze - linked by the shortcuts to all Iterations inside the Development project to control progress of the development at the master project level
  • QA Freeze - linked by the shortcuts to all Iterations inside the QA project to control QA progress at the master project level
  • Deliver for Production – internal R&D delivery to the department that performs production, for example, burn CDs or others
  • Production
  • Delivery - deliver release to the customer


Note:
In SaaS development the last three milestones usually will be:
  • Deliver to IT – internal delivery from R&D to IT department for upload to Staging environment
  • Staging – deliver to the Staging environment and final QA
  • Production – delivery to the Production environment

Code Freeze milestone presents progress of the development effort running in the Development subproject at the master project level.

In order to illustrate this progress all "Iteration" milestones of the Development project are linked via shortcuts to this milestone.

With the progress of the development tasks, the milestone representation on the roadmap will start "filling" with the specific color representing percentage of work completed.

QA Freeze Milestone

QA Freeze milestone shows QA progress at the master project level.

In order to highlight this progress all "Iteration" milestones of the QA project are linked via shortcuts to this milestone.

With the progress of the QA tasks, the milestone representation on the roadmap will start "filling" with the color representing percentage of the QA works completed.

Release Feature List

Release Feature List has 2 main purposes:

  • Rough estimations of features included in the release.
  • Feature completeness indication

To estimate each feature you can use Work field of the corresponding item.

 



Recommendation:
It would be a good practice to receive estimations of the features from the Team Leaders of the development department.


Important Note:
Release Feature List should not impact overall progress of the project, thus it should have Weight = 0 in the impact progress link (see Progress Impact in the "Dependencies and Progress Impact" tab of the right panel).

Feature completeness is implemented using mechanism of shortcuts to real tasks performed in the scope of the Development project Iterations.

Shortcuts from the actual projects’ tasks will give you visualization on the progress of the feature implementation. Feature 2 is an example of the complex feature divided into sub-features that require separate estimation and more detailed planning at the Development project Iterations’ level.

Product Management Subproject

Product Management subproject is run by the Product Management department.

Within the Product Management project R&D manages:

  • Definition of all features planned for the release
  • Preparation of all release materials, including Help, Release Notes, Demos and other relevant


Recommendation:
It would be a good practice to delegate planning of this project to the Product managers or other people responsible for product definition.

Product Management subproject runs concurrently with the Development and QA sub-projects.

Development project can start before the end of the Product Definition part of the Product Managementproject, although definition of each feature as well as its handover to Development should be completed before developers starts feature implementation.

Project roadmap contains two optional milestones

  • Product Definition Ready
  • Release Materials Ready

Product Definition Ready Milestone

Product Definitions Ready milestone allows you to control readiness of all required Product Definition documents.

Milestone belongs to the project Product Management and appears at the Master project level roadmap as a shortcut.

Milestone contains the list of all features planned for the release.

Readiness of the definition of specific feature is build of:

  • PRD (Product Requirement Document) ready
  • Product Review by Development & QA
  • Product Handover to Development

Release Materials Ready Milestone

Release Materials Ready milestone will help product management department control readiness of all materials for the rollout the of the new product release.

Development Subproject

Development subproject is built of Iterations.

Each Iteration contains a detailed planning for specific period of time that should not be changed within the Iteration period. Recommended time periods for the Iteration are 1 - 2 weeks.



Recommendation:
It is a good practice that Product manager decides on the preliminary content of the Iteration and Team leaders provide detailed plan of the Iteration.

Progress of the Iterations' tasks impacts:

  • Master Project progress via Code Freeze milestone (see notes for Code Freeze milestone)
  • Release Feature List progress via shortcuts to relevant items under the Release Feature List (see relevant notes in the Release Feature List )

QA Subproject

QA subproject is built of Iterations.

Each Iteration contains detailed planning for specific period of time that should not be changed within the Iteration period. Recommended time periods for the Iteration are 1 - 2 weeks.



Recommendation:
Depending on the size of the QA department planning of the Iterations within the QA project should be provided by QA manager or QA Team leaders responsible for specific functional manual & automatic testing and Performance testing.

Progress of the Iterations' tasks impacts Master Project progress via QA Freeze milestone.