Presentation: A Tale of 2 Systems
Watch: A Tale of 2 Systems (52 min.)
Goodliffe starts by presenting a software which he worked on and was:
- Hard to comprehend
- Very difficult to modify
- Low cohesivity
- No layering
- No testing
- Bug fixing nightmare
The reason: there was no design in place from the beginning leading to bad design which in turn encouraged for more bad design. The end result was that the software was discarded.
The second case Goodliffe presents is that of another audio product started under different auspices. The development started with a minimal design which was accepted and owned by programmers and was modifiable along the way. They also had a clear set of practices and tools which gave coherence to their work using the same naming convention, the same unit test framework, XP, etc., and a clear infrastructure: source control, build system and continuous integration.
The development resulted into a successful product that is still used today, being maintainable and evolving. The conclusion of the session is that software design really matters.