Domestic Software Engineering Means (2003.1)

zhaozj2021-02-16  47

Software engineering tools available in the current software development project group

HUANGJIEN@163.net

2003.1

Software Engineering Means available in Domestic Software Development Project Group --- 1

1. Preface 4

2. Demand Stage 4

CCB (Change Control Council) 4

Demand review, incorporating baseline - 5

3. Project Plan 5

Choose the right software development lifecycle - 5

Division stage - Xiaomi - 6

Decide Work Products and Include Middle Work Products - 6

Project work decomposition - 6

Estimate

Clear responsibility - Team Construction - 7

Conventional communication method, channel - 7

Standard Development Discipline, Specification - 8

Risk estimation and preparatory response plan - 8

CCB Review Project Plan - 8

4. Design phase 8

Periodic internal review and walking - 8

Project Tracking - 9

Change control - 9

5. Coding stage 9

Return the work estimate, there is necessary to revise the plan - 9

Standard development and training - 9

Periodic Test - 10

Create or Day Creation - 10

Project Tracking - 10

Change control - 10

Version control - 10

6. Test phase 11

Develop rework standards and reaffirm discipline - 11

Day creation - 11

Change control - 11

Version Control - 11

Project Tracking - 11

7. Project closed 12

8. Other 12

Select Project Manager - 12

Execution - 13

Evaluation of current popular technology - 13

1 Introduction

To better develop software, some software engineering methods and methods must be introduced in the project group. This article discusses some means and methods that a project manager should be able to implement in the project team regardless of the company's circumstances; of course, the company has a more feasible, more ways to choose; here is only the worst Methods can be employed in the case.

This article lists some methods according to each of the simplest waterfall modes, and should be employed in other modes.

It must be pointed out that this is an analysis and summary for the current situation; this paper (V1.0) completion time is January 2003, the validity period is about half a year. Limited to personal cognition, I hope to get the correct and supplement. Plans a new version every half year, I hope that China's software engineering technology can develop rapidly, so that there are many new things each time. In addition, what is said herein, of course, is China's domestic private, private, state-owned enterprises and institutions and some foreign countries, but no foreign-funded software enterprises have developed specifications, disciplines and management systems. Because many foreign companies experience, the method is very good, but there is no corresponding system, cultural support, and it is not possible. For example: Microsoft's development, test synchronization, day creation, etc. So many money, people and cultural atmospheres. Therefore, this article does not introduce the methods of Microsoft, IBM, HP, Motorola, etc.; The method described in Software Engineering can only have a small portion to be partially, conditionally used in domestic projects - this article is to introduce these methods or means, and their use characteristics for everyone to choose.

2. Demand phase

The management of demand should be throughout the development process, often the biggest problem is to change out of control. The methods available in demand acquisition, discussion, analysis, etc. are:

CCB (Change Control Council)

Establishing a CCB (CHANGE CONTROL BOARD) is the premise of demand management, otherwise demand management will become an empty call.

The CCB must include the customer's decision-making person, the project manager, the project manager leaders, key designers, test leaders, SQA., Etc., is suitable for about 5-7 people. Demand confirmation, changes such as changes must be approved by the CCB.

CCB has the highest power for the entire project (not only responsible for changes, but also important decisions such as project manager report, key intermediate working product reviews)

Here, you need to focus on the review. The review is an important symbol of formalization development. The common ways are currently: peer review, team review, take-out. As needed, you can use a meeting.

Demand review, incorporating baseline

The original demand must form a document and is reviewed by the CCB and then incorporates the baseline management. All changes require CCB reviews.

The general step of the review:

The project manager puts forward the subject, pointed out that the affected, involved objects, the impact of assessment (mainly brought about the scale, workload, cost), proposing plans and plan executives, and raising possible risks;

CCBs to decide whether to agree or require the project manager to modify the above item;

After that, the project manager submits the implementation report.

Finally, the CCB specifies the representation or verified by SQA.

If it is too small, too many, We will be reviewed.

3. Project planning phase

