gaurang.dev

Opinion of Probable Development Costs

2023-07-28

The title "Opinion of Probable Development Cost" is derieved from the term Opinion of Probable Construction Cost (OPCC). I was drawn to this wording as it does a better job of conveying uncertainty versus just "estimates". There are two qualifiers here Opinion & Probable which convey and reiterate inherent uncertainty.

Civil engineers use OPCC to provide cost estimates for large Civil Engineering projects (e.g. bridges, dams, etc). These estimates are generated early in the project inception stage. These numbers seem to be sticky and publicizing it causes all future estimates to always be compared to the original regardless of how early in the process it was generated.

There are many parallels between Civil Engineers and Software Engineers when it comes to estimating costs and overall project delays.

Common themes

Civil Engineer Software Engineer (SWE)
Underestimating the complexity Underestimating the complexity
Chicken-n-egg problem -
  • Engineers cannot accurately estimate cost without going through detailed design.
  • Organizations don’t want to invest in a costly and time consuming design phase.
Chicken-n-egg problem -
  • Engineers cannot accurately estimate cost without going through detailed design.
  • Organizations don’t want to invest in a costly and time consuming design phase.
Capabilities of contractors unknown (machinery, expertise, etc) Skills gap unknown/unclear
Variance in raw material price Shifting priorities
Massive spread in cost estimates when soliciting multiple bids from contractors. Massive spread in estimates when asking multiple SWEs.
Underestimates time/costs
  • this is a function of organizations wanting to distill things down to one number
  • this single number is meaningless without context (public agencies involved / complexity / etc)
Underestimates time/costs
  • this is a function of organizations wanting to distill things down to one number
  • this single number is meaningless without context (complexity / teams involved / etc)
As the project matures, larger number of people get involved
  • regulators / planning / citizens / etc
  • with so many stakeholders the project gets more complex
  • having these stakeholders isn’t bad, but it does add to complexity / cost
As the project matures, larger number of people get involved
  • security / compliance / etc
  • with so many stakeholders the project gets more complex
  • having these stakeholders isn’t bad, but it does add to complexity / cost
Even after detailed designs are completed there will be issues related to shortages / weather / unknown site conditions / etc
  • in the worst case the project needs to be re-designed due to learnings from the construction phase.
Even after detailed designs are completed there will be issues related to staffing / priority / unknown tech-debt / technology maturity/etc
  • in the worst case the project needs to be re-designed due to learnings from the tools / frameworks / source.

all posts =>