For the time of your work, you might have some failed projects, haven’t you? But have you ever been deep in thought about the reasons? Probably you thought it was poor preparation, inaccurate cost estimations, bad leadership or some troubles with deadline? Or maybe it was all in bulk? Such situations are happening even more often than you can think, and… most commonly, it’s not about the bad code. It’s about unachieved business goals.
What do I mean? Developers write code. They try to solve some problems with technical decisions. And it’s OK.
All the problems appear at the moment, when developers believe that the result of their work stops with the code. As an example, they accomplished a new part of code at the end of the day and told themselves, “Great job!” Or they might have 100 % test coverage – well done!
Nevertheless, somewhere on this planet, there lives a person who is your client. You know, the person who pays money for your work, who usually knows zero about the code. This person wants to get a solution for his business or his client’s business, and he has his own success criteria, which differs from yours.
What is important for your clients? The only thing they worry about is their business goals: money, customers, users, facility, depending on the project. He’s interested in a result. In a solution.
So how do developers see this?
When it comes to testing, as a rule, all that developers do is avoiding bugs: validation of input data, successful registration process, whether all links work or not, etc.
But that’s not enough. You have to think more about the business world.
Skip the shortcuts and look for the logical errors, if you test before the launch. What doesn’t make sense or is hard to use? What might make a user to not use the function? Is it convenient to fill all the fields and are they actually required? Is a menu easy-to-use or is the navigation too clumsy? Does a user really need all these buttons?
Don’t be afraid to speak up about these points.
What should you do to get a chance to think a bit more in business direction? Dive deeper into the product and its goals, try to understand what does your client really need, but not only what does he want. Acting in this way, you can give much more value to your client, providing him with the best solution.
It’s Not My Problem
Another challenge in making a project successful is poor communication between different departments while working on the same project. What do I mean? Sometimes it seems that developers take business people as their enemies. PM-s, clients, marketing department, sales department – all these people seem to be in different parts of the planet, even if they all work in one company.
Have you ever heard such phrases as:
- “…oh gosh, how often can they change requirements, this process is endless…”
- “…one more meeting/call again? I don’t have time to do my work!“
- “…they think it’s a five-minute change, they have no idea…” etc.
One more time, don’t just code, think about the overall picture. Communication and discussion will help to achieve a common goal.
So what to do to make your project successful? Give wholesome pieces of advice, prioritize tasks according to the situation, communicate with other departments, don’t be scared to talk about business matters, especially if you have some misgivings, think not only about your coding world, but about the client’s world as well. When you do this, your project will be definitely successful.