The project plan is a guide or script, in fact, at every stage, it should be re-, small scope will be revised.

Choose a suitable software development lifecycle

Regarding the choice of life cycle, there will always be a lot of controversy. At present, the most domestic use is the life cycle of pure waterfalls; personal opinions are: must have better choices, but this is the safest, least in actual controversial choices.

The main points for choosing the right life cycle are: There must be a statement of the reason. Be sure.

In addition to mainstream mode, some "lightweight" methods are also worth considering, currently mature, partially used:

XP (EXTreme Programming, also become "mainstream"), points are: Communication, Simplicity, Feedback, Courage

ADAPTIVE SOFTWARE Developments

Cystal

Scrum

FDD

The general project manager may not easily adopt these unfamiliar patterns, but learn from some of these good methods and ideas.

The worst is not to choose any mode, come up with Code & FIX; or degrade into Code & Fix under progress pressure.

The occurrence of Code & FIX must be responsible for the project manager: a situation is not managed or managed; there is no change in the coding or testing phase demand; the demand analysis, the design failed, of course, only Code & FIX.

Division stage - small milestones

According to the selected lifecycle model, consider the people who can be invested, the various development phases will come out. The end of each phase must be a milestone. If the milestone exceeds a month, then choose the right point as a small milestone every after a month.

For each milestone, the project manager should submit this stage of work report, which should generally include:

The statistics and estimated values ​​of this phase and the cause of their differences

Work product completion

Demand change statistics

Question and its resolution statistics

Summarize the advantages and disadvantages, pointing out the impact on the next step

CCB listened to the report and evaluated this phase. The small milestone can prevent project out of control, allowing project managers, project groups and management to correctly recognize project progress, and assist project development, strategy, and project visualization; avoid project problems.

The milestone should be defined, the result of an easy check, it is only completed / unfinished, and it cannot be embarrassing.

Decide work products and intensive products

In the most confusing project, work products and intermediate working products are not defined, or can be met, add or remove products. Determine working products and intermediate working products, in order to determine the importance of each product, calculate its workload to enroll enough, suitable personnel to develop it.

Project work decomposition

Generally, the system is decomposed into modules or even more details, and the project manager or analyst is determined according to the actual understanding and humanity of the project product; an advice: began to do fine, be careful, The work will be much easier.

The average person only disks a product. In fact, management should also decompose, and it is more likely to work.

The principle of working decomposition is that each work package must be broken down to 5 working days or a working week, at least all the work that is about to conduct must be broken down to this standard; otherwise, project tracking cannot be performed and the project is easy to lose control. As for forward work, it is not necessary to decompose for a while, but it is necessary to divide some work segments as much as possible.

estimate

It is estimated that it is often ignored, as the estimated result is often seriously exceeding the budget, which is surprising; or the result of shooting the head is too empty, it is insufficient. At the end, the result is often close to the original estimated number.

It is estimated that each stage is performed as part of the update plan, and each new estimate will be more accurate.

It is estimated that experienced people should be selected and should be selected.

The estimated result should be used to guide the planning of the next stage, even if it is not officially acceptable, the project group should not forget these numbers, and the time is used as a reference. "The project manager needs a straight waist, insists on their estimation, convinced that your experience and intuitiveness are more stronger than those who have gave birth to their results."

The current main problem is to lack historical data and make estimates lack the basis, but we don't start, you will always be like this.

Clear responsibility - team building

The number of people in the project team has more than 7 people, and the team should consider the team.

Establishing the ultimate goal of the organization is to determine the channels of communication; limit the scope of responsibility and the humanity division is to control disorder, and the number of out-of-control communication; rather than let some of the people have much higher than us.

Based on project features and personnel features, the right mode should be selected to form a team to develop, and everyone should have clear responsibilities and work.

Minimum, everyone should have clear responsibilities and work.

Continuous communication, channels

Establishing communication channels This can be enabled, but it is necessary. Communication channels should be open, smooth. For each person, the leadership, reporting methods, reporting methods, and ways to report the leadership, conditions and methods reported by the report.

