Numerous factors determine success or failure, in particular if they occur in dynamic interaction. Fortunately, with a clear commitment to a methodological/structured approach many potential pitfalls can be dissolved before they even arise. The often associated overhead may seem unnecessary, but represents a major contribution to risk minimization.
In recent years my observations, experiences, and thoughts about events have allowed me to come to the following conclusions, among others, regarding success factors.
Added value for the company
If a project has been concluded within the allotted time and budget, and all requirements have been met in the agreed quality, the company can still experience it as a failure. This is if it does not achieve the expected added value for the business. Therefore, it is essential for top management to understand the value contribution of this project for the company.
Including all project participants and a clear statement about possible project impacts on individuals
If employees feel the project outcome has a threatening effect on their own future in the company, committed and positive cooperation will tend to be the exception. One example is bringing all stakeholders on board and openly sharing the results, possible impacts, and measures of the impending project. Individual analysis of the needs and expectations of every stakeholder are important building blocks for a successful project.
Use of appropriate methods (more ...)
The method of implementation is as unique as the project itself. Conventional or agile? Some corporate cultures, for example, allow the use of agile methods for a software project. I have summarised here in greater detail what this means and what effect it has.
The willingness to make decisions
Making decisions usually does not mean making everything right. A difficult task, especially when it comes to resources and priorities. It's a task that requires stamina.
Not taking a decision may also be a decision, but it is usually the worst of all the alternatives.
Coordination with end-users, training, ensuring support for going live
Those who are intended to utilize project results later, interestingly often play a subordinate role in its design. If training has been neglected, or if comprehensive support hasn't been planned for after going live, even the simplest usages of the new system will often fail.
Clearly defined roles and responsibilities
Sometimes project managers, team members, the steering committee, or sponsors do not understand their role in a project, because it has never been explicitly defined. Therefore it is recommended to describe and document clear roles. This way misunderstandings in the project can be avoided.
Define change processes
If end users want changes in the project, they are often completely incapable of estimating how much of an effect these changes will have. They are often significantly more expensive and time-consuming than expected. Whoever wants a change must formally request it, after which the impact on time and costs will be reviewed. Depending on the project, if there are frequent changes the methodological approach should also be changed.
The subject of risk management should play a role no matter how big a project is. Among other things, this involves developing appropriate measures should risks arise. It is also important to periodically check if you are staying on theme.
If you don't keep adequate documentation during a project, it risks confusion and uncertainty as to what direction the project should be going in. However, often other involved areas are only insufficiently informed, or end-users are left in the dark about functionalities.
Good processes for quality assurance
If time is running out for a project, it is sometimes saved in the area of quality assurance, such as in function tests. If you don't test properly, you may end up with software, a system, or processes that do not function properly. It makes sense to present demos and obtain feedback early on. It reduces risks to do so.