Discussion on software development process and project management

Source: Internet
Author: User

I have been working on software for several years. I will learn other people's experience, experience in the project, and summarize the Training gains.

Demand phase:
First, we need to clarify what problems are solved after the software project is developed? The core issues to be solved must be clarified. In the future, the key design can be used as the highlight of the software. Who are the end users of the software? Are there several types of users? The target will be clear during user interviews, which is also one of the sources of stakeholders of the project.

Interview plan: Format example


User interview Plan (example) I. Interview Content Overview

1. Business Events: tax-related business acceptance

2. Understand the entire process of tax-related business acceptance, user characteristics, input, output and processing points, data volume, etc.

3. Understand the main interests of upstream (taxpayers), handlers (window staff), and downstream (tax-related business reviewers) of the business event.

Ii. Interviewees

1. Position: tax-related window staff

2. Name:(Entered during access)

3. Contact Information:(Entered during access)

4. Other related information:

Iii. Interview plan problems

1. Basic Information

(1) how many employees are there in each window and how is the computer configured?

(2) briefly describe your work process.(Scenario)

2. User Environment

(1) What systems have you used before? Which systems do you feel are easy to use and are not easy to use?

(2) In a previously used system, which of the following provides more effective user help?

3. process issues

(1) What are your main responsibilities? -- What types of tax-related businesses are processed?

(2) After your processing, who will be passed in the next step, what content will be delivered, and in what form?

(3) how to confirm whether the application is accepted? What is the basis?

(4) How can we determine whether it can be "handled" or "handled?

4. Data problems

(1) What materials should be submitted for each business?

(2) What forms will be completed during acceptance?

5. non-functional issues

(1) How many tax-related businesses do you generally handle in one day? When will the maximum number of times be reached?

(2) How long does it take for you to process a business?

6. Other problems

(1) What are the greatest difficulties in my work?



Methods and Techniques for on-site Demand Survey: record key points at any time, hand-draw business processes on the spot as much as possible, and confirm to the relevant users that the understanding is correct. First-hand information obtained from the survey needs to be processed to clarify functional requirements, constraints, and other non-functional requirements, such as system response time. Do not ignore non-functional requirements, this may have an impact on the entire architecture of the system software and hardware. For example, how many end users of the software are there? How many potential users are there? What is the concurrency? If you know what kind of system architecture is used to meet this performance requirement, do you need to design a cache module separately? What kind of hardware is recommended for customers. The functional requirements should be able to identify potential changes to the business, and then consider whether the design pattern needs to be used or designed to be configurable to cope with such changes. Before the project is officially started, the customer needs to sign the checklist according to the function corresponding to the case document as an appendix to the contract. After the project is launched, the customer should avoid endless demand changes and questions from the customer regarding the functional integrity of the software, this checklist document is required.

Design phase:The outline design can be done by a project manager or technical director,
However, the detailed design allows developers to participate in a smaller project. For a larger project, developers can be divided into several groups, and each group selects a team lead, participate in detailed design in the form of group division. Each person or group submits their own design results and holds regular meetings to check and correct the design results under the guidance of the Project Manager, the Project Manager unifies controversial areas of design (this is not suitable for super-large projects with hundreds or thousands of people ). For example, several questions can be raised at the meeting: 1. Do design documents strictly follow the format requirements? 2. Does the design have functional completeness, which reflects all the use cases? 3. Have user input been validated effectively? 4. Is the design of classes and databases reasonable? The advantage of doing so is to increase the sense of participation of the project personnel, help developers not only better understand the needs from the global perspective but also from the details, and promote the exchange of experiences between project members, to promote the maturity of project members, there is also to reduce the risk of personnel changes; and in the development phase of the WBS, the bottom-up approach is more accurate, where the workload and completion time are estimated by the design members and developers themselves and submitted to the project manager. When you understand the requirement to a certain extent, for example, a module has been basically confirmed, you can design the UI, which is very helpful in confirming and refining the requirement with the customer, it also gives users an intuitive understanding of the software interfaces used in the future, which can greatly shorten the front-end development time for programmers during formal development.


Development phase:The code is developed in strict accordance with the WBS schedule and requires checkin code every day after work to ensure that the code in the code library can run on a daily basis. Find the key path of the project based on the MS-project and pay attention to it. If the architecture is multi-layer, one person can be deployed on each layer (with experienced programmers), and the code at the review layer is responsible for every day to ensure code standardization, it seems that the code is written by the same person. Based on the previously designed UI, the development phase can greatly reduce the workload of developers. Developers only need to apply the UI. If possible, ask the customer to observe the development results on a regular basis, which is a kind of supervision for the project and can ensure that there is no big deviation.


Test and launch maintenance:Unit Testing is essential for developers in daily development. Every day, they should perform unit testing after the day of development, and then submit a runable version to the Code server. To ensure the quality, you must have a dedicated person to perform integrated testing. All tests must be strictly dependent on the test cases formed by the case documents. The integration test must be performed on a stable version, which is separate from the version of the Code submitted by the developer. Developers cannot test this version while still checkout, the code of the same checkin version. It is best to use a defect management system such as Bugzilla during testing.


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.