Software work summary

Source: Internet
Author: User
I recently saw the following on the Internet. I feel that it is of great value to developers who have less experience, so I will post it and hope it will be helpful to new users.

Problems Existing in the development of the previous phase and improvement suggestions (the problems mentioned below will be encountered in any software company, so it is normal to appear. After today's discussion, we recommend that you avoid it in future team operations)

1. The pre-development requirements are unclear, which leads to unclear design purposes. Developers are often confused by requirements. testers also propose some requirements and suggestions, therefore, it is difficult to change it.
Improvement Method: it is difficult to make the requirements completely clear, but it should be as clear as possible in terms of local relatively independent functions. For example, it is possible to specify the information required for registration, the controls used for each form, the scope, the fields displayed in the list, and the conditions required for query, in this way, half of the demand suggestions or bugs can be removed during subsequent tests.

2. The original system was standardized but not well executed. Since the team was founded, no one strictly controlled each person.CodeThere are a lot of problems with specifications, file storage, naming, and so on. The result is that the time for code modification is longer than that for code writing.
Improvement Method: the project leader needs to check the member code every day to ensure that the daily code is relatively standard.

3. The design should be careful, so we should have enough consideration and discuss with the team. The structure and fields of some database tables in the original system are worth discussing. If you can discuss them in the early stage, many problems may be avoided in later refactoring.
Improvement Method: No one can design perfect things at a time. They need to communicate with customers in a timely manner, including feedback from customers and discussions with other project team members, this helps reduce the risk of deviation from demand during development. That is to say, the question before development is based on the idea of the designer, the confirmation of the customer, and the understanding of the developer.

4. due to unclear division of labor during development, each page may be modified by all the people on the team. In fact, the risk of problems is very high. It turns out that the database stored procedures are handled by a dedicated person, so there are few unnecessary bugs, many of the issues on the UI Layer are actually caused by the fact that the latter does not know the code meaning of the former (the necessary comments are the minimum habit, and the loosely coupled code is a better code style ).
Improvement Methods: The data layer, logic layer, UI Layer, and the Division of UI functions all need to be accountable to people.

5. There are a lot of repeated codes in the code, and maintenance often changes a bug, but the same problem occurs on the other. This is obviously a disaster of repetition.
Improvement Method: during development, as long as the code is repeated, you need to consider whether the function can be extracted and stored in the appropriate class (including page HTML duplication ), it is strictly prohibited to use Ctrl + C to Ctrl + V. This method of avoiding repeated code seems relatively troublesome, but it can greatly reduce maintenance risks.

6. The plan cannot be completed on schedule for roughly three reasons: 1. The plan is unreasonable; 2. The personnel are not busy; 3. delays due to other unplanned reasons
Improvement Method: the plan preparation project leader should discuss with the relevant members to determine the Plan completion date. The plan preparation time should be scientific and reasonable. If so, the relevant members should finish the plan as soon as possible. If there are special reasons, for example, technical difficulties and unexpected delays require reasons. The team lead and members will discuss the resolution time together to ensure that the overall progress is not affected.

7. In the early days, there was no stored procedure test, unit test, and page test. Due to unknown requirements, the tester was both a tester and a requirement proposal and suggestion.
Improvement: full participation of testers is required in the requirement formulation process to ensure sufficient understanding. Perform test cases on the requirements during testing to determine whether the development is completed or whether there are any Errors Based on the requirements.

8. In the early stage, the page layout and style were chaotic. There were 5 types of HTML statements such as center and bold, and the list display were everywhere, which made it very difficult to reconstruct the page later.
Improvement Method: The artist should intervene after the requirement is formulated, design the page, and then.. Net aspx pages must be handled by a dedicated person. All styles must be completed in a unified manner using CSS. Form Verification and page Jump must be completed before development (or even testing is best ), this requires that the interface designer (either an artist or an architect or an expert on the Interface) fully understand the requirements.

9. The project plan and management are mainly delivered via email and verbal communication, and cannot be tracked later. As a result, the schedule is unclear, and the personnel work efficiency is not high enough, sometimes very tight, and sometimes very easy.
Improvement: a project management tool, such as VS 2005 team system or other project management systems, is required. Each person's work and tasks should be reflected in the plan, arrangement and adjustment, relevant persons in charge, and delayed remarks should be recorded. This allows developers to maintain a long-term and constant development speed.

In short, some problems occurred in system development due to the lack of team members, unclear requirements, unfavorable implementation of regulations, and incorrect plans during early development, but some time later, therefore, reconstruction has achieved a lot of results, but the so-called cutting-edge workers will be much better if the preparations in the early stage are sufficient. Due to the time relationship, it is impossible to make a very detailed design in the early stage. In fact, even if a detailed design is done, it may be ineffective due to a change in demand, therefore, you need to write code with good maintainability, scalability, and reusability to better adapt to changes.

Finally, the software Master Robert C. Martin'sFamous sayingShare with you

Individuals and interactions are better than processes and tools
Software that can work is better than comprehensive documents
Customer cooperation is better than contract negotiation
Responding to changes is better than following the plan

Although the right item is also valuable, we believe that the Left item has greater value.

 

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.