It is recommended to carry out project logs, weekly report systems, and specific methods can be referred to PSP, TSP. The main point of the system is that the log is first responsible to himself, cannot be used as a basis for evaluating employees, which is a member "open privacy." If you are required to fill an 8 hours a day, there is no meaning; in fact, in our own project group, according to the log, no one has more than 35 hours per week, and the average is only about 28 hours - of course, You can still see that they are very busy every day, sometimes overtime. Other people can not record the log, but the project manager must record, just like the captain to navigate the sea log every day.

The weekly system is the most feasible software development management means this paper. 1-1.5 hours per week, everyone briefly reports this week's work and next week's work, the problems and difficulties in work, at this time, he will get the recommendations and help of the entire project team; the project manager can confirm Project progressive; team atmosphere is strengthened. If there is still a lot of surplus time, the project team can discuss development technology, skills, and conduct some technical exchanges. In short, insufficient communication is a big problem in software development, the more serious the big project.

Standardization development discipline, standardization

No rules, no standards. The project team must have some discipline and cannot be completely reliable.

In this regard, there is company culture, atmospheric, the atmosphere is the best, otherwise some rules should be formulated.

This is also an important part of the team.

As for the development specification, depending on the project, the point is: must be, even if it is not perfect!

Moreover, you should open public and publicized as soon as possible.

Risk estimation and preparatory response plan

Risk estimates should be performed at each stage, usually based on risk lists, everyone is estimated.

In fact, everyone fully recognizes the situation and potential difficulties of the project.

This matter, it is always better than it is not good.

CCB Review Project Plan

The project plan must be recognized by the CCB conference, otherwise there will be such a problem!

4. Design phase

Periodic internal review and take-out

At this stage, the purpose of periodically internal review and walking is more for communication, check whether the modules can collaborate, have contradictions and omissions, as a strong supplement of ordinary informal communication, everyone can take a long-term supply, brainstorm, a few Personal head is better than a head; the second purpose is quality control. The third purpose is the control progress.

According to the above features, the review should naturally adopt a conference method, maybe some people feel lengthy, dragging, wasted some people unnecessary; but this way is very good, it is worthwhile; as for the organizational meeting, generally Project managers should make more brains and mobilize everyone's enthusiasm. Some people will use Checklist's way, my experience is: this way has weakened the communication, and the support of a good system is required, otherwise it is easy to walk form.

Project Tracking

After the project is planned, the project tracking work begins. Tracking tables should be filled in every week so that problems in the project will be found in time; and it is best not to use Project to track, but make one or find the right software. It is generally developed according to the project plan, with the following content: task package, scale, workload, progress, actual scale, workload, progress, and two errors and cause analysis.

How should the percentage of the task package completed? The standards that can be used are: If you just listen to members, there is no 100% of the completion of 0%. It is the principle of 0-100; listening to members report, I have read the work products, it is 0-50-100 principle; carefully If you have checked, you can refer to the member's report and fill in the principle of 0-25-50-75-100. If a 5 working day work bag, write 43%, it is not there.

The results of the project tracking are used to analyze the progress of the project, the milestone report, and be sure to be true.

Change control

The specific means of change control, please refer to the principle of the demand phase. At this stage, it is generally only the need for unreasonable demand, or requires change to design contradictions. Some non-baseline changes do not need to be so strict, meaning that there is no need for a CCB review, but the project manager should decide whether to convene the relevant personnel in the project group according to the actual situation.

At the same time, everyone should develop habits that comply with changes in changes in this stage. 5. Coding phase

Return work estimate, there is necessary to revise

Entering the coding phase, the understanding of the project is very clear. According to the design, the number of line lines can be calculated. Retreating the work estimate, can better distribute the personnel to the technical characteristics and interest in the right, improve the enthusiasm of the project team; at the same time, the management can clearly recognize the real situation of project progress, and make the correct decision or avoid avoidance They make mistakes.

Standard development and training

