After 20 days of communication and development, the first project received on Cloud Walker was finally successfully delivered. At present, the product runs well, the remote cooperation with customers is smooth, and the progress is well grasped, which is a relatively successful experience of receiving packages. Now I would like to share the process from platform acceptance, development, communication, test deployment to final project delivery for your reference, and welcome your comments if there is any improvement needed.

Pick up package

Before doing projects are introduced through acquaintances or run, occasionally small projects online, but not how to use a similar this kind of freedom development platform or crowdsourcing platform, once in the process of online looking for project, walter, accidentally discovered the cloud above project many, observation for a few days that project update also pretty fast, immediately decided at the interview a try. Turn for a moment finally find a suitable for their own, is the background management system to realize a small game, which comes with a function module description document, seen after feeling workload is moderate, the front desk page, background services and database design one can fix, difficulty is not great, 6000 RMB 20 days feel a line still, decisive bid.

Bidding according to their own psychological price and when you need a project budget offer of the party awarding the contract, not malicious demand a powerful and unconstrained style, to choose an appropriate time limit for a project, then wrote in the comments of some related skills, as well as provide some before I involved with a project example of the kind, web site or download links, for customer reference so as to improve the success rate of himself.

After the investment, you can wait for the reply of the other party. It is recommended to install the official Cloud Walker APP. If the customer intends to talk with you further, he can receive the message in time through the APP. At this time, the communication is mainly a process of mutual understanding and familiarity, laying a good foundation for future cooperation, to let the customer rest assured to entrust the project to you, it is estimated that the outbreak of personality, after talking for a while, the customer decided to let me do it. Next is for the current needs of a simple comb, do know, if there is a relatively large pit or some obvious problems put forward in time, so as not to do in the process of pulling. Finally, the price and time limit of the project should be reconfirmed, determined at a time or handled flexibly according to the final project delivery, and analyzed on a case-by-case basis. After these preparations are made, we can start work.

technology

I pick up this project because it is a background management system, customers are not strict rules for the UI design, therefore, as long as don’t ugly meet the functional requirements, the province a lot of things, I think the development, design is a complete ErBaDao, but grasp ability, aesthetic ability and demand to know what the customer wants a system. Because the construction period is short, we need to produce things quickly, and the customer has no requirements for technology. After a short time of thinking, we determined the technical plan.

  • Front end: Vue + ElementUI
  • The backend: nodejs + thinkjs
  • Database: mysql

The advantage of this combination is that both front and back end development is efficient, simultaneous and easy to package and deploy. The front end ElementUI is built for back-end management, rich interface components and elegant themes to meet almost any need, as well as strong community support so mom doesn’t have to worry about me falling into a pit. Paired with the naturally efficient and powerful Vue, this artifact is simply fantastic. Since the project itself is not large, it is enough to use the lightweight Node service at the back end, and it is easy to write apis with thinkJS, an industry-tested MVC framework. Not using lightweight frameworks like Express or KOA is a matter of personal preference and not being able to find plug-ins.

Saying the open source community is really a good thing, although has the scaffolding support, these frameworks can quickly build a project, but you can find in the open source community even better, and more time of dry goods, whether making or OSChina can discover some can directly with the code or source code, is very convenient, this will help me a lot.

The project management

Teambition is a project management tool that I used a lot when I was working on a project. It is very easy to use, and it is very convenient to manage people and assign tasks. However, it is no longer used since some functions are charged. Now almost all projects use Tower for management and tracking, which is small and flexible, so I also choose Tower for this project. However, I heard that Cloud Walker is also developing its own project management tool, and it will be online soon, so you can have a try at that time. After building a project on the tower, add the client to the project, so that the client can know the current project progress and remaining problems in the future development process. Identifying which features are in the pipeline, which are in progress, and which are completed, allows continuous phased testing and delivery to ensure project progress and quality.

After a project is first created on tower, tasks should be created in stages according to the functional requirements of the project. Tasks in each stage should be divided into priorities, and the most critical ones should always come first. At first, the task granularity can be slightly larger, in the subsequent communication and the development process can slowly adjust and refine, multitasking and update in time, do a daily more, encounter problems do note and record, convenient for later processing, this reflected in their own work at the same time also can let the customer the future. At the same time, in the tower, customers can submit bugs in the system testing process, early detection and early treatment, try to do, once the past, nothing will grow.

Time management

I’m not a full freelancer, and I have my own job, so balancing my day job with my time on the side is critical, and if I don’t get it right, it’s easy to get caught in the crossfire. Fortunately, before this, the company successfully launched a project, now only bug repair and functional maintenance, in a stable period, so we can ensure a certain amount of time for development work every day.

