|
|
|
|
|
by IvyMike
4338 days ago
|
|
> Why not aspire to levels of completeness and rigor comparable to civil engineering? Because it takes 11 years to upgrade one feature. https://en.wikipedia.org/wiki/Eastern_span_replacement_of_th... In all seriousness, you could have any level of 'rigor' you want, but you probably don't want to pay for it. I used to work at a hardware company that used custom ASICs. Each new hardware platform used a handful of new ASICs and took around five years to develop. And if you made a mistake in an ASIC it was costly to fix--sometimes you could modify a metal mask, but a full respin was approaching $1M. In that environment, you do everything you can to not make a mistake. I was always glad I was in software. I used to joke that if I made a mistake, it cost around one cent of electricity to recompile. But over time, they started to treat software development like they did ASIC development. It took forever to get a feature implemented, Seriously, even tiny things that were like "I've got an UI idea that I can code it in a couple of days and see how it works out, if it sucks no harm no foul" were turned into six month orgies of spec writing, endless meetings, multiple layers of buyoff, and just overall inefficiencies. |
|
But there's no formal, explicit and established pattern/process which guides a project through the stages of invention, innovation, refinement (debugging and user feedback), deployment and promotion, and preparation for maintenance with documentation.
If you're lucky and/or experienced and/or have good project management some of these things will be done well.
If not - nope.
In your case I can see why ASIC culture crept over to software. But if software had an existing culture, you - and everyone else - would be able to try out new ideas without management terror that you were going to break something.