Too many software projects are not (fully) successful. Depending on the research source used, you will find that 30 up to 70% of the IT projects fail to some extend. In most cases this is due to the (project) management approach. Clients want to know what they get for a fixed budget. But we all know it’s impossible to fully specify your needs. More flexibility is needed. Some years ago we decided to implement Scrum and today I shared our experience and lessons learned with the students at the Gdansk Technical University.
Waterfall just didn’t work for us
Looking back, after five years time it’s good to see that we managed to release quite a lot in the early days. In general we were using some kind of waterfall method. We tried to gather all client’s requirements, wrote them down as specifications, prepare a proposal and we thought it would lead us to a fixed price, fixed date project. Sometimes this worked, but mostly we were planning too optimistically and were pleasing the clients by sticking to their delivery dates. And these are some of the most common mistakes made in software development projects, as I mentioned today at the presentation as well (see below).
Open communication and interaction leads to success
Recent research in the Netherlands (Symbiosis project) shows once again that projects where they’ve tried to describe all the needs upfront and to fix them by a contract tend to fail most often. Projects where client and software provider agree about the basic “framework” of the project are more successful. These relationships appear to be less formal, the stakeholders are communicating more often and more intensively. This approach requires that the IT provider tries to understand the business. All in all, this sounds rather Agile, doesn’t it?
Implementing Scrum is not easy
Several years ago we felt something had to change. We wanted to be closer to our client’s business, serve them better, meanwhile decreasing the development time. We decided to implement Scrum and this works for us.
But it took time to get it working. For developers it was a bit scary and for our clients it meant they really had to trust us. Besides, it requires clear product ownership at the client side and this is new for many of them. Working in Agile way might feel time-consuming. It requires a lot of communication and interaction with the team. But we believe this only leads to better results that it really fits the client’s needs.
Since implementing Scrum our development teams are way more self-responsible, the projects go more smoothly and in general we deliver the right results on time. We wouldn’t like to go back to the waterfall times anymore.