Do you have control over a project?
Are your teams predictable? Is always delivered what you’ve agreed upon? Are you interested in the impact of scope changes, time pressure, or a lack of domain knowledge when you start a software development project? Do you often have discussions after a project, when it’s already too late? Or are you facing difficulties to communicate the actual progress, or impact of changes?
Experience data in benchmarking databases, such as the ISBSG, and estimation tools available in the market can provide insights into the different factors and can help to understand the impact of changes that are made during a project.
Know what to expect
Make sure that you are aware of expected challenges from the beginning of a project. Learn to understand what is happening, and act to get back on track or to manage new expectations. Get in control of the project and then make sure to stay in control. Start using objective and comparable metrics that support initiating and planning feasible projects. Regardless of whether your project is using waterfall processes or Agile, work towards the project goal and be transparent during the whole project life cycle.
To do this, you have to understand what your project goals are and which constraints your team needs to work with. It is important that the project goals are feasible and realistic. Make sure you understand the project from the beginning. Especially with external suppliers, both parties want to have the right expectations. The commitments that are made should support your outsourcing partnership relation without too many uncertainties and/or surprises.
Objective and transparent progress insights
After the project plans are made or the backlog is created, it is time for the project execution. The project execution starts with the construction phases or the development sprints. It is important to provide insights into the progress made. Too often the costs or hours spent are the main measure of progress of a project. These are however, constraints that need to be managed during the project execution, but are not the actual goals. The project goals should be monitored and reported in terms of the functionality that is delivered.