Product development process

foreword

The normal development process of a product should be: early demand docking; mid-term R&D process; post-test and version.

Demand docking

source of demand

  • From the direct needs of customers, collected from daily after-sales operation and maintenance;
  • Reference materials, competing products from other companies;
  • Communicate with the project department, after-sales department, etc., and conduct demand research;
  • Company product planning;
  • The main principle is not to build a car behind closed doors, take it for granted, refer to existing mature products or industry norms, or the latest policy documents;

input Output

  • Requirements specification, or simple documentation;
  • Functional brain map, prototype map Axure RP;
  • product expectations;
  • Products and related R&D personnel conduct a demand description review meeting;
  • Before the meeting, relevant documents are sent to relevant personnel (UI, development and testing) in advance for reading and thinking;
  • During the meeting, the product manager explained one by one according to the needs. After explaining a large function point, everyone asked questions and discussed to unify the understanding of the needs;
  • A simple meeting minutes to record the points where everyone has conflicts;

solution writing

  • After the requirements meeting, the R&D personnel write solutions for the requirements;
  • The solution includes functional module division, table structure design, etc., and produces a solution document, including the understanding of requirements, function implementation methods, including some business flow charts, architecture diagrams, deployment diagrams, SQL scripts, etc.;
  • If it is a completely new project, you may also need to consider technology selection, such as which programming language to use, development framework, database, etc., and whether cluster deployment is required, which is generally consistent with the team's original knowledge system;
  • After the solution is reviewed by the person in charge of R&D, the tasks are decomposed and assigned to specific personnel;
  • According to the existing resource situation, carry out rough construction period planning and set up a timetable;
  • The project schedule and duration can be managed using projects, etc., to clarify task time points, personnel, etc.;
  • Requirements can be managed using tools such as JIRA, Zen Road, etc., and the data can be placed in the record as an attachment;
  • Note: Generally, according to the project situation, it should be estimated according to 1.5 times the time, because there are always emergencies, and the previous estimation may not be accurate;

Requirement change processing

  • For new product research and development, or customer project development, demand changes cannot be avoided;
  • It is mainly a new thing, and you can’t be clear about all its features at the beginning, and you may have some better ideas later, or find that the existing design has major flaws;
  • If the requirements change, it is necessary to dock, review (the impact on the existing framework, construction period, etc.), prepare solutions, and adjust the construction period plan for the changed requirements;
  • For the processing of requirements changes, there must be principles, not all changes must be processed immediately;
  • For major defects, or the cost of modification will be higher in the later stage, it can be dealt with first;
  • For some optimizations or requirements that do not affect the use, you can write a version plan according to the inclusion;
  • All requirements changes need to be recorded in JIRA or Zen Tao, and a new record needs to be added;

R&D process

function development

  • Key tasks, tracked in time, and completed overtime as needed;
  • Conduct phased short meetings, or weekly meetings, with weekly project progress descriptions;
  • The front and back ends are separated, and the API interface maintenance must be done well, and a stable environment and data must be ensured as much as possible for front-end debugging;
  • For some difficult problems that cannot be dealt with in a short time, report them in time and let everyone solve them together;
  • It should be sooner rather than later, do more in the early and mid-term, leave redundant time to deal with emergencies, and try not to get stuck in time to complete the task;
  • Timely maintain the task status in JIRA or Zen Road, and the task completion status is used as an assessment indicator;
  • It cannot be used simply and rudely, because some key tasks may take several days to complete, and small tasks may be completed in half an hour, so the quantity and on-time completion rate are only references;

code review

  • Coding specification, agreement is greater than configuration, Ali programming specification, database protocol, etc.;
  • Reasonable class and variable naming, reasonable comments, reasonable method length;
  • Code static review sonar cube;
  • Manual review, code reading;
  • After the review is completed, sort out the problems that arise and preach, and everyone will study together to avoid similar problems;

knowledge base

  • Product-related documents, including requirements documents, design documents, user manuals, etc.;
  • Documentation of functional modules, written and used by developers, including function implementation logic, where, what classes and tables are there, what interfaces are there, etc., can be used as a phased work document to reduce subsequent maintenance costs;
  • Documentation of difficult problems, recording problems encountered, solving process, solving results, etc.;
  • Knowledge sharing documents, key technologies used in products, or new technologies, give a brief introduction, including features, usage methods, etc.;

Tests and Versions

Testing requirements

  • First of all, you need to self-test by layer function, pass the test yourself, and then hand it over to the front-end joint debugging or tester for testing;
  • Retain the necessary test data, and the interface test should retain the input and output;
  • The testing of the testers should be continuously followed up, and the problems that affect the testing should be dealt with first, and other defects or optimizations should be dealt with follow-up;
  • For changing stages, when it is too late to use management tools such as JIRA Zen Road, you can use Tencent online documents and use table management;
  • For the stable period, you can use management tools such as JIRA Zen Road to track issues;
  • The sooner the test is involved, the better. It is best to intervene in the requirements stage, so that it is convenient to start writing maintenance test cases earlier, and there must be a test report after the test is completed;
  • If conditions permit, after a large functional module is completed, testers can test this function first;
  • At least two rounds of full testing, one round of integration testing, and one round of regression testing with modified test questions;

version management

  • Code mainline branch management;
  • product code management;
  • project code management;
  • Release management (packages, documentation, SQL/shell scripts);
  • Deployment documents (automated deployment scripts, database initialization scripts);

postscript

keep learning

  • Learn to use the Internet, open source and free various materials, source code;
  • Recommend Nuggets, Station B, Tencent Classroom, Open Source China, etc.;
  • The breadth and depth of learning, according to the needs of targeted learning, learning to use, there must be a summary and record;
  • Continuous learning with a plan and a certain intensity, accumulating over time;

experience sharing

  • To improve development efficiency at work, make a list of tasks to be completed every day, and complete them in order of priority and urgency. If it is really impossible to complete on time, communicate with the superior in a timely and proactive manner;
  • Overtime in the IT industry is the norm, and almost all companies cannot avoid it. Try to eat on time. Your body is your own, take care of yourself, exercise every week (such as running/playing basketball, etc.);
  • Learn to manage money, life is full of ups and downs, no one is smooth sailing, but only saved money is your biggest support when you are frustrated;
  • Manage your emotions, and the best way to manage your emotions is not to be lazy, not to argue about right and wrong, and to ignore bad people .
  • Recommend an easy-to-use domestic http://chat.alllinkai3.com/
     

Guess you like

Origin blog.csdn.net/weixin_48181168/article/details/127976711