First, it is necessary to establish clear rules of interaction and coordinate processes in the working group, so that everyone knows what his colleagues are working on, where there are difficulties, where help is needed and, most importantly, how it all works together. In this case, you can help the so-called scrum-meetings – daily stand-ups, retrospectives and grooms of beacons.
Secondly, it is necessary to reconcile the relationship between the working group and the customer. Most often, this is communication between the project manager and the responsible person on the part of the customer. It is very important to work in pairs, to understand the real needs and capabilities of the client, to manage its expectations and to keep it informed. It is this aspect of interaction that can become crucial in future relationships.
– It seems that this problem needs special attention.
That’s true. Ignoring the issue of interaction processes usually leads to communication problems and lack of understanding. In order to avoid this, the project owner must:
- Determine the priority of tasks;
- Break the pool of tasks into sprints, complex and bulk tasks – into subtasks;
- Define and describe in detail the user-cases, the project architecture, external integration, as well as all the nuances that may affect the proper execution of the tasks and project implementation;
- Acquaint the working group with the business nuances of the project: what problems does it decide which features of its use, who will use its results, and others.
– What else can ruin an effective project work?
Change the composition of the team. It’s very difficult to introduce new people, and even more difficult to work on the code of someone who created it for you. In any case, life is unpredictable, so it’s important to keep track of project documentation, code writing standards, and negotiation results. Well-organized and well-structured information has never been a problem to anyone. harmed anyone anymore.
– So we come up with another nightmare of any product owner and its technical partners – deadlines?
Exactly. Be realistic when setting terms, carefully evaluate the project at the beginning of the co-operation. When setting short terms, there is usually a desire to start earning as soon as possible, which can lead to the destruction of all coding and design standards. In addition, less time means fewer functionalities. Of course, there are times when it’s appropriate, for example, designing an MVP or testing new hypotheses, but in any case, you need to understand it. Highly loaded marketplaces can not be realized in three months, no matter how many people did not work on it.
– Agree, but what’s wrong with long deadlines?
Excessively long terms are often supported by top managers due to the excessive functionality of the project as a result of exaggerated budgets. Thus, they can offer to add functionality to the level of Ali-Express or Amazon. It is impossible to create the perfect product without the end user’s feed. Perhaps it is advisable to think over the versatility of the product since the new “features” are a good idea, but at the time of their implementation, they may already become outdated. Keep this in mind when making a decision.
– Are deadlines always setting the final release date?
No, there are still many things that also affect the team’s work. Try to save the rhythm. Sometimes the workflow is chaotic, at any moment there may be force majeure or a national holiday. Therefore, make sure that all tasks are formed evenly. Do not overload people and do not leave them without work at all. Also, ensure timely approval of all current and future tasks to avoid stagnation.
– Sometimes the deadlines depend on the budget, don’t they?
Not always, but of course, this is an important component of any project. So let’s talk about budgets.
– If you choose between underfunding and over-funding, what’s the best?
In my opinion, both cases are bad. An understated budget will mean poor HR skills (not a fact but in most cases), overloading duties (when the programmer also performs QA tasks, front-developer and even product manager), as well as quick change of staff, since a small budget leads to a reduction timing and pressure on your team.
– Well, what can happen with a big budget? Any company should be happy to get it.
Surprisingly, but not. Big budgets are tempted to use more resources and implement more functionality than is really needed. This automatically extends the payback period of the business. Increasing the budget will significantly increase the cost of the project. But your team and you must clearly understand that this does not mean that if you increase your budget, your project will evolve faster. Not always deadlines depend on budgets, there are also processes that can not be affected.
– When I was preparing for the interview, I was sure that we would start with technology and programming languages.
This is one of the key issues. But I believe that the team is the most important, and there are more problems with this. With regard to technology, they must comply with:
- your task. You need to have a clear idea of the future development of business and the challenges that may arise during the transformation process and, accordingly, pick up the technology;
- your budget. The main goal is to make a profitable investment and profit as quickly as possible. Consequently, we must always take into account the cost of purchasing, technology support, license purchase and payment for specialists who can implement the project.
- some internal standards of the company. For example, banks typically have certain features of data processing and security requirements for personal data that affect the choice of technology;
- server power. Sometimes it is difficult to scale a project using some infrastructure-based technologies;
- maintaining technology in the future. If you are tempted to use some popular technology, try to predict if it will continue to be supported. In our practice there was a case with Google Polymer. The team started working on a project with this technology, but soon enough Google stopped supporting it, causing damage to us and the product owner. I had to process the project using standard technologies;
- the level of competence of your staff. Occasionally, external engagement of professionals is the only way to ensure the proper execution of your project. This is the case when you need some rare skills that you can not find among your employees.
– Awesome, Thank you. Any summary?
I would advise you to pay attention to three main points:
1) The team must learn how to prioritize the main tasks, a functionality of the project and implement them in accordance with the needs of the business;
2) It is very important to correctly establish the internal processes of communication and interaction;
3) One of the most important priorities in the web development process is a detailed analysis and fragmentation of tasks for smaller ones.
Hopefully, my answers will be useful to someone and will save the project on time.