Efficient Development Process — the Sky's the Limit!
Having achieved another goal, we justly rejoice over the victory and experience an emotional uplift, whether it is the successful completion of a complex project or an increase in the company's rating. How to avoid resting on one's laurels?
In this article, you will learn how to regularly improve the efficiency of workflows in order to soar to new heights.
Success is not final, failure is not fatal: it is the courage to continue that counts.
Winston Churchill
Are the processes used by your team as effective as possible? Our performance can be judged by the results:
- over 200 successful projects for 8 years on the market;
- increase in the company's staff by more than 10 times in the last two years;
- in October 2017, Life Lapse, developed by Umbrella IT team, is included in the top of the best apps according to Apple;
- for a year of collaborating with Umbrella IT team on the Bounce application, the Customer saved about 250,000 dollars.
So, what is at the heart of the effective development process?
This was the question we addressed to our CTO. Here are those key components:
Three pillars of the high-performance mobile and web application development process. Let's take a closer look at them.
PEOPLE
The first to mention is those, without whom neither communication nor processes would exist.
Today we are surprisingly well-informed about the way to choose an expert to hire. Thanks to numerous publications, courses, and lectures, we thoroughly studied what tricky questions to ask, what tests to offer, and what topics to discuss.
For the sake of justice, we must say that the applicants have already developed outstanding skills in preparing for the "unexpected" interview twists and writing convincing resumes. In general, who chooses and who is chosen - that is the topic for a separate article.
Today we propose to skip the hiring step and concentrate on the management of the already selected development team in the process of interaction and work.
Based on the experience we have defined what shall be taken into account or set-up to increase the workflow efficiency up to the level of the medium one and higher and to make it grow successively.
- self-fulfillment
“It’s not easy to do, but people are at their best when they feel appreciated,” says Wendy Rhoades, the in-house hedge fund psychologist in “Billions”.
The words are pronounced by the series character, but they do hit the jackpot: each of us, for sure, has experienced a burst of enthusiasm and energy, when the result of the applied efforts was appreciated by parents, teachers, and leaders. Feeling on top of the world is an ideal state for achieving unprecedented results.
We strive to ensure that anyone who joined our team feels like a significant member of the family, and create conditions for the employees individual potential to be utilized for 100%.
What is this for? For the purpose of achieving the highest efficiency each of us shall be aware of and feel the following:
- I am a professional and adequately assess my own abilities;
- I am focused on self-fulfillment and self-development, and can act at own discretion;
- I am confident of the future and not afraid to face any large-scale tasks;
- I am intent on exceeding the expectations.
With such an attitude everyone performs tasks in accordance with one’s skills and abilities, brings new ideas, grows along with the company and feels his/her own value for the team. Do you remember feeling on top of the world?
- team spirit
Gathering the smart individuals together and arranging their joint activities is not a simple task, but is vital for any worthy cause.
A team is where a boy can prove his courage on his own. A gang is where a coward goes to hide.
Mickey Mantle
In order to assure the unidirectional joint efforts vector each member of the team shall be aware of the following:
- WE work in the team and should not fail the colleagues, and the team trusts each of us;
- WE bear responsibility for the overall result/performance;
- WE do not keep silent about any problems or look for excuses, but look for functional solutions together;
- WE perceive criticism as an opportunity to correct mistakes, adjust the process and move on;
- WE are open to new solutions that will lead the team to the goal;
- WE are in charge of delivery of values of the company to clients.
WE are not just several “I”-s, but a number of “I”-s being aware of ourselves as a part of WE.
- the client first!
The relationship between a client must be 'we.
Billy Baldwin
The team that is engaged in any project always includes one more member - the client.
That is right, every client will differ from the previous and following ones. But the attitude of the team to the person for whom they are creating the product remains. We all work towards the following:
- the CLIENT shall feel the team’s respect and interest in the project success;
- the CLIENT shall have a sensation of comfort while working with the team due to the transparency of processes and feel like trusting them;
- the CLIENT shall get instant response on the part of the team to any of his/her needs;
- the CLIENT shall see the reasonable distribution of time: both of the client and the team;
- the CLIENT shall get confirmations of the fact that the team is always on the same side with him/her, and no counter strategy exists.
COMMUNICATION
We have not learned yet to read each other's mind over a distance, so any joint activity implies usage of communication channels. And the better the channels are set up, the more effective is the interaction.
In theory, things sound logical and simple, but in practice, these are communication errors and misunderstanding that often cause delays, unforeseen changes, and other troubles.
We consider communication within the project from two perspectives:
- communication within the team
And again, we remind you that the team is "WE". There are many of us, and a constant and reliable communication is important to be established between all participants in order to manage a team of developers. What do we want to achieve as a result?
- everyone is aware of the project goal, inputs, current status and criteria to assess the project completeness;
- each team member clearly understands own tasks and role within the project;
- for each task, the responsibility is clearly distributed, and its progress is monitored;
- transparency facilitates prompt resolution of any emerging problems or delays;
- any proposed changes are jointly discussed and implemented as required.
What channels can be used by the team for communication?
Any channels they find fit. The point is that they should help solve tasks and problems effectively.
For example,
Slack to share information between individual team members and in common chat rooms, Trello - to record agreements and to distribute and monitor tasks performed, and Github - to store the code and to manage simultaneous work of a group of developers, etc.
- communication between the team and the client
The second communication vector is no less important. This is the client only, who has an idea of the final product; and this is the team only, that can determine the way to achieve the result. And in case of any communication gaps or delays, both the nerves and funds of the client and the wasted efforts of the team will fall within the risk area.
The way the communication is configured as follows:
- the contact persons are assigned (one for each party is recommended). In order to avoid any distortion, transmission of irrelevant data and other misunderstandings, any information under the project shall be communicated through those persons only;
- everyone involved in the project gets the initial project goals and conditions from the same source so that the same general idea is provided and formed as to the kind of product they should finally arrive at, and to which terms;
- in the course of the project implementation both the team and the client regularly receives the updated information on what exactly is going on within the project in order to have an opportunity to plan their further activities and to be aware where they will come;
- the team receives regular client feedbacks and can timely adjust the project progress or introduce any changes;
As a result, the good client-team relationship will develop and undoubtedly impact the final product: along with the high-quality technical component and appropriate organization, the product will be unique in terms of its emotional background. And the message will inevitably reach the users!
Communication is vitally important for cooperation with a dedicated team. The client and the team can be located in different countries or on different continents, and time difference, language, and cultural background, mentality, more convenient and customary communication channels for the client shall be taken into account, otherwise, they can make life much harder for everyone on the project.
Have you ever faced similar problems? Do not want them to repeat? Ask Umbrella IT - we know how to organize the dedicated team activities in an effective way, and will relieve you from eventual banes.
What channels can be used to communicate with the client?
Any channel convenient for the client.
Phone, Skype, e-mail or personal communication, etc.
It is advisable to use several channels, so as not to find yourself in a tight corner, in case one of the channels fails to work for some reason, and neither you nor the client can reach each other.
PROCESSES
The processes used to implement an IT project may differ, depending on the methodology and techniques preferred.
- Project Management Approach
Originally, the methodology of project management is defined - either one for all the projects, or one for each type of the project. It is recommended to coordinate the rules with the team, to make sure they are clear to everyone and perceived in the same way.
- Stable And Repeated Processes
(the same start and completion procedure, as well as the principle of handling keys and documents, etc.).
On the one hand, this greatly accelerates the mobile and web app development, since you do not waste time to reinvent a wheel.
On the other hand, if, for some reason, we need to involve a new developer in the project, it takes less time for the new person to get down to business.
- Roadmap
Created for each project, to show the project milestones and deadlines to implement them.
This ensures transparency of the general process for all participants. Everyone can see what is scheduled, and compare it to actual progress. Also, we define specific tasks and deadlines, with particular people in charge for them.
In this case, benefits from the approach are evident:
- improved processes controllability;
- increased transparency of the high-level activities status;
- reduced anxiety level among people engaged.
- Complete Required Information Saved in One Place
You choose a single place acceptable for all project participants (for example, the tool that you use to monitor tasks), and store all requirements and other relevant information on the project there.
Even if such information is discussed with the client in the chat or in emails, it should be stored together with all project data. This will allow both the team and the client always to have access to the up-to-date information.
- Product Development Processes Used by Team
They directly impact the efficiency of the overall process. If possible, such processes are automated to save time (for example, we always use auto-deploy).
However, even for the sake of time-saving, you are not recommended to exclude processes that affect the product quality (for example, never refuse from testing, otherwise this comes back with the following remakes and adjustments).
IS EVERY COMPONENT VITAL AND OBLIGATE TO ACHIEVE THE BEST RESULTS?
We are not going to make any evidence-free assertions. Let’s consider the situation the other way around: we exclude one of the components to see what we get in the end.
Case: properly organized processes and communication are handed over to a poorly recruited team.
- the incorrectly defined level of the team members qualification today may cast discredit on the quality of the work performed tomorrow;
- ignoring the peculiarities of the employee's psychological type may result in minimum involvement and interest, and such climate will inevitably lead to delays and resource overruns;
- the discrepancy between the system of values and motives within the team may lead to the need to change the approach to communication and processes in general. This will take extra time, as a result, the stability of the processes will suffer and the efficiency will fall, consequently.
Case: professionals are given clear instructions but are left without any well-established communication channels with each other and the client.
- there will be no common understanding of the current state of the project, and this will lead to lacking coordination and the effectiveness of the work decreases, as a result;
- the risk will increase of untimely and uneven notification about changes. The participants of the project will be in unequal conditions in terms of being informed, which will negatively affect the terms of tasks performance and their quality;
- there will be no transparency for the customer. As a result, for a while, the degree of his involvement will increase, as he will make extra efforts to find out exactly what is happening with the project. But if the situation is not cleared in a timely manner, the project may end with the termination of the working relationship on the part of the customer who does not understand what his funds are spent on.
Case: a team of professionals with well-established communication processes does not use any standardized processes.
- there will be no clear, stable or repeated procedures – in other words, every new project will be performed from scratch with eventual errors recurrence and their adjustment, and no previous experience will be taken into account, while this will negatively influence the rate of progress;
- there will be no transparency - if no clearly-defined processes are available, accordingly, there is no understanding of what is happening and what will follow. As a result, the level of anxiety increases among all team members, including the client, that will result in aggravation of quality and efficiency as well;
- responsibilities will be blurred – well-established processes imply a proper distribution of duties and jobs. In their absence, it will be difficult to find the responsible for the error and determine who should correct it. Time will be spent on clarifying, eliminating the error and its consequences. As a result, the quality and timing of the project will suffer.
BOTTOM LINE:
- the key to the effective product development process are available and duly set up main components: people, communication, processes;
- elimination of any of the components will lead to aggravating the quality of work, failure to deliver on time and other adverse consequences;
- each component can (and need to!) be regularly refined and improved, leading to a general growth in the efficiency of work, and, accordingly, to the increased customer satisfaction, the strengthened reputation of the company, and in the long term - to expanded reach and increased profits. There is no limit to perfection!
Keep in mind that it entirely depends on you. Do you want to multiply the efficiency of your processes and teams? Write to us, and we will offer you options.
Photo: Shutterstock.com, Unsplash.com