Let's face the facts and admit it: Estimating how long it will take to build software is hard.
Why is estimation so hard? Well there are some reasons for that. Many people tend to be optimistic about how long it will take to do a task. Not surprising when we learn the way memory works. It tends to skew our experiences from old projects. We often forget the many small setbacks encountered. Another reason is that many tasks are not included in the initial estimate. They only become visible over time.
Does that mean that estimation is impossible and a waste of time?
Not at all. Many software development activities are commercial activities. Starting something without even a rough estimate of what the costs and timeline will be is risky at best.
10. Program
evaluation and
review
technique
PERT is a method of analyzing the tasks involved in completing a
given project, especially the time needed to complete each task,
and to identify the minimum time needed to complete the total
project. It incorporates uncertainty by making it possible to
schedule a project while not knowing precisely the details and
durations of all the activities.
https://en.wikipedia.org/wiki/Program_evaluation_and_review_technique
12. Three-point
estimation
The three-point estimation technique is used in management
and information systems applications for the construction of an
approximate probability distribution representing the outcome
of future events, based on very limited information.
https://en.wikipedia.org/wiki/Three-point_estimation
14. Reality
It will probably take 3 days to do a task. If everything goes well
just 1 day. But it could take up to 9 days if we are unlucky.
The average is 3,66 days!
37. Team size
“Nine women can't make a baby in one month”
“Adding manpower to a software project that is
behind schedule delays it even longer”
-- Brooks's laws
38. Team size
Start with a small and experienced team
Add some less experienced developers after a while
Is the project is struggling at the end?
Don’t add more developers!
Instead remove less capable developers!
☞ “Less capable” does not mean “Less experienced” ☜
39. Conclusion
No Estimates usually doesn’t work
PERT works well even with a lot of uncertain tasks
ChatGPT will help you find and estimate tasks
Keep the team size as small as possible
Specially when struggling with the final delivery
US Virginia-class submarinehttps://en.wikipedia.org/wiki/Nuclear_submarine
September 12, 1962
July 20, 1969
Developed by the US Navy in 1957
I want you to become my Prompt Creator. Your goal is to help me craft the best possible prompt for my needs. The prompt will be used by you, ChatGPT. You will follow the following process:
1. Your first response will be to ask me what the prompt should be about. I will provide my answer, but we will need to improve it through continual iterations by going through the next steps.
2. Based on my input, you will generate 3 sections. a) Revised prompt (provide your rewritten prompt. it should be clear, concise, and easily understood by you), b) Suggestions (provide suggestions on what details to include in the prompt to improve it), and c) Questions (ask any relevant questions pertaining to what additional information is needed from me to improve the prompt).
3. We will continue this iterative process with me providing additional information to you and you updating the prompt in the Revised prompt section until it's complete.