- I just heard something quite interesting.
What went wrong with the IT-industry? - James Coplien - YouTube
https://www.youtube.com/watch?v=gPP7Bleg214#t=39m17
- Approximate transcript:
build a prototype, throw it away
build a product, throw it away
build a deliverable, ship release 1/2/3, throw it away
[build a deliverable, ship release 4/5/6, throw it away]
[build a deliverable, ship release 7/8/9, throw it away]
every third release they're throwing things away
- My summary:
- I can usually fix small projects to make them perfect.
- Big projects will usually need, or benefit from, periodic restructuring, e.g. annual or biennial.
- No amount of planning will result in a perfect plan.
- Adding kludges is a potential source of bugs.
- Adding kludges to a poorly-structured project can be as time-consuming as restructuring, and an accumulation of kludges can slow down future restructuring.
- Prototyping and restructuring can be fast and enjoyable.
- Maintaining a menagerie of kludges can be slow and demotivating.
- Restructuring will shine light on curious mystery bits of code that needed attention, leading to rewrites or improved commenting.
- Final words:
- The biggest problem in IT is the need to restructure the codebase, assume that you will have to do this.
- Embrace rather than avoid restructuring.
- I just heard something quite interesting.
What went wrong with the IT-industry? - James Coplien - YouTube
[url]https://www.youtube.com/watch?v=gPP7Bleg214#t=39m17[/url]
- Approximate transcript:
[quote]
build a prototype, throw it away
build a product, throw it away
build a deliverable, ship release 1/2/3, throw it away
[build a deliverable, ship release 4/5/6, throw it away]
[build a deliverable, ship release 7/8/9, throw it away]
every third release they're throwing things away[/quote]
- My summary:
- I can usually fix small projects to make them perfect.
- Big projects will usually need, or benefit from, periodic restructuring, e.g. annual or biennial.
- No amount of planning will result in a perfect plan.
- Adding kludges is a potential source of bugs.
- Adding kludges to a poorly-structured project can be as time-consuming as restructuring, and an accumulation of kludges can slow down future restructuring.
- Prototyping and restructuring can be fast and enjoyable.
- Maintaining a menagerie of kludges can be slow and demotivating.
- Restructuring will shine light on curious mystery bits of code that needed attention, leading to rewrites or improved commenting.
- Final words:
- The biggest problem in IT is the need to restructure the codebase, assume that you will have to do this.
- Embrace rather than avoid restructuring.