From: juejin. Cn/post / 684490…

An overview of the

Some readers feedback, read the article on the frontline technology managers in charge of what? Harvest is full, but still a little not satisfied, still want to know more details of things…

This article shares the development process specification, the purpose is to improve product quality, optimize the development process, for your reference.

Norms are dead, people are alive, I hope their norms, do not be slapped in the face.

Then disassemble from the above six stages one by one.

1 Requirements Review

As a technical personnel must have participated in the requirements review meeting, do not know whether to encounter such a situation?

  • The product manager read the PRD document once, but the attendees did nothing.
  • No sooner had the product manager presented a demand point than the attendees had a heated discussion, all proving themselves right.
  • Participants were not clear about the goal of the requirements, and they discussed the requirements with divergent thinking and eventually deviated from the direction.

Encountered the above problems, must be in the need to participate in the review before the full preparation, then the question comes, what should be prepared in advance?

Before the review

Don’t listen to product students say that the need is followed up by the big boss, very important, very urgent, etc., ask the product three questions:

  1. What problem was solved?
  2. What indicators have been raised?
  3. What is the commercial value?

These three problems are clear, and then review.

After the product manager sends out the prototype and the first draft of PRD, the developer should have 1-2 days (the specific time depends on the size of the project) to familiarize himself with the document, and if he has any questions, he can feedback them to the development manager, who will collect them and then feedback them to the product manager, who will answer the questions one by one.

After familiarizing yourself with the documentation, developers and development managers need to work together to determine:

  • Technology selection (front-end/back-end framework, logging middleware, messaging middleware, database…)
  • Technical architecture (how components work together, how they are deployed)
  • Technical difficulties prediction (identify existing technical difficulties and determine solutions)
  • Performance bottleneck prediction (Identify potential performance bottlenecks and determine what to do)
  • Upstream and downstream system interaction (specify which position in the process, and agree on the time of interface document provision and interface joint adjustment)
  • Functional module division (task splitting and assignment)

After the technical scheme is determined, it is necessary to output technical design documents, including: overall design, outline design, detailed design, interface design, etc.

In the review

Developers must attend, there is demand is not clear place put forward on the spot, at the same time developers also need to consider whether the product demand is reasonable, can appropriately put forward their own product opinions.

Normally there will be at least two reviews (first draft and final draft).

After the review

After the review, if there is any need to update the technical documentation, please update it in time.

The development manager first considers the team’s existing resources and project priorities, and then evaluates and schedules according to the technical design document.

The scheduling template is as follows:

2 Technical Review

Before the review

Developers must pay attention to technical design!

Developers must pay attention to technical design!

Developers must pay attention to technical design!

Important things say three times!

What will the technical review be about?

  • System diagram,Modular diagram,Design of flow chart, drawing tools according to their own hobbies can be.
  • Interface design, you need to consider interface compatibility, extensibility, parameter naming complianceParameter naming conventionAnd so on.
  • Database design, need to comply withDatabase design specificationAnd recordData table change document.
  • The detailed design, need to consider public classes, public methods, method definition complianceProject framework catalog specification.

In the review

Developers and development managers must be involved, architects should be involved when it comes to overall design and outline design, and DBAs should be involved when it comes to database tuning.

Normally there will be at least two reviews (first draft and final draft).

After the review

After the review, if there is any need to update the scheduling document, please update it in time.

After the schedule is determined, you can send a reply schedule by email and use a standardized reply schedule email template.

Step by step, stick to the plan.

3 Requirements Development

coding

Developers coding process, the need to comply with the team’s coding standards, in strict accordance with the technical scheme of the design document execution at the same time, in addition to ensure the correctness of the code logic, also need to consider code encapsulation, maintainability and extensibility, when need to adjust the coding phase found technical solution, need to inform the development manager, after agreed to implement, The introduction of new frameworks and technologies also requires advance notice to the development manager.

Code review

Developers need to control the frequency and granularity of code submission. Within 24 hours after each code submission, they need to actively contact the code reviewer to complete the inspection, and the development manager is responsible for checking whether the implementation is in place.

What does a code review look for?

  • Normative inspection (compliance with code specifications, submission of remarks specifications, etc.)
  • Robustness check (whether stuck in an infinite loop, resources not released, etc.)
  • Security check (whether there is SQL injection, XSS, SSRF, CSRF, unauthorized, file upload, etc.)
  • Performance check (whether frequent DB connections without caching exist and whether connection pools are required)

alignment

The developer actively promotes the coordinated work and notifies the technical manager for coordination in case of obstacles.

self-test

After the joint commissioning, the developer needs to complete the self-test at the same time, and send the standardized self-test report to the test team.

For projects with performance requirements, developers are required to conduct performance tests and issue standardized performance test reports.

To measure

After the self-test is complete, apply for test by email, using a standardized application and test email template.

Developers deploy to the test environment according to the release mode provided by the company’s operations and maintenance.

4 Follow-up test

Test case review

Developers must attend to avoid situations where testing and development understanding of requirements are inconsistent.

Bug fix

Developers should pay attention to the Bug list, quickly fix the iterative release, and notify the development manager if there is a risk of delay in the test progress.

5 Follow up and go online

Developers should first confirm that all bugs are closed and product personnel have passed the acceptance in the test environment. Then, they should actively push relevant teams to clarify the online dependency and online order and determine the rollback plan. Finally, they can deploy to the online environment according to the release mode provided by the company’s operation and maintenance.

After the online environment deployment is completed, notify product personnel and testers by email, use the standardized online completion email template, actively push testers and product personnel to complete online verification, and immediately notify the development manager if there is an online problem.

6 Online problem recheck

Requirements in the test environment and formal environment, no test Bug, after a period of online Bug, this problem with what system constraints?

When problems occur, the developer fixes them in time, and when they’re done, it’s over. That’s not enough.

You are advised to use the following template.

summary

You can count how many rules are used, then some friends will say, there are too many rules, what is the difference between this and factory workers, we programmers are creative, we like cutting-edge, challenging work, we love freedom…

But not all programmers are creative. In the real world, most programmers don’t do creative work. They don’t have to do creative work.

Team management and cooperation between teams must be standardized and strictly implemented.

That’s it, above for reference.

Recommended reading

  • Git branch design specification
  • API interface design specification
  • What exactly are the front-line technology managers in charge of?
  • It’s not just ability that gets a person promoted, it’s trust