10 thousand of software development models zuzong is a waterfall

Source: Internet
Author: User
Case

Case 1

A company undertakes an e-government platform project, which is divided into two parts: "government office" and "government affairs open. With the cooperation of Party A, Party A helped sort out the national e-government management specifications and documents. The development cycle for communication is also relatively loose.

Party A has hired a supervisor; representatives from all three parties have set up a project control committee (CCB ). The company also assigned a long QA Team in the project team to assist in project management.

However, e-government is not the company's main business. The entire R & D team is the company's temporary recruitment establishment, about six people, mostly recent graduates, except for the project manager, the most experienced development experience is only two or three years.

In this case, which development mode should be used as a project manager?

Case 2

Shortly after the start of the project, Party A was notified to participate in the national e-government website evaluation before and after the national day of that year. The local supervisor hoped to perform the regional evaluation first in May. After the preparation is sufficient, prepare for the national evaluation. At this time, just after May 1, the total time for R & D is about four months.

After understanding the situation, the project supervisor submits a project change request to CCB, considering the frontend function first, and the backend is only required at the current stage. At the same time, apply to the Company from other project teams, draw technical backbone to the project team for assistance.

After negotiation, the above scheme is supported and the changes to the project scope and development plan are recognized. The company draws three old employees with years of collaboration experience to participate in the development of the team.

In this case, what development mode should I use as a project manager?

Case 3

Finally, the e-Government Platform project was successfully completed. The team members thought they could consider converting the project into a product. As a stable business, they suggested to the company and received support from the company's senior management. The company passed the internal review to determine the above ideas. The project manager is converted to the product R & D manager and is engaged in productization.

During the review, many questions are also concerned, as shown below:

The R & D manager considers that in project development, the program architecture is not flexible enough due to the time limit. After the product is made, the adjustment workload will be large and there are technical risks;

The company's senior management believes that the market positioning is still not clear enough, and large investment is not realistic. At this stage, we only need to try.

In this case, which development mode should the R & D Manager adopt?

Analysis

Of course, in actual development, the situations are different. In the same development cycle, it is normal to use multiple development models. Here, I will only list the main development models for convenience.

Case 1

First, the waterfall model is preferred.

In almost all software development models (except the waterfall model), "because of the traditional waterfall development ......", Then there are a bunch of problems with it. We have listened to many shortcomings, but few people are concerned about its advantages. In almost all software engineering chapters, when introducing software development models, the first one is "Waterfall", which shows the importance of waterfall models. I can say that the software development model wanzuzuzheng is a "Waterfall ". Other development models are created to solve the defects of the waterfall model, and no one can subvert the waterfall model.

Let's take a look at the above project situation. The biggest disadvantage is that the project team is not mature, and the technical strength is not mentioned first. There must be obstacles to new team communication, and the stability of the members is to be tested. The more new people leave the job, the higher the rate.

A famous saying goes, "new teams, new technologies, new product development, success rate close to zero ". WhileFor a new team, standardization management is the top priority.The waterfall model is easy to implement. Although it is not flexible enough to cope with changes in demand, in the above cases, the demand scope is relatively clear, the development cycle is relatively loose, although the details still need to be communicated, but the time can be used to compensate for the impact of changes.

On the other hand, Party A employs a supervisor and the supervisor will follow mature project process management methods. CMMS will be his first theoretical basis. Although programmers will think that documents are formal, the supervisor must.

Document-driven is the biggest feature of the waterfall model, its advantage and Its disadvantage.

Case 2

In the second case, the RUP model can be used.

When the R & D cycle is shortened, it does not mean that the supervisor will no longer supervise the project. He will still follow the project process management method, but may not be so strict.

The newly added three old employees not only improved their technical strength, but also effectively compensated for the lack of communication. Nine developers are already quite energetic. Although the demand details are unclear, the demand scope is clear. So,The biggest problem for team members is how to deal with the impact of unclear requirements.

The team members decided to advance their work as much as possible. For example, if you have specific requirements, you can start to design them. If you have specific designs, you can start to develop them. If you have developed them, you can start to test them ......, The entire process is still implemented in waterfall mode, but each link overlaps with each other, and each link is gradually refined through iteration. In short, you can figure out what to do first. Is this idea similar to agile development? No, it is not. This development model is a unified process (RUP ).

There is a difference between agile development and RUP. I will discuss it later.

Case 3

In the third case, the spiral model is recommended.

When a project is converted into a product, it will face many problems. The first is "technical debt". Rapid Development will cause a large amount of junk code. Although the Company Advocates restructuring, after the project is over, the backbone forces will be withdrawn and some Members will leave the company, it is difficult to have a chance to restructure the project. It can only be improved in the following workdays. This implies technical risks.

Coupled with the product-based market positioning, the uncertainty of marketing, and business risks will also be weighed by the company. The company will consider, first try it, if it is done well, continue to do, if it is not done, then make another plan.

In this case,Risk Control is the biggest problem in current development, and the spiral model is born to address this problem.

Each spiral process involves risk analysis, demand determination, planning, implementation, and evaluation. After a stage is reached, the risk analysis is conducted. If feasible, the next spiral is entered.

Note that every spiral is a small waterfall.

Postscript: refined to God, so that use

The above case is only for the convenience of understanding the characteristics of the development model, and many details are not covered. The key is to understand it to make more effective use of it. Different development models have special effects for different problems. I marked them in bold in the previous article. In most software engineering books I have read, these three development models are listed and very typical.

In addition to the above three development models, there are also fountain models, V-type models, Microsoft development models, and even prototype development models. However, I personally think that prototype development cannot calculate models, like agile development, it can only be regarded as a development method.

"Refined to the gods, so that the use (from the Book of Changes)"

Related Article

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.