8 dic 2013

Loyalty, respect and fear

There are as many Managing styles are there are managers. Some base their leadership in loyalty, others in respect, others in fear, and so on.

I take a lot of time just thinking in the type of manager I want to be, and how I want my teams to follow me. I sometimes experiment on different approaches and see what happens. But there are some things that don´t change, they are a part of me. I do love working with smart, rebellious people that challenge me. I love teams that debate, where people need to be convinced instead or ordered. And I make sure they know they can all argue and challenge me, again and again.

I really takes a lot of effort to lead teams of people where people just do what I say and never argue, those that bring me coffee cause they think that is what I want, and always answer what I want to hear. It annoys me deeply, and I have to breathe deep for a while just not to react quite badly.

Now I am facing the challenge to work for people that expect from me being obedient and quiet. And I am not sure I can do it. I am not sure I want to do it. It’s going to be a hard week. Hope I can survive it. 


It has been really hard to be lead after so many years of being the leader. But his has also given me back the sense of working on a team, to put one stone to build something bigger.


30 mar 2013

Silver platter and the doom of custom made software

Silver plattering is a made up verb that refers to giving to the customer more that what is in the scope of the agreement. Basically, you give them your work for free while smiling, you give them what they want in a silver platter.

As any good negotiator might tell you, it can be a good deal if by giving a little you get something else, but it can be the doom of a project if the silver platter starts and never ends. When working in projects, be aware of the risk of silver plattering. I  sank a 7 year old company just because I was not paying attention to it. Believe me, its a high risk.

The expectation that the contractor change indefinitely a software is quite common in organisations that don't have mature processes and don't have a clear understanding of software development practices. It basically describes most organisations working in a undeveloped software market, Colombia for example.

For example, they want the software to fit the process, but they keep changing the process and expect you to develop the change again and again. One that is happening to me right now is that the requirements are given to you with little or no details, for example lacking special cases or precise data that needs to be saved. Then, when the testing starts you are expected to change it again and again for not being a good psych and developed exactly what the customer had in mind but forgot to write down.

What to do? Its as clear as water. Don't give your work for free, no matter what happens. It you loose a client because of it, it might be better for you. First, be sure to include in the contract a clear definition of change and defect. Second, include in you plan a specific milestone for client approval of the requirements and don't start development until you have a valid signature. Then, stick to your process like a fly to honey.

When asked to do a new change because its the "last one", just say no!








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.