[If you are enlightened] I think the operating system of Japanese outsourcing projects

Source: Internet
Author: User

Wedge

I have been working on outsourcing projects for Japan for more than a year. I am not an extreme developer. I don't feel uneasy because I can't learn profound technologies for outsourcing, or I'm not excited because I can't learn superb design skills for outsourcing. However, the pursuit of technology has never stopped. I have never avoided software design. The key to the so-called "looking at the mountain side as a peak, the distance is different." is how you think about yourself and how you treat yourself. Maybe you assume a developer role in a project, and it will be hard to remember the coding of a module all day long, but do not fix your vision, think about it, and summarize it, look at your work from a different perspective. Although the title of this article is Japanese-style, I believe that there are many common points about the operation of outsourcing projects and even self-owned projects. My personal abilities are limited. If the summary content is insufficient or incorrect, please leave a message!

Body

From the perspective of software engineering that has risen to the theoretical height, we can find a software job from feasibility analysis to requirement analysis, to design, to coding, to testing. Software Engineering is a universal learning. However, specialized schools require us to explore, practice, and form our own ideological system. This article summarizes the practice of the author in his work and introduces the operating system of the Japanese software outsourcing project.

Company A entrusts Company B to complete a software project. What is the operating system of this software project? I will divide it into the following ten components.

I. project cycle Estimation

2. Development Team building

Iii. Establishment of Reporting System

Iv. QA & Project Management

V. Project Plan Formulation

Vi. Risk Control Management

VII. Quality control management

8. Code Version Management

IX. Document Control Management

10. Delivery Control Management

The following describes the content and functions of each component.

I. project cycle Estimation

Although I have not touched any related aspects of the development cycle, I think this prediction should be made by the customer. However, since it is a business, but it cannot be negotiated between leaders. I still don't know the specific details of this part. I just think there will be such a stage, but the length of the project cycle should be a balance between people, productivity, and time, after all, software development does not mean that the more people, the better.

 

2. Development Team building

Estimate the number of teams based on the project size and development time, and select team members, which is determined by the management. The estimation and selection here are the core. The estimation needs to find the balance between matching teams based on the size and time, while the selection is an extension of management. It is also critical to select a proper project manager. For large projects, you should select an experienced project manager. For small projects, developers who are not project managers can be trained as appropriate. In addition, when selecting developers, the capabilities of developers are closely related to the risks of the project. At the same time, pay attention to the new personnel rate of the project team. High personnel rate is a high risk.

 

Iii. Establishment of Reporting System

I admire the practice of reporting on this point in Japanese projects. A sound reporting system can help you understand the progress of the project from top to bottom.

Outsourcing companies to Japan can be divided into three parts according to different reporting objects: Report to Japanese customers, report to project leaders, and report to project managers. The three reports are briefly described below.

Report to Japanese customers
In my project, there will be a video meeting with the Japanese side every week. At the same time, the project manager needs to send a daily report every day, mainly reporting three content: 1. project Progress 2.qa( current problem) 3. subject
1. project Progress: the report on the Japanese side makes the customer feel that the project is indeed in progress and has achieved some results. This requires the speaker to understand what the customer needs, it is silly to report how many lines of code a function uses.
2. QA: the QA report aims to let the customer know the problems encountered in our project. If there is no QA, it will be worse.
3. subject: The subject is generally a problem that needs to be solved urgently. Of course, this is not the case. For example, the education of the project team is also a subject, but sometimes it is not so urgent, only let the customer know our advanced consciousness.
Regarding QA and the subject, QA is a few minor issues that cannot be understood, such as issues that cannot be understood in the Requirement Description and fragments that cannot be understood in the code. The topic is a bigger problem and requires more time and effort to solve it. For example, the project has already started, but the development environment and development platform are unknown.
Report to project leader
In my project, there will be an internal project meeting in less than a week. The purpose of the project meeting is to let the leaders know the progress and problems of the current project, the report content should highlight problems, such as project delays due to some problems. Such risky content must be put in the most prominent position of the report.
Report to Project Manager
In my project, every day, every developer needs to write a daily report and send it to the email list. The daily report mainly reports the work completed by the developer in one day, this allows the project manager to refer to the progress summary before coming off work, and also helps developers manage the project individually.
About report connection

