| This is my approximate proposal and estimation process: 1). This is a new and unproven client, and if so, I go with the gut feel estimate e.g. 3 months, 2 weeks, 6 months to see if they understand how expensive software development (or any custom professional services) could be. 2). Understand if a rough or precise estimate is required. Are they looking for a fixed-price bid? Convince them that fixed-price is not in their interest. If the client insists on the fixed bid and the project is large and undefined, bow out. If the client is looking for a rough estimate, or the project is smallish (< 2 months), continue. 3). The client relationship is existing or the client and I are on the same page with the rough costing. If the project is large, explain that the estimation task is large and time-consuming, and ask to be compensated for the task. If the project is small (<2 months), eat the estimation cost. 4).
a). Gather understanding and very rough requirements over several meetings, and create a document capturing this information.
b). Procrastinate and then break down larger system areas into "epics"
c). Create a set of releases that each deliver value to the customer
d). Estimate each "epic" and assign reasonably buffered estimate to each release.
5). Walk the customer over the document, timelines, budget estimates. |