3 ms·
>The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 perc
by meowface 5y ago
>The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.
- Tom Cargill, Bell Labs
- XenophileJKO 5y agoI really wish this weren't so true....
- moksly 5y agoWhy? This is true in most processes that involve building things. It doesn’t take very long to finish the foundation and frame of a house either, but making it liveable takes quite a while. When we build a new city hall (under time and budget by the way), the actual building was finished after a year. It took another two years to make it useable as a city hall. Why would software engineering be any different? The only real difference is that you have to do all the parts rather than specialising in brick laying, electrical stuff, plumbing and so on. Yes, this is really how little I know about construction and I still managed all the parts of the project concerning IT and networking (without really knowing anything about the instalment sides of that beyond the blueprint and trusting my operations guys either). So maybe I’ve talked myself into agreeing with you, but perhaps not for the same reason. Because I wish it wasn’t true either, but mainly because I wish the software development industry wasn’t still so infantile that it still can’t predict and distribute the workload in a manner so that projects can be delivered under time and budget more often than not.
- ciphol 5y agoIt's predictable that the walls/ceiling of a building will take X time, and the wiring/furnishings Y time. Software development is different because even after you have allotted time for every issue you can imagine, unexpected further issues end up appearing which delay you beyond the projected deadline.
- bottled_poe 5y agoThis adage forgets the last 90% of development time required after the software is released.
- Jensson 5y agoWhich is why you should ensure the first 90% is as little work as possible. Trying to take the other 90% into account from the start will just create yet another 90% later as all your original assumptions turns out to be wrong or mesh poorly with each other. Some things are important to plan since they are hard to change, like user data or API boundaries, but other than that simple is usually the best to start with.