13 oct 2012

Why commit to quality?

Colombia does not have a developed market for software. In most companies the person in charge of buying software is the same person that buys the soap, and buy it using similar criteria.

Quality in software is not understood, and developers have to do not one extra mile, but ten extra miles just to have them accept simple suggestions to avoid petty requirements that will affect significantly the maintainability of huge applications. Most clients haven´t even heard of maintainability as a concept.

You can loose your mind trying to explain the difference between a defect and a change and why you will correct defects but will not implement changes for free. And the concept of controlling changes seems to your client as a bad way to ask for more money.

If complete mess is the rule, why bother implementing a costly maturity model to guaranty quality in processes and products for clients that will not appreciate it and consider it as bureaucracy that increase the cost?

Just because you know maintainable and reusable software will save you money in the log run. Eventually you will move into the maintenance phase or build a similar system and the fact that you can reuse the documents, design or code and make your life easier will be worthy.



Normalize, but not too much


 Its common to have understaffed projects. People get recruited just when the team starts to get behind, but not before in an attempt from administrative staff to save some money. If team members can barely finish their jobs on time, they are not very interested in making advance reports or help you define how much time it will require the next task. They are tired, and they don’t see the point, since their perception is that the job gets done just because they don’t get to see their families. In this scenario is quite difficult to gather information for planning and control.
Still, if you are at the PMO, you are aware that knowing the status of the project is as important as doing the job. That is why it is your job.

How to do it? I found that adapting to the team worked properly, and try to find information in the format that is more natural to the person doing the job. Some people have organized tables where they keep track of everything, some just keep the record in a board with post-its. I just took their particular methodology, analyze it and talk them into including additional information I needed. For example, making the reports with the same periodicity or adding one more field that will allow me to have the statistics I needed for the reports.

I was able to get normalized data from all fronts of the project without having every team member filling specific formats. It just worked for me, and I guess for them, since they never felt my reports to be a burden.
 
Just a new remainder that projects are made by people, and that your need to normalize PM data should never imply you have to normalize the people you work with.