Strive a balance between development speed and reusability.
Points
I only pick the points I think it is correct here.
- The cost is development time
- Good quality mean
- Free of bugs
- Few feature make for reusability
- Maintainable
- Knife through butter testing (Easy to test)
- Minimal
- No unuse feature
- No half baked ideas
- Reusable code take more cost
- About 3 times more, it mean we have to use it 4 times to recover the cost
- Lean and Agile does not mean low quality
- Make defect prevention cheap by
- Continuous integration
- Virgin install
- Test Driven Development
- Acceptance Test Driven Development
- Lightweight code-reviews
- Pair programming
- Static analysis tools
Review
It mention good quality means ‘no rework’. It is difficult to make a ‘perfect’ code during planing. The market is changing, the technology is changing, everything is changing. We may find the customers’ requirement change. May be there are some new technology can solve the problem easily. We always need to refactor the code. I believe ‘design for change’ has a higher priority than ‘design for no rework’.
This powerpoint remind me that the cost of software development is ‘time’. We should strive a balance between development time and feature. Reusability is not a golden rule, if the cost is too high, we can give up reusability. We are using time to judge the quality of code. I mean time we spent on both development and maintainace. Cost on maintainace is still have more weight than development cost.
Summary
It is a slide from an consulting company. It do not provide technical example, only some figures. Not very useful, but it reminds me some old idea on software development.
It also mentions lots of jargon, it give me some keywords to search.
Reference: How much quality can we afford?.