As a tester, I have been involved in several software projects. Most of them have been successful, but I have also lived the other side of the story. Speaking from my own experience, I can say that there are different factors that can determine the success or the failure of a project:
- Tools
- Processes
- Techniques and methodologies
- Available technologies
- Planning
- …
Nevertheless, no matter how important those factors might be, the key that determines the success of a project is the team of people responsible for its fulfillment. In the end, software is made by people, not by machines. This seems pretty obvious, but we usually forget it and we keep on giving more importance to tools, processes and techniques. And what’s the point of having the most expensive and complete tool of the market and applying the newest technique if our team consists of unprepared people, who neither have team spirit nor motivation? How are we going to build high quality software if we don’t have a good team of developers and testers responsible for its design and its maintenance? Without this good team, our project has every chance of failing.
Unfortunately, at least in Spain, this is usual in a lot of companies. For them, professionals are just an accessory that contributes developing programs and they count on teams that don’t have the appropriate training, profile and qualifications required to fulfill their tasks, driven by the motto of minimizing the expense. That is, they look for the highest profitability, ignoring and despising quality. What turns out to be curious is that, when they fail, they don’t realize that the root of the problem is that they don’t have the right team and they keep on tripping over and over again on the same stone instead of changing the strategy.
So, if we want to have success in our projects, we must count on a team of professionals who have the required knowledge and who have the necessary experience. Besides, every person involved in the project must be completely committed with the group, must be clear about his role and his tasks and must work together to reach the common goal and, therefore, success.