In Japanese companies, there is a saying that "connected messages" is called "connected messages"-"connected messages) -Zookeeper (zookeeper transaction ). In a sense, this is a way to shirk responsibility, but it is a way to control project risks. The core of reporting connection is to be timely. If you encounter problems, you must report them immediately, contact us, and discuss countermeasures. Otherwise, it would be equivalent to holding a hot potato. In the end, the potato fell to the ground, and his hand was burned and not said, and the responsibility had to be borne by himself. If you report the problem of the hot potato, contact the customer, and discuss the countermeasures, then the responsibility will be borne by the two. In principle, we will not make any mistakes. At the same time, it also effectively utilizes customer resources.

 

Iv. QA & Project Management

Q & A with the customer, if there is no QA & topic management system, it will appear very messy, may be a question asked by a person two days ago, after two days again to ask the customer, this will give people a bad impression, so QA & Project is also an indispensable part of project management.

 

V. Project Plan Formulation

After the project goes through the preparation stage, it is to prepare a detailed project plan, which is the basis for formal development of jobs. Planning is complex and should be considered comprehensively. There are three main points.
1. Production
2. Effective Personnel
3. Easy to classify
Even a plan developed by an experienced manager needs to be adjusted in the face of an unknown future. Therefore, for the project manager, he should focus on the overall progress. When encountering a problem that may affect the plan, he should use an unpleasant phrase "Remove the east wall and make up the west wall ", in fact, this is also a common trick. If the development of module A delays the progress due to a major technical problem, can we make up for it by shortening the cycle of Module B? This is what the project manager should do.

This is what I do not know now. I need to study hard!

 

Vi. Risk Control Management

In fact, there is no strict system to implement this system, but in fact it is integrated into other systems, such as the report system, such as the planning system. Regarding whether risk control should be taken out as a system, I personally have no preference, whether to take it out or put it in other systems, as long as the system can properly resolve risks even if risk prediction is made, just summarize the risks.

 

VII. Quality control management

I have to say that the Japanese quality control system is really perfect, but I personally feel that I have not fully understood the details. Besides, I am only a Japanese-Japanese joint venture company in China, when they are proficient in their quality control system, they must write a book to introduce Japanese software Seiko.
The following is a brief introduction of the content in the quality control system that I can see.
Review
In Japanese-style projects, there is a review in every step from the demand statement, to the Code, to the test, and there is a corresponding review record ticket to record the problems found in the review, I personally feel that such a strict review is a wonderful way of quality control, but there is also a drawback, that is, low efficiency. for emergency projects, this set does not seem to be useful, the so-called agility seems to be king.
Test
In Japanese projects, tests are the most rigorous tests I have ever seen. My project team must undergo rigorous tests such as <(white box tests), ut (Black Box tests), CT, and St. RT (regression testing) is also required for development that has a large-scale impact ). The test cases in each stage need to be reviewed and sometimes more than one round of review, so that the test cases after repeated quenching can be used for testing.

Quality Control

This is a Japanese term, that is, collecting all the quality data in various engineering stages to determine the quality of the product. I believe many Chinese enterprises do not have this link. However, the Japanese project attaches great importance to this and may be responsible for the supervision of the owner.

 

8. Code Version Management

The code management system is actually the stream of some common code management tools SVN and CVS, which should be similar. But it is worth learning that every time you submit code, you must write the reason for submitting the code and modify the rough content of the Code.

 

IX. Document Control Management

Japanese companies focus on document management. Japanese documents, a large number of documents generated in the engineering stage, educational documents, and various documents are stored in the appropriate directories, it is not messy.

Japanese-style projects place great importance on documents, allowing developers to quickly start their projects by finding another group of people and referring to the documents. This is also the basis for the development of the Japanese software industry. Imagine how to achieve greatness in the future without such common accumulation. This should also be what we lack. domestic development tends to be slow and document quality content is scarce, resulting in less accumulation and talent gaps.

 

10. Delivery Control Management

The project will be delivered in July, and I am looking forward to the specific details.

 

Postscript

Finally, write something you think of in writing this blog. When you have some understanding, you can write it in your blog after you have time!

1. Japanese quality control management

2. Japanese document design skills

3. Japanese engineering reporting skills

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.