Ideas on Enterprise Information Systems Development

This blog is devoted to ideas on Enterprise Information Systems (EIS) development. It focuses on Lean Thinking, Agile Methods, and Free/Open Source Software, as means of improving EIS development and evolution, under a more practical than academical view. You may find here a lot of "thinking aloud" material, sometimes without scientific treatment... don't worry, this is a blog!
Every post is marked with at least one of Product or Process labels, meaning that they are related to execution techniques (programming and testing) or management techniques (planning and monitoring), respectively.

Thursday, September 30, 2010

On Certifications and Tribal Culture - Part III

In the two previous posts of this series I told a case and a tale. Although the first one is real and the second is a fantasy, they hold a similarity: both are stories about how people loose the focus on the product they should deliver and start worrying more about the execution of a given process, which may have worked in the past or in some specific situations, but is not necessarily good right now. In both cases we could see a process that was formalized, is "scientific", and reached its goals - however, with a lot of resource waste.

So what's this all about?

It is about instead of trying to solve problems, you must try to avoid they happen. This is quite obvious, however, many, many people waste resources by solving problems that could be avoided, because they are stuck to assumptions that are no longer valid, to techniques that are obsolete, and mainly, because they have difficulties in promoting changes to their process, given political and cultural resistances.

Is is also about keeping the focus on the product, I mean, to subordinate the process to the product, not the opposite. In the isolated tribe tale, do you remember when one of the specialists says "He has no experience in burning forests"? What's your focus, burning forest or having roasted pork? Again the answer is obvious, however many, many companies are proudly burning forests around the Globe to have roasted pork...

Why keeping a document representing a Requirements Traceability Matrix if you can automatically and safely connect requirements to code? Because I know how to do a traceability matrix, because I don't know automate tests, because it is so hard to change our process... Sorry, if you used one of these answers, you are burning forests! You are now solving problems caused by your own solutions...

Ok, but what certification has to do with all that? I believe that, in the end, certification is about following a given process, making people loose the focus on the final product. Unfortunately, all certified teams that I know use expensive and slow processes - this doesn't mean they are bad teams, they are slow. And I also know some very good teams without a single certification. Thus, certification doesn't prove that your team is good in the medium term. The only proof of quality is a list of satisfied customers...

You must review your process all the time, and make it flexible enough to be changed in relatively cheap ways. Check which activities aggregate value to the product and make you reach the client's goals faster, safer and cheaper. If an activity doesn't aggregate value to the user and isn't enforced by Law, Environmental questions or Moral, it is waste. If it is vital to your process, maybe your process is wrong. It may have worked in the past, but it needs to be reviewed.

Every activity that is performed to correct errors is waste in general. On the other hand, avoiding errors is to promote process improvement. Yes, welcome to  Lean Thinking!

Keep your eyes on product quality and costs, and in process leadtime and responsiveness to the demand. Make everything run, even documentation - and requirements in special, because your users won't interact with traceability matrices and stuff like that, even indirectly.

Ah, and one more thing: try to automate the repetitive tasks, not the creative ones! Software is about knowledge!

No comments:

Post a Comment