Why this page?
I've spent 31 years working in the software industry, I've so many drives and running after the silver bullet. There isn't one and don't let anyone fool you into thinking there is!!! But I recently ran some Unit testing and TDD training and was stunned by he questions that were being asked. It lead me to question the direction in which the software industry is heading.
Before I rant like a crazy man let me qualify my journey to where I am today.
- Mid 80s developing medical systems in assembly on CP/M machines, no real structured approach, but definitely incremental development
- Mid towards 90s developing medical systems in dBase II+ and Clipper, no real structured approach, but definitely incremental development
- Late 80s developing medical systems in dBase II+ and C++, no real structured approach, but definitely incremental development
- Just heading into 90s developing medical systems in C/C++, a formal waterfall approach was being applied and it was not incremental, get it right once and no looking back (not a good experience). It was also during this time that I Object Modelling Technique by James Rumbaugh et al, this is the point where my whole approach to software development changed. I realised you can create good software without some of design. Now I know a few of you out there are thinking "yeah I do that but I just don't write it down." And that's where the problem is, you don't write/capture what's going on in that crazy mind of yours. I suddenly realised that if I could capture what I was thinking in a consistent, agreed and proven way, then the next time I need to come back to the same problem I wouldn't have to spend hours and days trying to figure out what my code was doing and what the heck the problem was that I was trying to solve in the first place (sorry ranting....). Remember - we didn't have the version control systems that we have today and neither did have the test techniques that we apply today.
- Early 90s developing communications software in C++/VB, had several languages for designing - OMT, Booch, Shlear Mellor, Syntropy
- Just prior to the mid 90s developing distributed object systems using CORBA in C++ with Java starting to stream through, OMT the dominant language, iterative life-cycles falling out
- Mid 90s, UML and Java beginning to replace OMT and C++ as the dominant design and programming language respectively.
- Just after mid 90s world goes crazy and we're in the throngs of analysis paralysis. Basically it's a waterfall approach being applied to OO techniques. It ain't working. We have teams analysts creating mountains of documents that have no correlation to the software being developed. Software developers think analysts are idiots and analysts think software developers should stay in their caves.
0 Comments