Mitigating Risks During Planning Stages of a Web Project Development
How to proceed with work and get a high-quality project?
Let's imagine we set up a project. What do we feel? Generally, there immediately arise a number of questions, fears, and concerns:
- What if a team of developers can’t cope with the project and I don’t get it finished?
- What if a project timeline expands and expenditures increase?
- May the project turn out to be low-quality?
Setting up a new project we don't want to just waste our time and money. We want to get the result matching all our expectations and on time. Even more, we want to minimize risks and get guarantees of the best result of our future project development.
Nobody can give 100% guarantee. Fortunately, Umbrella IT company took a poll among more than 100 of its customers and developed a specification with a list of important criteria: to follow it means to reduce risks and get the desired result.
Plan of the first conversation
Ivan doesn’t have enough time for anything. Never reading this article he has to monitor the development of the project all the time, and continually face new challenges impeding its progress.
Vitaliy has time to enjoy his life. Thanks to the instructions given in this article he has quickly established a process of development and can easily control the project at any time calmly waiting for its completion.
Are you racking your brains about what to pay attention to and what not to leave out of account during your first conversation with a potential performer?
Here are the detailed instructions for the first conversation with all the important points and criteria worth to be mentioned:
PREDEVELOPMENT is what we have a right to and what a professional team aimed at long-term cooperation and responsible for its result won't refuse us. It is very important to plan our project and make its assessment before commencing work.
You need to check and verbally approve that Predevelopment will be absolutely free of charge and will include:
- wireframe, function map (mindmap) – actually, it is a functional map of a site/application;
- use cases – with the help of use cases we can imagine what opportunities a user will have in our application;
- assessment of the project including the expenses on setting up the project and everything connected with it and the absence of any prepayments. All payments must be made on actual basis of the hours worked or according to the agreed expenditure plan as far as all the professionals have different rates and are worth their money;
- splitting the project into phases – work and promotion with short phases give us the ability to quickly understand pros and cons and efficiently correct them, thus we can faster get our project and enter the market.
TEAM. A professional team should consist of specialists in different fields and not of a single person who can do tasks in different fields (UX/a programmer/QA). In reality, such specialists have little knowledge in different spheres, which is definitely insufficient to develop a quality project.
Make a development team confirm that they have the following specialists:
- QA – choose a team having a separate professional specializing in QA only.
A QA engineer is a person who controls the quality of the project and checks it for possible vulnerabilities. With this purpose, he tests the entire project and reveals defects – logic, design, non-conformity with the requirements etc. If needed, a QA can also run the following tests:
Testing automation is a conversion of manual testing to automated via special code that automatically run random checks.
If automation is implemented in the project, the checks are usually run automatically after each code update in order to assure appropriate functioning.
Load testing helps to check and show the number of users a server can actually process after the start of the project.
- DevOps – ask if the team has a DevOps and whether this specialist can take full responsibility and launch the project.
A DevOps is responsible for all aspects related to project exploitation, namely for project launch and project support (if needed) afterwards. To ensure a successful launch a DevOps adjusts:
- project server infrastructure (web-server, database server);
- heavy load server auto scale mode, which enables server operation even when being used by a big number of people;
- a monitoring that allows to receive notifications about project malfunctions and fix them quickly, which ensures uninterrupted project operation excluding down time and loss of money.
- 1 point of contact. A typical situation: “We told about a feature to one of the developers. Later, another developer asks us a question about a related feature and in a week we get a call from a Team leader who presents us an architecture that doesn’t include the previously discussed feature.”
To avoid such awkward situations, we appoint a single responsible person to be a contact person with the team of developers. Ideally, this should be a PM (project manager) or a team leader (a leader of a team of developers).
WORKING PROCESS – the more transparent and simpler development process is, the more convenient for us to control each step of it. Also, it allows us to restructure and change its components in time, as well as replace one team with another easily and painlessly without losing anything.
After the project starts:
- We divide the project into short development phases.
- We gain access to all repositories and any documents that are related to our project.
- We require a responsible person to send us daily reports with the detailed information about work accomplished and problems occurred and weekly reports with the briefer description of tasks completed and goals achieved. Also, he or she should provide us with a list of tasks they didn’t have time to complete and future plans.
We want our project to evolve consistently and smoothly, everything to be done in the best way and on time, don’t we?
That is why, we should not be ashamed requiring a performer to send us regular reports about tasks, process, and stage of their accomplishment, problems and possible solutions described in a detailed and clear way.
Here is an example of a bad report where all we can see is a list of strange tasks. Such a report won’t help us understand what the development team is working on now and what stage of accomplishment are different tasks on.
CONTROL OF THE WORKING PROCESS – we have to control the working process using different tools to clearly recognize the effectiveness of the team and what we pay money for as well as to have an opportunity to manage both of them.
Make the team confirm that it uses tools to control the process and show them to us:
- Task Tracker. Trello is the most convenient and easy-to-use task tracker that Umbrella IT’s team has tested. Trello allows us to organize a project with the ability to share tasks and teams on different desks, to prove access to individual tasks and to change tasks’ statuses.
- Time Tracker. In any time, it allows us to enter and view the amount of people working on our project in the current period; to watch working process of each developer separately; to find out total payment for the number of working hours – what could be more transparent and suitable?
There are many different time trackers but Umbrella IT prefers Worksnaps.
Aren’t all your questions answered?
We’ll be glad to help and share our experience!
Final check of the contract
Finally, we went through all the above-mentioned paragraphs of the instruction and our candidate meets all the criteria. What is the next step?
We will check the contract for the presence of all necessary points that were listed before. Also, we will pay attention to:
- No mention of any prepayment – there should be marked either hourly rates or fixed amount that we should pay to the performer after the completion of the development phase. There shouldn’t be any information about prepayment. We pay for the result only.
- All rights belong to us after the completion of the project – we need to make sure that all the rights of the original code belong to us and don’t belong to performer according to the contract.
According to the law of many countries if it isn’t mentioned in the contract we may not be the owner of the intellectual property of our project once it’s completed.
Print the agenda of the conversation
In fact, there is so much information, one cannot keep in mind all of it.
For convenience, Umbrella IT recommends to print out the following brief instruction prior to the first conversation with a potential candidate for execution. It contains concise information from the above-described conversation plan and contract verification.
Take a pencil and go carefully through each point!
- Will you do free predevelopment for me before the project?
- Will it include:
- use cases;
- project evaluation including start-up costs and everything related to it;
- absence of any prepayments;
- division the project into phases?
If not, let’s discuss what will not be included, and what we will replace it with.
- Can you confirm that you have a dedicated QA specialist in your team? What tests will he do?
- Can you confirm that you have a dedicated DevOps specialist in your team?
- Who will be my 1 point of contact? Why him?
PROCESS OF WORK
- Will you divide our project into short development phases? What is the size of each phase?
- Will I get the access to all the repositories and project documents? Will I have a single point where all accesses are stored?
- Will my point of contact send me daily and weekly reports? Could you send me an example of reports on email?
CONTROL OF THE WORK PROCESS
- Can you show what tools you use as (for convenience you can show how you use them on your screen) a task-tracker and as a time tracker?
- I want to confirm that the contract will not contain mentions of prepayment and it must contain a point about the transfer of all rights, including the rights to the source code to us.
When the work process is organized using the proposed instruction and taking into account the criteria described in this article, the result will most likely coincide with the expected result, and we will get a quality project with minimal risks, which can be considered as an implementation of the guaranteed result.
Photo by Unsplash