To the company, a day to finish the emergency handling work, so no one will disturb the during the day, the rest of the time can be completely into outsourcing project development, at the time, can spend 3 hours during the work during the day, night back to do 2 hours according to the circumstance, be squeezed if during the day time is not enough, then the corresponding extend working hours in the evening, Try not to interfere with each other. At the end of the day, there are only so many hours in the day, so productivity is king.

communication

Since it is remote development, frequent online communication is indispensable. Effective and timely communication is the first step to project success. During the day, it is not convenient to receive phone calls and voice messages in the company, so we mainly communicate and discuss through wechat. Although equipped with tower artifact, it is not very timely after all, so most of the time, we let customers directly post pictures in wechat, and I can timely analyze and reply. After all, it was not convenient to communicate through text during the day, and some problems were not clearly described. Therefore, I made an appointment with the customer to communicate through voice every night to summarize the project problems and discuss the project progress.

The time cost of communication is high, especially in the requirements discussion stage, but this stage is also critical, if the understanding is not in place, it is easy to go astray in the later development process. For this project, the client only provided an Excel table, which briefly described the functional requirements. There was no design drawing or flow chart. In order to make WBS, I discussed with the client one function at a time through wechat, and found that it was not only inefficient but also easy to cause inconsistency in understanding. Later, just use another artifact – baidu brain figure, will I refine function by drawing a mind map, and then to teach customers how to use, according to what he wanted him on the above change, so repeated several times demand immediately forming, and then according to the diagram add tasks to the tower, greatly reduce the inconvenience of the remote communication and improve the communication efficiency. In the future, if you have any problems, you can first iterate the mind map, and then update the task, so as to comprehensively track the requirements, which is a guarantee for yourself, and can also politely refuse to change the requirements of customers.

The development of

Once you’re ready, you can write code safely, which is the best way to do it. Since the project wasn’t very big, I put the front and back ends under one project, so it was easy to develop and didn’t have to cut and cut. Although it is a person with full authority to handle, code specification should also be done, so as not to dig their own hole. One should also use the code version control tool, do a good job of code tracking, I prefer Git, not only convenient development, but also convenient deployment.

After the code is well controlled, the development cycle should also be well planned, not from the first day has been buried until the last day, and then to the customer say good, done. Not only will the client blow up, but you will probably have wasted your time. I will got the three stages, the project just a stage in a week, the first stage mainly infrastructure setup and front static page display, can let the customer see the overall effect, there are problems timely and correct, the second phase is mainly the development of the API and the main function of integration, the third stage is the remaining service integration, testing and problem handling, Set aside as much time as possible for each phase to deal with bugs found by customers and make small improvements, and try to take it easy. If at some point in the middle the client’s head gets hot and wants a big change, carefully evaluate the risk, talk to him about life, about the good things, and if that still doesn’t satisfy him, then either add more money or add more time and more money, simple as that.

Deployment and Testing

As mentioned earlier, development is done in phases, so completing a phase should allow the customer to see things and test them. This way, you don’t have to create chaos by pushing the problems ahead to the back. The server of the client is the Linux server of Aliyun, which is used to it, so it is very easy. After two or three times, I set up the environment and manually used Git to pull the code and package it remotely. I haven’t tried automatic deployment, but I always feel that I can do it myself, so I can try it later. Try to avoid local SSH uploads, however, because human error is easy and dealing with this problem is not worth the cost. After the server environment is processed, the reverse proxy is configured and the service is started. The client can test the project anytime and anywhere. If any problem is found, the client can report it to me through wechat or put it on tower, and I will deal with it in an orderly manner.

delivery

After all functions are developed and tested correctly, the project can be delivered. If quality assurance is needed, this should be clearly discussed at the beginning, including time and price. If there is any change, it is another matter. The final milestone document can be submitted after the customer has confirmed it, and then the settlement and payment can be made, and the customer can give an evaluation on Cloud Walker to end the contract. At this point, the cycle of a project is officially ended.

conclusion

A person to receive the package and development sometimes is very lonely, all the problems have to be carried on their own, so the early work to do enough, capable to do, can not do it in time to put forward, everyone’s time is very precious. For developers who have their own jobs, project management and time management should be well planned. Poor handling will not only affect their own jobs, but also may affect their own lives, so they must be careful. After all, this is remote development, and it is difficult to communicate with customers face to face, so we should be serious and efficient in communication, talk about problems without bullshit, and trust each other. These are my real experience, and I hope to help you. The first project on Cloud Walker went well, continue next time.