The code of the encoding is now gradually gone, but it is still necessary to implement or develop coding standards in the project group.

The unified coding standard can make it easy to assist each other, and communicate, to lay a good foundation for the work, testing and other work.

After the coding standard is developed, we must first conduct training within the project group. However, it is said that it is training, it is better to discuss and unify the premise of the establishment of future enforcement and inspection. (Do not teach it, it is abuse, teachings, it is the same)

Periodic

According to experience and some statistics, the effect of the take-out is better than the test.

In contrast, unified coding standards is also established in the project group by a unified coding standard. My experience is: At the beginning, arrange 2 times a week, once a week, only one hour of one hour, the focus is the coding standard, followed by bug; everyone can learn the fine style of others, correct I have a shortcoming of myself; the entire project team is basically unified after two weeks. After this, you should focus on the program function, followed by bug.

Creation or day creation

This is Microsoft's home magic. It is recommended to use it in a possible situation. It is characterized by the occupation of at least one senior person, and the work is difficult to determine; the problem can be found more quickly, better control progress. Domestic enterprises have different experiences, there are not many successful cases.

Project Tracking

Project tracking is easier in this stage, because quantified things are more, the virtual thing is less. The basic method is the same as the previous stage. Through tracking, it is already possible to see that the modules are not designed in the previous stage.

Tracking must be analyzed and analyzed that there is a action.

Change control

At this stage, it is generally the development of some design errors when the developer is implemented; at this time, the project manager is required to strictly control, and the designer and developers are really needed to change, or the implementation is not a meeting designer the purpose. If you need to change, you should carefully study the impact range and evaluate the loss.

In this stage, later, with some products gradually form, the customer will make a change request; at this time, it should pay attention to the principle, and at the same time, it is necessary to do a good relationship. Of course, the first is the principle-CCB agreed to change.

version control

In fact, version control should be expanded when the project is started, but it is not necessary to do all project groups, and it is even more unhappy. However, in the coding phase, it is best to have a version controlled, and a good control mechanism can reduce a lot of unwanted work and even avoid some disasters.

Good version control is not from a good version control tool software, but the system of version change control and thus formed good habits. Establish a stipulate or specification of a text and ensure that it can be implemented to make the version control will not be in the form.

If you have a version control, it is recommended to implement MISRA RULE 10 - Do not residual waste code.

Common version control tools are VSS, CVS, and Clearcase in the Rational Kit, but use people that will be configured at all; when developed under UNIX, its own SCCS is also very easy to use.

6. Test phase

Develop rework standards and reaffirm discipline

A bad program is always constantly being modified, most of the test work is caused by a few programs that are completed by several programs or individual programmers. The continuous modified product will not become a good product regardless of how many times. Therefore, the program rework standard should be formulated, one can refer to the value of 15bug / 1000Line. Directly reached this standard, directly delete the program, requiring programmers to rewrite; the new program reaches this standard again, change people. Moreover, this provision should be strictly implemented - the premise is that this rule notifies everyone in the coding phase.

Day creation

The day creation of the test phase is simply forced, especially in the early days; otherwise the test is not going on.

However, pay attention to not losing the principle, and the version control is destroyed in order to drive.

Change control

The test phase is the most important time, pay attention to the principle, and to adhere to the CCB review. The necessary changes are required, but it is necessary to carefully evaluate its impact. Changes in a hurry have both destroyed the rules and often destroyed the product. Remember a famous saying: If the chef is long, it is because he wants to make the dishes better.

version control

If there is no good version control action at this stage, the test work will definitely feel; and this is the premise of day creation.

Project Tracking

Project tracking is most difficult at this stage. Because things are often trivial and intertwined together. The project manager is both by the referee, but also branches, but also to go in person when the coach, the captain is necessary. A good product, will not be a mess in the test phase.

However, it is necessary to adhere to the project tracking; accumulate data from this stage, in order to true evaluation projects, each member of the project group, the technology (including management technology) adoption, for the company, personal accumulation experience. So, although the project manager is very busy, it is very tired, there are many important things to handle, but it should still adhere to the project tracking.

