I think everybody, in the developer and architecture world, knows who is Mr. Ivar Jacobson. One of the founder of RUP and author of numerous famous books on methodologies and UML. I am not the biggest fan of UML, but the thing we can agree on is that, at least, UML is a basis to communicate ideas to people that are not only technical.
Jacobson was in Zurich to explain his latest thoughts on how to build software quickly and at low cost.
He started by talking about a fact we cannot ignore. Indeed, in the last decades, we have seen different trends and waves in the software development. In the 80’s, the trend was Object Oriented Programming. Everybody wanted to do OOP. En of 90’s, it was CMMI and XP. And today, it’s Agile and Scrum. From this history, we can extract mainly two things : the basements are the same, but with new words. At the end, we are recycling ideas under brand new names. The second, according to him, is that most of the CMMI level 5 companies are now just filling papers and quality of deliverables didn’t improved that much. By the way, it reminds me the trend of ISO 9001 certifications. What is the status today ? I don’t see companies marketing on this anymore…
Another point is that people really hate processes and they don’t read processes book. Because it is too long, too complicated and not suited for their day-to-day work. Again, Jacobson says that during conferences he did in the big off-shore software companies, we he asked who was liking processes, only few raised their hand. But, when he asked who hated processes, more than 60 to 70% of the people raised the hand.
So, Jacobson says that it is time to turn into practices. And what is a practice ?
First, a practice has a beginning and an end and is something that is currently used. Moreover, a practice should focus on essential things. Jacobson identified three practice groups :
Peer practices that includes, for example, Use Cases Driven Development and Project Management “?? la Scrum”.
Extension Practices, such as Use Cases for SOA
And Cross-Cutting Practices that implies workshops and pair programming.
Then, the first goal is to extract a kernel practice which is a kind of metamodel that can be applied to every practices.
Once the practices have been identified, you don’t have to apply them to every projects throughout the enterprise, but rather take a subset of the practices that suit the current need.
Finally, what I found fun is the concretization of these practices. How they are materialized. Jacobson showed the audience a set of (pocket) cards on which the practice is presented. This way allows easily manipulating and consulting them. For each kind of card, few pages (from 2 to 3) of guidelines to drive the card into practice with, maybe, links to other informations.
The final word is that rather than having a huge and heavy process that will never be used or implemented correctly, using best practices is more agile. And the fact that it has a concrete side makes it even more interesting. On the other side, we can see and feel that Jacobson is a really good speaker and he is quite used to this exercise.
For more information, visit the following links :
0 Comments