10 Tips To Better Work With Developers
What do you think of developers? Do you imagine them working in the darkness of their basement? Do you think they are asocial little beasts? Think again! These preconceived ideas about the profession are wrong.
As in any profession, our developers all have different personalities; they are human beings after all.
Working with developers to build your software solution will certainly require some adjustments. To help you (and to break the myths surrounding the profession, let’s face it!), we have prepared a list of 10 tips to better work with developers.
You will see that these 10 tips are neither scientific nor very advanced. They come directly from our developers and aim to create good communication between the two parties.
1. SHARE YOUR ENTREPRENEURIAL VISION WITH THE PROGRAMMING TEAM
Programming requires some work for the entrepreneur. His.her first involvement with the programming team will be to present his product and his vision in the short, medium, and long-term. This allows developers to ask questions, take ownership of the product and gauge customer expectations.
As a result, the team better understands the lexicon of your industry and masters its broad outlines. It is also very relevant for developers to know the business plan. Again, this allows them to better understand your needs and adapt to them.
This information cannot come from anyone other than you. This will certainly require some time at the start of the project. We promise it will be worth it! The time spent will quickly determine the right features to prioritize in development. Developers will also be able to apply their knowledge to your entrepreneurial context, resulting in the best product of all! #teamwork
2. FORGET YOUR PRECONCEIVED IDEAS ABOUT YOUR PRODUCT
How about your preconceived product ideas? After all, it is your baby, your precious.
We are not asking you to drop everything, but rather to be open to suggestions. Your programming team has the experience to direct you towards different solutions or avenues, which could allow you to offer a better product.
In our experience, preconceptions and a lack of openness can lead to bad code or functionalities that are irrelevant to users.
3. ACTIVELY PARTICIPATE IN DEVELOPMENT
The development of any IT project or product contains several phases that require the entrepreneur’s involvement. It represents:
- Meetings to adjust the direction of development;
- Validation of ideas arising from discussions with developers;
- Validation of the product at each stage by the ecosystem made up of potential customers, mentors and experts in the field;
- Budget monitoring and understanding of the hours invested;
- Awareness of the required product development effort, which makes it possible to readjust the shot during the project.
The client’s involvement is essential to ensure that their vision is respected. Throughout development, consultation and then approval are required for new features.
4. TAKE PART IN TESTS OF ALL KINDS
Testing is the sinews of war not only in programming, but also in business: you must test the product to be able to validate the processes as well as identify bugs and fix them. It is also necessary to test the product on the market.
Once you have tested and approved the product, your potential customers need to try it. Skipping this step has its share of consequences. Customers are the only ones who can tell us whether the product meets their needs, or not. If this round of testing is skipped, we learn too late about the shortcomings and/or the adjustments to be made to make the product attractive to users.
Believe us: testing the market quickly will save you a big waste of time, and therefore money. It will also ensure that your programming team is always moving in the right direction.
5. DON'T ESTIMATE THE WORKLOAD YOURSELF (PLEASE!)
In the course of your duties, have you ever been told that a task X was going to be “easy” and/or would be carried out “quickly”? It can become frustrating if the task ends up being more complex than it seems. In programming, we hear this every day.
Without having discussed with the developers, it is very difficult to estimate the workload necessary to make a change or develop a new feature.
The best way to do this is to simply ask the programming team what effort is needed and how long they estimate the workload will be. You might be surprised at all the implications of just one change. Better to get informed to start.
By working with developers, you will probably be able to estimate the workload that a task requires. However, when starting out, this is rarely the case.
Depending on the architecture, the language chosen, and the technological choices made previously, a modification can be as simple as it can be complex. Often, we want an immediate estimate, but an analysis takes time.
A phenomenon that we often see is that of “the estimate is too long.” It usually boils down to wanting to save time by pushing the programming team to go faster. This has a direct impact on quality, because by rushing we increase the risk of errors (no, we are not perfect!) and creating bugs.
The best strategy is to jointly validate in what way(s) it would be possible to reduce the scope of the modifications so that they require less effort. Remember that the sacrifice you make for this task will necessarily have an impact on a future modification.
6. USE PICTURES/DIAGRAMS TO COMMUNICATE YOUR IDEAS
Developers are often analytical people. They like a precise vocabulary; it helps them better understand the bugs encountered.
The best tip we can give you: picture your words! If you encounter a bug, do a screenshot. If you want a particular behaviour, create a diagram to explain it well. If you want a particular style for the interface, show us examples. In short, a picture is worth a thousand words!
Another element that can help you establish better communication is to understand the basics of computer concepts. We are not talking about learning the Python language overnight (both the snake language and the computer language), but simply knowing the main lines of the concepts used in the context of your project. Your programming team can help you with this process: by asking them more questions, they can explain more in depth what they are doing and why.
The main advantage of mastering the concepts of the programming world is that it allows you to talk about the code in depth. You are thus able to better understand the problems encountered and the limits of the programming tools.
Remember, however, that your developers are rarely vocal people. Do not hesitate to rephrase what you understand from their explanations to ensure that you understand the ins and outs. We are still talking about the future of your business!
7. SPEAK IN TERMS OF ISSUES AND NOT IN TERMS OF ORDERS
In the programming field, several solutions can solve the same problem. It is therefore necessary to evaluate all the options in order to make an informed choice and avoid functional limitations in the future. So give the developers time to analyze the situation and get back to you with their results.
Telling them what to do, or how to do it is best avoided. First, it’s a little frustrating, and second, it cuts you off from a bunch of possibly simpler and cheaper solutions. You may also be missing important long-term issues.
In short, the more information the client provides on the problem, the better the developers will be able to act. It is this teamwork that makes it possible to find the best solution.
8. BE AVAILABLE
Ah! The famous availability! Assume that your developers won’t bother you without a good reason. They will always choose the most suitable means of communication according to the urgency of the problem encountered.
It’s not that we’re suggesting you share your full agenda with your programming team, just return their calls or messages as soon as possible.
At the start of the project, the follow-ups will be closer together, then they will become less frequent. Availability becomes very important at this time: if there are technical or programming issues, or if there is a major bug, the developers will need to consult you quickly.
9. ESTABLISH A WORKING STRUCTURE
Programming requires a lot of concentration. It is therefore necessary for developers to set up a certain working structure. Most of them set aside time on their agenda to code without being interrupted. To facilitate work and communication, it is therefore best to plan weekly, sometimes even daily (yes, that may seem excessive!), and recurring meetings. In this way, you can discuss the problems encountered and talk about development.
In the world of information technology, the use of project management platforms is widespread. We are referring here to tools allowing the creation of tickets or incidents (such as JIRA). A good way to communicate with your team is to simply document the work to be done by using the project management tool yourself.
Subsequently, during your follow-up meetings or during the preparation of the next programming sprint, you can discuss the items you have added.
10. HAVE FUN
Having fun is the whole concept around happiness at work, which is essential at TLM. We could even say that happiness is part of our DNA. Creating a new product is just a challenge. It is better to face it by having fun working together!
IN SHORT…
We have mentioned it often in this article, but the big secret lies in teamwork and mutual listening. Listening to your programming team ensures optimal development. Developers bring your product to life. Their advice is sound. They want your project to succeed just as much as you do. For their part, developers gain a lot by knowing the issues and challenges that come your way. All industries are different, your input is essential! They have everything to gain by listening to you.
What did you think of these tips? Have we allowed you to better understand the world of developers?
Remember: if you have a programming project in mind, we can certainly help you. Every year, we support dozens of clients in the start-up or growth of their technology business. Write to us and let’s have a good coffee!
