As the Director of Product Development, for an internet Startup Company I was responsible for preparing and assuring the accuracy of RFPs.
The accuracy of an RFP is impacted by several components.
Accounting for uncertainty on a project by careful planning:
The accuracy of an RFP is impacted by several components.
Accounting for uncertainty on a project by careful planning:
- Understanding the RFP
- Get clarification whenever possible
- Develop functional specifications that mirror the obvious tasks in the RFP
- Refer to similar projects when estimating these tasks
- Review the customer environment: hardware, security protocols, permissions that might restrict deployment
- Weigh the availability of internal resources, particularly any that are shared with other projects
- Account for the intangibles in the estimate
Underlying the prepared estimate are the goals and objectives of the company. A startup company may lowball their estimate in the hopes of procuring their first contract. While a more established (solvent company), would not be compelled to do so.
If the response to an RFP results in the award of a contract and the development paradigm is waterfall, then the task of estimating is complete. However, should that methodology be Agile then the estimation phase will repeat.
Estimating for an Agile Iteration
- All tasks begin in the project backlog
- Iterations frequency is agreed upon, a constant, and often 3 weeks.
- Tasks are prioritized from that backlog
- Tasks are added to the proposed iteration
- Tasks are evaluated in terms of “Use Cases”
- The team reviews the ‘Use Cases’ and assess Story Points, by playing ‘estimation poker’.
- The team’s velocity, which is the result of the recent story points in previous iterations, provides the number of tasks that will be added to the upcoming iteration.
- The iteration’s delivery date should not be subverted. However, should the velocity prove excessive in any iteration the later tasks in the iteration can be postponed.
- The customer must be notified of any task omitted from the iteration, as transparency is a dogmatic principal of Agile.
Agile Methodology’s incremental approach to deliveries provides obvious benefits:
- Never get too far down the wrong path
- Each iteration is a proof-of-concept.The customer evaluates the evolution and can accept or reject the iteration.With rejection comes customer clarification, modification to the task(s) in the iteration, and reissuance of the iteration.
- Flexibility (Agility)
- Agile when juxtaposed against Waterfall demonstrates its fluidity and ability to change with the customer’s changing needs.In order to achieve successful product delivery using the Waterfall Methodology the customer’s wants and needs must be clearly understand and implemented, and they must be unchanging.In recognizing that needs change, Agile gains its advantage over Waterfall.
- How to reconcile the original RFP estimate with estimates from each iteration
- If the RFP estimate was thorough and accounted for the intangibles including the changing customer needs then it will be in excess of final delivery.
- However, as is often the case, changes will be frequent and road-blocks numerous and the cost may exceed the RFP. But if the build-out was transparent, with frequent iterations collaborative, then the customer will have no surprises.And will be satisfied with the approach and the final product.