'_';

Creating Estimations in Software projects[Agile]: 1

Managing Cost is not an easy task. Though some well defined processes do exist to manage costs, some of the old processes like RUP have loads of artifacts associated with them. PMBOK outlines five process for managing the Scope, six for Time and three for Cost. The good part about PMBOK is that you can always select the process groups and customize them the way you need them (depending on the project management methodology you are using).

Talking about PMBOK, let’s see how it can help in executing Agile Projects. PMBOK is a group of processes where you select the processes upfront. In Waterfall, you define the scope upfront and then keep iterating [using scope control and change requests]as the project moves on; while Scrum [Agile Project Management Process] is both an iterative as well as an incremental process.

The challenge here is to create an incremental delivery with the PMBOK.  To achieve this, there is an iteration on initial design, scope and estimation which is done on a broader level, so that the finer details of the features can be changed during their own iterations [later during the delivery phase].

ESTIMATION SPRINT is done to base estimate the Cost. To do this there has to be a rough estimate on Scope, Time, Quality, Integration and Resources needed to carry out the Project. Here, care should be taken to not go into detail at this stage. The estimate should be a rough order of magnitude – or a ball park estimate [-25% to +50%]. The contract with the sponsor should be favorable to the development cycle.

The deliverables from the SPRINT are:
The Project Plan, which includes
Initial Scope Estimate [WBS / WBS Dictionary]
Initial Time Estimate [with Activity List/Attributes]
Initial Time Estimate [with Activity List/Attributes]
Initial Resource Estimate [Staff Plan / Roles and Responsibility]
Initial Cost Estimate [Cost Baseline]
&
Feasibility and initial Architecture and Configuration Setup

SCOPE ESTIMATION:

  1. Scope Planning
    It is a base document which tells us about how to manage the other four processes. It’s a combined outcome of the experience of the scrum master, the organization and the community. There has to be common Scope Planning document in an organization [which can be customized for different projects. This shows how agile PMBOK is - it has room for customization]. This should be created once during the lifetime of the project, and it describes the broader scope of the project.
  2. Scope Definition
    According to PMBOK the inputs to the process are

    Inputs
    1 Scope management plan
    2 Project Charter
    3 Approved change request for iteration
    4 Preliminary scope statement
    5 Organizational process assets

    In Agile where changes are embraced [the product owner is in the team], PMBOK establishes a control mechanism which tries to control and document the changes. This makes PMBOK a bit time consuming. But as PMBOK is configurable, where you can select the sub-process t0 work with. I would suggest by re-defining the “Scope management plan” and “Approved change request for iteration”, as per you convenience [Agility].
    Using these inputs the goal is to use techniques like

    Stakeholder analysis
    Product analysis
    Alternatives identification
    Expert judgement

    to create a Scope statement which has:
    Project Objectives
    Project Scope Description
    Project Requirements
    Project Boundaries
    Project Deliverables
    Project Acceptance Criteria
    Project Constraints
    Project Assumptions
    Initial Project Organization
    as the head points. Again the heads are important, but what goes in can be controlled. Since it only an ball park estimation, we need to see what goes in for the Assumptions and Project Constraints. Also need to clarify the time-lines for the deliverable, Weekly/monthly or as per the sprint duration.

  3. Create WBS
    WBS can be created in two ways, either based on Phases [ Project Management | Design | Construction | Testing] or based on Delivery [ Project Management | Software | Hardware | User Documents]. If you’re using Agile Methodology, then it has to be delivery based. It takes all the inputs from the Scope Definition Process and output from the Scope definition to give a Work break Down Structure, WBS Dictionary, Scope Baseline. In the example given below, WBS is broken into iterations- first iteration being PM Docs and architecture setup, followed by iterations based on the users identified.

    SAMPLE WBS [Based on Delivery]

    wbs

  4. Scope Control
    Though the Product Owner is part of the team, it does not mean that we don’t need to control the scope. The Scope needs to be controlled if the there is a cost ceiling and the revenues are attached to the time and delivery. Though we don’t need a control board to accept the change request – it can be done immediately after the Sprint, with the consultation of Product owner. In the Estimation Sprint (or Iteration –1), the scope definition is on  broader terms. If there is an Architectural change or there is a change which will change the Scope, Cost or Time by more than 30%, then it should be taken care of in iteration 1 [a backlog will be created with the accepted change for further iterations].  Else, the changes can be taken care of in the respective Iterations.
  5. Scope Verification
    Is immediately done by the Product Owner at the end of the iteration. Here, a verification is done on the deliveries of this iteration.

Similarly, there are Processes for Cost, Time and Quality Estimations. Once these Estimations are done, they are put forward to the client for approval. The first iteration happens to bring out the complexities involved in the delivery. Other Iterations are carried out by fixing Cost and time, then by finding what all features or use cases can be delivered in that cost.

Next step will be estimating the Time.
Technorati Profile

  • Twitter
  • Technorati Favorites
  • StumbleUpon
  • Slashdot
  • DZone
  • Delicious
  • Windows Live Favorites
  • Digg
  • Yahoo Buzz
  • Reddit
  • Posterous
  • Share/Bookmark

Related posts:

  1. Creating Estimations in Software projects [Agile]: 2 After an initial estimation on the scope, PMBOK advices on...
  2. Contracts in Software Projects. No new Project work can be initiated without a proper...
  3. To Initiate A Project ! How do we initiate a project? What are the basic...
  4. Programming in Agile Two Programming methodologies worth considering in Agile are XP...
  5. (IT) Java Developer, Hibernate, Agile, Test Driven Development, -… Java Developer, Hibernate, Agile, Test Driven Development, OOAD, Enterprise Architecture...

This website uses IntenseDebate comments, but they are not currently loaded because either your browser doesn't support JavaScript, or they didn't load fast enough.

One response to “Creating Estimations in Software projects[Agile]: 1”

  1. JaneRadriges

    Great post! I’ll subscribe right now wth my feedreader software!

Leave a Reply

Contact

Get yourself a Technology Consultant
Mail your queries to
sales@thakursahib.com
Call us at +91 124 4235481