Monday 7 December 2009

Week 49 of 2009

A friend mentioned that I should take a look at SEMAT which is a new initiative to identify and formalize the theory behind and the kernel processes underpinning good software development practice. It's a very new initiative with a long list of supporters already. However, what do they really hope to accomplish?

Looking at the processes involved in software development is not what is lacking at present in my opinion. We really need to establish higher-order work products that are reusable across a wide user base. These higher-order work products need to be independent from but translatable to multiple platforms. This is what Shlaer-Mellor OOA/RD was (and still is via OOA09) and UML/MDA is meant to be achieving. Unfortunately, 99.99% of all developers continue to program applications with standard programming languages and techniques. As long as developers continue to mix implementation concerns into application concerns, broad reuse will continue to be a dream. An executable model capturing application concerns separately from implementation concerns is the only viable way to move the software industry forward. Who do we want to be doing implementation programming in 50 years? Us? No. Machines should be implementing solutions to our problems. We should be implementing those machines and innovating sophisticated service domains. We should be moving to a world of software factories and engineering laboratories not maintaining software sweatshops.

The articles on the SEMAT website talk about fashion and politics with regard to current software development practice. This will always be the case when you involve lots of people in any activity. I don't think there is much we can do about that. However, the basic premise behind SEMAT which is that a theory and set of kernel processes will make all the difference is wholly wrong in my opinion. I'm not against process initiatives such as the CMM (I haven't really looked at the current incarnation) which can be used to improve software quality within organizations. However, this doesn't move us away from software sweatshops it only ensures product quality and that everyone is sweating at an optimal level!

I won't be adding my support to SEMAT and I don't recommend that anyone else add their support to this mostly pointless initiative especially if you are already contributing to code generation activities elsewhere.

Rant over. I don't have much progress to report this week since I have been bogged down finished off stuff and fixing several bugs. However, I still expect to release Build 014 of OOA Tool before Christmas.

No comments: