Doing the right things right – this commitment is one of the core values of successful organizations, including R Systems.
But what is a successful software project?
In our definition a successful software project is a project that meets its scope, timeline, budget and quality constraints. It is also a project that meets the real business need of the client and delivers satisfaction to all the stakeholders.
Usually, we tend to put focus on the first four constraints: time, budget, scope and quality. In today’s fast-paced environment it is often a challenge to consider them all, especially when there is also the pressure to reduce the first two constraints and increase the other two. However, in the context of a project there is a strong interconnection between all these constraints. Reducing the timeline leads to an increase in cost or a decrease in quality. A smaller budget may lead to a longer timeline, or a lower quality, or a reduction in scope. One cannot influence only some of the project’s aspects, while hoping that other parts will not be affected.
The actual goal of a project is stated in the business case that supports it. Working on requirements and not understanding the customer’s business need may lead to working in the wrong direction and obtaining a result that is different from what’s expected. How to prevent this? It’s all about the attitude, openness and the sincere interest in learning what the customer really needs, the context of the project and its limitations.
Assessing the success of a software project
Stakeholders’ satisfaction is what matters at the end of any project – it is also what differentiates successful projects from unsuccessful ones. If the business purpose is not achieved, the customer will not be satisfied; the same will happen if the time/scope/quality constraint is not respected. The company management will not be happy, adding to the customer’s lack of satisfaction. But there is even more: one must not forget about another major stakeholder, the Project Team. It is the personal motivation, healthy working environment and common vision of the team members that makes them get the best results in the long term.
The dysfunction of any of these will have a negative impact, since the team is the force moving the project ahead. The Project Manager is in the center of the influence matrix, managing himself and the team, the client, the peers and the company senior management. His satisfaction will increase when all the visible and hidden objectives of the project are met, in line with his/her personal beliefs and values. Project success depends directly on the attention to the needs and expectations of all stakeholders.
Every project has a “hard” part and a “soft” part in terms of required skills. There are many tools at the disposal of a Project Manager in order to ensure the quality of the “hard” part – starting from planning and communicating to applying SDLC procedures and reporting, and then to delivery and customer acceptance. This is the so-called “craft” of managing projects and it is rather standardized. There is also the “soft” part of the project which refers to managing relationships. It is here that the “art” is needed – the personal value that a Project Manager adds to the project; it is about his/her knowledge, experience, personal style and management preferences. And there is also a third dimension – the ability to read the power structures of the organization, to assess their potential impact on the project, and influence them the right way when needed. It is through the emergence of these three components that a project can have a successful outcome.
Why do software projects fail?
Usually this is due to setting unachievable goals or unrealistic targets, poor planning or unmanaged risk. Any gap in the above mentioned areas of project management that prove critical at a certain moment can also cause project failure. There are even situations when failure is unavoidable, and putting an end to the project in the middle of the implementation is the best thing to do.
I have always been grateful for the people I met in my life, and in R Systems I got to meet many wonderful people. People who are passionate about what they do and who are constantly improving their skills, people with a brilliant mind and a beautiful soul. These are the people that make the difference between delivering projects and delivering successful projects. Not all projects will bring the expected results – and there may be different reasons for this, but as long as we all give our best and keep an open mind, working as a team and learning from any experience, we will keep moving in the right direction.