7. Project

Project summary should be conducted when the project is finished, mainly to evaluate project products, the technology, management methods, advantages, disadvantages, and each member of the project group.

The data obtained by project tracking can be used as the basis for evaluation, but cannot be quantified as a quantitative assessment (grading or score), which can only be qualitative evaluation - a detailed text description. The summary purpose is to face new projects, rather than disciplinary, quantitative evaluations, for the next new task, there is basically no help.

How can I correctly evaluate and use people, still a management puzzle.

8. Others

Select project manager

At present, domestic software projects generally use project managers' responsibility system (although he does not lose this responsibility), the project manager is indeed the most important person in the project, and it can even be said to be the soul of the project. In this way, how the project manager chooses is very important.

At present, some company project managers have been separated from developers, specializing in project management, here is the approval of "casual" from developers as a project manager as a project manager.

It is undeniable that the project manager is specialized is a trend, but the current domestic project manager still requires a high business, the technical comprehensive level; this, many foreign companies are only very well resolved. Nowadays, the project manager has such several categories: I feel energy, technology can't keep up or need to be promoted, the technical staff of the senior (long?); From "master", sometimes passive It is located in this position; or there is a relevant certificate. Obviously, these people are not necessarily suitable as project managers; the existence of this situation, only illustrates the lack of current selection or selection of the project manager system, and is very random.

I have participated in a discussion on the conditions and skills of the project manager. The conditions are easy to list a lot: understand management, strong interpersonal ability, high technical level, business proficiency ... but go back and think: Have so good things, do you still do project managers? Or the project manager's treatment is at least to the president. Personal point of view is that the project manager should have a holistic understanding of the technology adopted, enough to make an important issue and implement inspection work, otherwise there is a possibility of overhead; the concept of management in the mind and controls management as the most important Tasks; knowing some management methods and means, the key is to have "ideas" to the project; and there is no one of the annoying people in the project group or company; in the end, of course, he is also willing to be this project The manager talented.

Some larger companies have done such an attempt to focus all project managers to a departmental management, and there is a project to choose a suitable responsibility, he can assist from other project managers or even department leaders. This is a bit like the structure of the Prussian military officer. The army consists of two parts: Staff Headquarters and combat troops; the staff headquarters made decisions and was transferred to the on-site commander of the dispatch. If the staff can unite carefully and coordinate, at least most of the decisions are correct; otherwise, the troops become "a group of lions led by sheep." From the results of the current trial, there is not much effect. But I think the problem is that the department is too emphasized to calculate the evaluation, performance, and the organization is too loose and each battle, the internal communication is insufficient, and there is no power to play a group. This method can effectively make up for the current weaknesses of the project manager in management and experience, still worth trying.

carried out

The use of the methods described above, it should be determined from the actual situation of the project group, the company; the actual situation of the project team, the actual organization of the project is very poor.

Methods should be implemented, do not take the form; walk form will only increase the workload, and there is a negative impact in the group. It can be considered more practical in the form, name, and more. Such as: CCB is new, but in fact, there are project leaders groups, project general control groups, coordination groups, and allow these organizations to play the role of CCBs. The role of control, project decision making. What is the name of the name? In my own project, the project group has only one CCB, but it is more than just a change control committee, or the project coordination group, a consultant group, and a project monitoring group. It helps the project manager to make decisions, provide suggestions, criticism and bear. Part of responsibility. One question: There must be an opposition in the CCB, and a group and gas are useless, and the project leader should also have an opinion.

Methods are implemented in the project group, which is not just publishing the command is so simple - this is the lowest energy management. There are two possibilities for an order to be implemented: First, there is a habit of performing this task, and the other is that there is obvious "interest" driver accepting the commander to complete the command. If you want to implement the above methods for the "new" method for the project group and the company, we must fully consider how to promote it, and be prepared to end it when the method is invalid.

Evaluation of current popular technology

转载请注明原文地址:https://www.9cbs.com/read-26848.html

New Post(0)