web developer & system programmer

coder . cl

ramblings and thoughts on programming...


you need skilled people

published: 03-04-2012 / updated: 03-04-2012
posted in: development, programming, rants, tips
by Daniel Molina Wegener

There is a myth where you do not need skilled people, because the technology that you are using is easy to handle, easy enough to avoid hiring skilled people. But that myth is not real, if you have experience, you know very well that skilled people are who drives the project to the right way. Without skilled people, probably your team will not reach the proper speed and performance to avoid falling in mistakes on any stage of the development process, even if you are using agile methodologies or not.

Without skilled people, and people with the proper domain knowledge about the project, it can fail on any stage of the development process. A project manager who is not able to specify the goals of the project cannot lead it. An analyst who is not able to describe — both technically and functionally — the project specification, will not be able to communicate the project objectives. A software QA who is not capable to describe a problem technically will not be able to communicate software bugs, and so on.

Too many projects fail or suffer because the team members are not the best for the job. Many project managers approach functional managers with requests for personnel without indicating the specific individuals she would like to have on the team. The most important skill of a successful project manager is the ability to negotiate. Considering that the project manager generally must negotiate for everything — budget, personnel, capital equipment, more time, and so on — it is not surprising that the more successful ones have highly developed negotiating skills. To ensure that the project team is composed of the best talent, the project manager must approach functional management and request specific individuals. The individuals requested may not be available to work on the project, but having asked for them by name immediately establishes the experience, education, and capability level the project manager needs. So, rather than supplying someone who happens to be available at the moment, the functional manager is more likely to attempt to replace the requested individual with someone who has as good or better qualifications.

[James Taylor, «Managing Information Technology Projects: Applying Project Management Strategies to Software, Hardware, and Integration Initiatives»]

Is quite different a bug report that indicates a bug as «The edit quote form is sending the POST request twice invalidating the CSRF token» than «The form fails with double click». The first one is very clear, the second one is obfuscated, hard to reproduce and just indicates what a five years old boy can say. So, you need a good QA, someone with the proper domain knowledge. Also you need skilled project managers, with the proper domain knowledge too. Someone that is not able to measure how much work is required to implement a change on the project, will not be able to negotiate the proper budget and price for that change, increasing the project cost. Someone that has stated «I have sold a CRM based on WordPress to be built in two months» is clearly a bad project manager without the proper domain knowledge.

I will leave you some open questions: «How often do you need to make overtime?», «How often you must be pressured to meet the schedule», «How repeatedly you need to close re-opened issues in your issue tracking software?», «How many times your overtime is not paid because it is being devaluated?», «How many times your project manager is not able to re-negotiate the project price, lowering your budget?». There are many questions that you should be asking yourself. Probably you are not on the best place to work as you think…


No coments yet.

post a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>