Ticker

4/recent/ticker-posts

Lead software development-avoid design mistakes.

 To avoid design mistakes in software development

Lead software development-avoid design mistakes

In software development, if you make a mistake in the design process or create a design document/specification that is difficult to understand, the rework cost will increase and it may become a fatal problem for the project. What should we keep in mind and how should we work to prevent such a situation?

This time, I would like to think about the points for reducing design mistakes in software development and creating easy-to-understand design documents/specifications.
 

Cases of inadequate design documents

  • Lack of communication and recognition discrepancies

The design process is between the "requirements definition (RD)" and the "development process (PG, PT)", and if the person in charge is different, the contents must be understood correctly.
If the content described in the requirement definition document is different from the actual requirement, or if the content of the requirement definition document is ambiguous and the designer interprets it differently from the original intention, the function may be omitted from the design. There is a possibility that the design may be incorrect.

  • Insufficient consideration

This is a case where some points must be taken into consideration to implement the required functions, but those points are not taken into consideration at the design stage. This can happen in other processes, such as forgetting to develop the necessary functions in the development process or missing test patterns in the test process.

  • Leakage or error in the contents of the design document

The design document created in the design process is used as an input for the post-process (coding process, test process, etc.). At this time, if there are omissions or mistakes in the design, contents, there are cases where development/testing with the wrong design or defects are discovered after release. Since the design document is used as the input content in the subsequent development/testing process, if you do not notice any omissions or errors in the design document, it may lead to a big problem.
 

Cause of incomplete design document

  • Designer's problem

The cause of the lack of consideration may be a problem with the designer, such as when the customer's system and requirements are not properly understood, or when the investigation is not sufficiently conducted.
In addition, there may be cases where consideration is omitted due to the wide range of responsibilities and the lack of follow-up in detail. A person in charge can't get a complete picture of the software, and if the load is high, work efficiency and work quality will deteriorate. Senior SEs and experts need to support the reduction of the workload of the person in charge and the follow-up of inexperienced engineers.

  • Review issues

A review of the deliverables of each process is always carried out, but if the review is insufficient, even if there is an omission of a description or consideration, it will not be noticed and it will proceed to the next process as it is. If a design error is discovered during the development/testing process, there is a problem with the review. In addition, there are omissions in the requirement definition document and omissions in consideration, which causes problems in the design process. In that case, there may be a problem with the review of the requirement definition document. In that case, the impact is widespread and you should check for similar mistakes in other designs.

Measures to prevent defects in the design document

As far as human design is concerned, mistakes are absolute, but it is possible to reduce the possibility of mistakes by taking countermeasures. The important thing is to think about and implement measures so that the same mistakes will not be repeated. Below are five measures to avoid design flaws.

  • Utilize design document templates

You can prevent design omissions by using a template that covers the minimum design contents.
The quality of the design document may differ depending on the technical capabilities of the designer. Also, in the unlikely event that a design error occurs, incorporating it into the template as a future measure will help prevent a recurrence.

  • Utilize the check sheet

It is also effective to use a check sheet to check whether the contents of the created design document are maintained at a certain level of quality. You can prevent mistakes by making sure that the contents that must be kept in common for each function and the contents that must be described are covered.

  • Observe the update rules when changing specifications

In order to make sure that the contents of the designed program and the contents of the developed program match, let's clarify the update rule when a specification change occurs.
If an update occurs due to a specification change or defect handling, follow the rule of "correct the design document first and then modify the program based on it". Leakage can be eliminated by making rules.

  • Improve the quality of reviews

By increasing the number of reviewers and increasing the opportunities for review when conducting design reviews, it is possible to check the design documents from various perspectives other than the designer and improve the quality. This also helps prevent design mistakes due to lack of communication and recognition discrepancies.
Since the created design document is based on an understanding of the requirements from the perspective of the individual who designed it, it is more likely that omissions and recognition discrepancies will be found from the perspective of multiple reviewers.

  • Utilize what has a proven track record

Quality can be improved by using proven products that have been used in many fields.
It is necessary to thoroughly check what is designed and developed from scratch, but if it already has an operational record, it can be expected to improve quality and work efficiency.
 

Summary

What did you think.

I hope you understand how important design is in software development. As long as people are designing, it is impossible to completely eliminate design mistakes, but it is possible to avoid mistakes by taking measures.

The important thing is to identify the cause of the mistake, take countermeasures, and accumulate achievements and know-how so that the same mistake is not repeated .

The more flawed the design document is and the later it is discovered, the bigger the problem becomes. To prevent this from happening, take appropriate measures in advance to prevent incomplete design documents and mistakes.

  
 

Thank you for reading this time as well.

Post a Comment

0 Comments