I CAN'T MAKE THE DEADLINE, WE HAVE TO POSTPONE IT, IT'S JUST TOO MUCH TO HANDLE. We all know this very well. Especially when it comes to creating something new, i.e. the development of a new software.
Smart planning has a wide range of uses and a lot of methodologies, but the right basics can be implemented in many different situations. For example, if you're planning a summer BBQ, you'll need to invite everyone. (Obviously.) Set up a team, divide tasks properly - such as marinating the meat and buying beer, split the responsibilities, i.e. who grills and who has to bring dessert and estimate everything in time. Make sure the beer's cold and the grill hot before everyone gets there. And if with the arrival of the last guest you realize that the person responsible for marinating the meat did not do so, and you need to quickly come up with a backup plan, you are experiencing the same things as any product manager.
A step further with each project
At Pixelmate, we have years of experience building complex digital solutions, and we've been through all the problems that can arise.. That's why we always revalidate our procedures with each project and strive to be better.
I guess everyone experiences these situations. However, it is very important, despite the onslaught of stress, deadlines and projects, to find time and with the whole team to go through each individual project. Lay out all the problems we've come across and then find a solution to prevent them. Below we have written down our experience and procedures for the partial parts of the project creation:
1. Project plan is crucial for success
Each methodology approaches this point differently. Some of them have it precisely defined, and according to that, the plan is broken down to the last detail. The next one vaguely suggests it, breaks down the first steps in detail and gets to work. I don't want to say right now which one is correct. But it is important to remember that the plan is necessary as well as adapting to its changes in the process. The current situation has shown us how things can change very quickly. The project plan is a key component for each project. The more time you put into it, the less headaches you experience. Each plan should be thoroughly written down and communicated to the entire team so that everyone understands the priorities properly, everyone is aware of their responsibility and everyone knows what the goal is.
Sharing main information via whole team is very important. For example, if you separate the design team only into UX and UI part. Meaning, they only get a few tickets quoting, "Make wireframes and here's a brand manual from the client," they won't be able to deliver the product properly, and the manager will spend a few unnecessary feedback calls before the design is sent to the client for review. This can lead to considerable delays.
Similarly, in the development team - the manager can't watch over the developer's shoulder all the time and dictate every step of the way. It is necessary to understand the main principles and the whole project and thus have a precisely defined decision matrix according to which it will be guided by micro-decisions. This prevents us from having to allocate another sprint at the end of the sprint to fix errors that have just been misunderstood.
2. Estimate, but mainly predict
It's never possible to guess how many hours it's going to take - unless it's a routine task. Feature estimates should always be made by the most experienced people on the project. This can give you a certain degree of accuracy. But if the project is worth of several thousand hours, it is never possible. It is important to know that something is coming before it actually comes - I mean, an extension of the deadline. So it's good to keep reviewing each of the smaller tasks. This will give you an answer if everything is on schedule, or something will be sooner or something later. For this purpose, communication rather than tools is most suitable. Status meetings are ideal. For example, a status 2 times a week or every day can reveal much more than simply moving a ticket to Jira with a clock report. Therefore, if you go through all the tasks in your system on each status, you can also adjust the time demands of future tasks according to this information. Thus, predict the project timeline and, if necessary, inform the client and deal with the delay.
It's also not a bad idea to undersize sprints a little. Experience tells us that something always takes longer than expected, appears, or changes. It doesn't have to end every sprint task that you push in front of you to no avail unfinished.
3. Being responsible pays off
Responsibility is insanely important, and only so few companies implement it. Not only manager and management, but every member in the company should have some. Each project should have a well-defined accountability structure. While it is difficult to always define what responsibility someone has, what is expected at the end and what the term is - it is the only way you can only eliminate error rate or poor work. If each member knows exactly what to do, is responsible for it and knows when to do it, you have a much better chance of a successful delivery of a good project. And thus - a satisfied client.
If you set up everything correctly, you should eliminate deadline delays as it won't happen that the programmer will end up working hours with unfinished work. There are overtimes on every project. They can't be avoided if a person has a responsibility and don't work in the state sector. We must therefore count with them. This results in setting the right rewards and KPIs. That's up to the company itself. But again, it is necessary to define rewards effectively so that the system is not set up so that the KPI is not motivating for the team and thus stops performing greatly.
4. In a team, but also each on their own
We believe that each member of the team should be trained to be as independent as possible. If you have a separate team, you don't have to deal with the nonsense and excuses that someone didn't send a picture to someone and couldn't work because of that. It is, among other things, also related to the aforementioned responsibility - I have no docs, I can get them myself and continue to work. Each team member is required to be independent as much as possible.
“Teacher, I have a question.”
“You can ask at the end of the school year.”
This.. we disagree with. We often encounter that questions are considered as something bad, that the pros should not ask, and the employees also not. We're using a completely different approach and try to question everything. Even our team is trained to ask questions. This will solve a lot of problems, such as delays with the project - because something was poorly specified and was implemented without a clear input. On each status everyone should ask their questions about the project. Even if someone doesn't need to know anything huge, it's always better to ask. In communication with the client, it is good to do the same. You will show that you are interested in the project. But most importantly, you'll have a clearer assignment with each answer. And that makes professional IT companies different from amateur ones. Pros can get a proper assignment for a product they can create. It's the only way they can do it properly.
5. Honesty above all
A client must never be lied to. If you run into a project delay, even if it hasn't arrived yet, but you know it's coming, it's always best to tell the client and figure out a plan for what to do with it. For example, change the priorities of some future tasks. Everything is again connected with responsibility and professional leadership. We all make mistakes, but it is necessary to openly admit them, come up with a solution and work harder and show that you really care. This is the only way to gain the trust of the client even if something has failed. Not only trust, but also long-term partnerships, because there are only few really professional and responsible companies.
How can we help you in Pixelmate?
- We'll help you set up DevOps
- We will complement your capacities in the backend, frontend or when developing a mobile application
- We'll manage your project or your entire IT team to get maximum efficiency
- We will design the project architecture robustly, efficiently and correctly according to the highest standards
Contact us and we'll discuss it over a cup of good coffee.