After 11 years of leading IT projects I can say with certainty that almost every company needs some sort of software eventually. Whether it is a whole ERP system or a smaller solution, implementing it takes lots of time and effort and needs to be done properly. Using high-quality, tailored software enables the company to grow faster by automating everyday processes, improving information flow and making the distance between the company and its customers much shorter. The sole goal of implementing software is to make things easier and better, not to complicate them. So what we do at the beginning of cooperation between a company and a software house and how we maintain good relationships is crucial.
Here are 5 basic rules of successful cooperation in IT projects:
1. Make the Customer a vital part of the Team
Sometimes, a client comes to us with a well-described, ready-to-implement project. Another time, they only have an idea, which needs to be matched to the realities and solutions used by competitors in the specific market. But every time, in order to succeed, it’s important for the software house to treat the customer as a team member – Product Owner in Scrum terminology, and for the customer to feel the responsibility for the project as well.
It influences communication and speed of all works immensely. We all sit down and discuss the ideas as a team. Each and every team member, including the client, wants the system to work great and honestly, to seriously help the company who receives it. If we have to do with a Product Owner with broad technological knowledge, we can inspire each other and make the product better together. If our customer is someone who has almost nothing to do with IT and programming on daily basis, than it is our job to suggest good, up-to-date modifications. Both times, we work together to achieve an optimal solution.
2. Choose one designated Decision Maker
The second, equally important element of success in IT projects is cooperating with only one decision maker on the customer’s side. Usually, but not exclusively, the bigger the company, the more decision makers there are. And the more decision makers, the more complicated and unclear the customer’s priorities become. This can be confusing for everybody.
So for the company ordering IT services choosing one decision maker is one of the most important things at the very beginning of the project. After that it’s much easier to proceed with the chosen priorities. The decision maker (or Product Owner) doesn’t have to have IT knowledge. We organise trainings for people who don’t normally work with IT projects. We teach how it’s usually done and, what’s more important, how to do it well. So the only thing that is required from the Product Owner is the knowledge on what the client’s priorities truly are.
3. Discuss and choose project goals
Priorities are connected with what we call a project goal. Some projects are small, precise and possible to describe from A to Z in a few sentences. Others take longer, require bigger budgets and setting up priorities. If we are building eg. a simple mobile application, we basically need to know what the app is supposed to ‘do’, what it’s functionalities are going to be and generally how it is going to look like at the end. Having thus planned all the works, we can proceed with development.
It’s slightly different with bigger projects. If we are taking on a project that requires the engagement of a big team, months of work and substantial resources, much more preparation is in order. At first, we draw a basic project roadmap - we point out milestones and the ultimate goal of the project. Then we break them into smaller pieces, easier to complete and deliver. Many projects evolve throughout the execution time. Some priorities and goals change. But the most important thing is to remember that we
always set the priorities with the client and work towards the goals that the Product Owner is aware of and which he or she accepts.
4. Maintain transparent communications
One of the golden rules to ensure efficient work on an IT project is maintaining transparent communication. The customer must be aware of everything that goes on in the project. You can use several different tools to do it: Trello, Jira, PackChat or Slack. There are times during which the development team comes across a difficult problem that hasn’t been foreseen. Then the Team Leader is supposed to describe the problem to the Product Owner and the team as a whole decides what to do. It’s important to remember that we are all friendly to each other and our common objective is to succeed with what we do. And for everybody – developers, testers, Team Leader and Product Owner – success should be defined as what we all discuss it to be. Whether it is a functional piece of coding or a ready-to-use app or maybe just an important bug fix, we never make those decisions on our own. We always consult the Product Owner. This way everybody knows what’s going on and is able to react in time, change some decisions, modify the project course and make it better.
5. Stick to the processes
There are many reasons why so many IT companies work using the Scrum methodology. It’s a process that guides the development team towards success. It doesn’t necessarily need to be Scrum; it can be another methodology or just several processes we agree on at the very beginning of the cooperation, but it’s crucial to stick to them, even when there are some difficulties on the way. Such a routine ensures a stable workflow that gives results. And results are what we all work for in IT projects.
To sum it all up, IT projects are complex organisms, that every team member takes care of. If we succeed - it’s the whole team’s success. If there are problems - every team member is equally responsible for them. We are a team, we act as a team, and as long as we keep that in mind everything is going to be all right.