Engineering Management and Workflow

1 Unified development environment/collaboration tools

Do you know what a development environment is? 

Development environment:

Project running environment, development tools/editors, development dependency environments, configuration files 

Software Environment:

"Simulation preview" environment Staging 

Final verification before production environment. This environment simulates the real production environment as much as possible. Another key is for performance testing, especially loading time. 

Development environment Development 

Often created on the developer's device, the software environment in which the software is developed, a sandbox environment 

Production environment 

Also known as the online environment, deployment to the production environment is the most sensitive step. Problems in the production environment will lead to serious consequences in the engineering operating environment. 

Testing environment 

Allow human testers to conduct testing in automated or non-automated ways. If the test fails, the test environment will notify the corresponding developer of this part. 

What collaboration tools do you know about? 

What development environments have you used before? 

Why unify them? 

2. Project management and workflow

What do we care about in software project management? 

Need to focus on money issues? 

Need to pay attention to time? 

What else should we pay attention to? 

care:

Within the budget, within the planned time, and the project quality is good 

W5HH plan 

Why was this feature developed? 

What will be done and when will it be completed? 

Who is responsible for making it happen? 

Where are their institutional organizations located? 

How can this function be accomplished technically and managerially? 

What resources should be needed?

Umbrella activities :

Measurements & Data Matrix 

Estimate

risk

Schedule

Track and control 

A breakdown of the work done:

Break the task into parts:

Product, process, organization, top-down dismantling, analysis and organization considering the overall situation, ensuring nothing is missed, considering reality 

Make a schedule:

Q: How did a project get delayed for a year? 

Answer: A one-day delay every time you encounter a problem is enough to lead to this result.

What is the workflow? 

How do we do development? 

What steps need to be followed? 

What is the relationship between each step? 

Project-level workflow: requirements, review, design, development, auditing and testing, deployment and monitoring 

After having the workflow

Don’t cut corners in development 

Workflow improves efficiency, not reduces it 

There must be agreed upon punitive and incentive measures before implementation. 

3. Where does demand come from?

Exploratory project needs, targeted projects (user needs are not clear), targeted projects (user needs are clear)

 

4、Git 

Problems we face:

Multiple people need to participate in the development of a software.
A software may have multiple versions to be supported.
A software may use multiple different operating environments.

Version of the benchmark:

This specification should be approved by a formal review according to the stage specifications required for quality management. 

The subsequent development process should follow the requirements of the "baseline". 

Modifications to the baseline must be extremely cautious and must go through a strict change process. 

example: 

Baseline A: All interfaces should be completely defined, and the content of each method should be empty. 

Baseline B: All data access methods should be implemented and tested. 

Baseline C: GUI completed

Benchmark naming:

There is a very common three-point nomenclature for naming benchmarks.
ABC (such as 9.3.1)
A: The number of released tags (Release) seen from the perspective of users (consumers)
B: The key version (Version) number seen from the perspective of developers
C: Focused from the perspective of developers Revision number of

Definition of terms: Release (Release) Version (Version) Revision (Revision)
Version (Version) : The combination of "code and its accessories" that is originally released or re-released, which should be fully compilable or deemed to be fully usable . Different versions exhibit different functional features.
Revision : For a revision of a version, only code design error corrections are made, and there are no changes to the functional features described in the documents in the "Accessories".
Release: An approved version for distribution to users.

Three partitions of the local Gt repository:

01 working directory (modified/unmodified files) working directory
02 staging area (temporarily stored files) staging area
03 Gt warehouse (submitted files) repo

Basic Git usage:

Configure a Gt warehouse:
Git init creates a Git warehouse and puts the current directory under Gt management.
Git clone clones an existing Git warehouse to the local
Git config and sets the basic configuration of Gt (such as email address and name).

 

 

Create a warehouse
01 Create in the current directory git init
Create in the specified directory
02git init <specified directory path>
03 Create a bare git warehouse git init --bare myrepo.git

 

 

 

 

 

 

 

 

Git multi-person collaboration/remote warehouse:
 

branch

01 View existing branches git branch Create branch
02 git branch<branch name>
03 Switch branch g it checkout<branch name> Create and switch to branch
04 git c checkout-b<branch name> Delete branch
05 git branch-d<branch Name> 

Default behavior for merging

When only executing g it merge, if fast-forward is possible, then fast-forward, otherwise non fast-forward merge will be performed.
During the non fast-forward merge process, an attempt will be made to merge the modifications.
If a conflict occurs that cannot be automatically merged, the conflict needs to be resolved manually.

 

 

 

 GitLab tools

Task management and planning:

Create Milestone in Group 

Split tasks in Group/Repo, establish Issue-related Milestones, set deadlines, and evaluate completion time. Pay attention to task plans during the development process 

 

Use of Issue

01 Issue in Group: not specific to the development of a certain part
02 Issue in Repository: specific to the development of a certain part
03 No matter which part of the Is$ue it is, it should be completed and closed 

 

 

 

 

 

3. Code submission, testing and auditing

 What are the requirements for submitting the code after writing it
? 01 A branch is associated with an issue, and one submission only does one thing.
02 The submitted content should be related to the purpose of the branch
. 03 The first letter of the submission information should be capitalized and associated with the issue.

Continuous Integration and Code Review
01 After initiating a Merge Request, the test will run automatically.
02 After the automated detection passes, we can conduct a manual review.
03 After the manual review, the modification can be approved, and then the merge can be completed by the MR sponsor or project leader.

 

Guess you like

Origin blog.csdn.net/weixin_48060069/article/details/132452667