What Happens During the Design Phase of a Software Development Project?

Issue No. 4

A software development project consists of the following phases:

  • Requirements capture (Interviews and analysis)
  • Design
  • Programming
  • Testing
  • Beta software installation Customer beta testing and feedback
  • Final changes
  • Installation of final software
  • Ongoing support

In Issue No. 2 and Issue No. 3 of Info Point, we discussed the importance of the requirements capture phase and what you can do to make that step successful. In this issue, we will discuss the design phase of a software development project.

Your consultant’s goal for the design phase is to develop a specification for a system that will meet your business needs and take into account time, resources, and cost. During this phase, your consultants assemble the information they gathered from you during the requirements capture phase. They identify what you need in a system, how you will use it, who will use it, what system you currently have in place, and how much of the current system you want to keep or change. The consultants will then design the system.

The output of the design phase is the system specification. The system specification is like a set of blueprints that the consultants follow when developing your system. And just as it is very difficult, inefficient, and costly to build a house without blueprints, it is very difficult, inefficient, and costly to build a software system without a system specification.

The majority of the communication you may receive from your consultants during the design phase may be questions to verify aspects of your requirements capture. It is important to make sure the design is carefully created, as a flaw in design can lead to a flaw in coding, which in turn can lead to a flaw in the system.

If you were constructing a building, you might be alarmed to see the roof being constructed before the foundation has been fully designed. In the same way, it would be unwise for the consultant to start coding the screens of a system before the basic structure of the system has been determined. All the modules of a system must tie together seamlessly, and if the screens are designed too early, they might not link well with the rest of the system.

The requirements phase determined what functions you need your software system to perform. The design phase shows how those functions will actually be implemented in the system. Read the system specification very carefully. The design may need to go through several iterations to ensure the system specification describes a final product that will successfully meet your business needs.

Designing Your Computer System

The consultants develop several aspects of your system during the design phase. The consultants:

  • determine the overall, high-level design of your system. This part of the design gives an overview of the entire system.
  • decide what they will use to create your system, that is, the software and hardware, the standards and conventions they will use on your project, and the style of your system.
  • develop a program design. During this part of the design phase, the consultants break down the system into pieces that can be programmed. Breaking down the system into manageable modules also makes changes easier to implement. As we discussed in Issue No. 3 of Info Point, sometimes you need to make a change to your specification no matter how successful your requirements capture phase. Small modules allow changes to be implemented more easily. Modules also assist in efficiency and consistency; a well-designed module can be reused in multiple parts of the system saving time and also ensuring that the same feature of a system looks and performs the same way throughout the system. And during this phase of design, the consultants determine how the different modules will interface to present you with a coherent system that is easy to use.
  • determine how the new software system will interface with any existing system you may have. During the requirements capture phase, you indicated whether you had an existing system and which features of it you wished to continue to use in the new system. Depending on the project, these features may be retained, but re-programmed, or the new system may interface with the existing system to access the features you wish to retain.
  • decide how the system will be tested. The consultants decide on a test methodology and design and develop a test plan.

In addition to designing the actual system, during the design phase, the consultants:

  • estimate resources so they can develop a schedule and cost estimate.
  • determine whether documentation will be needed for the system and how it will be developed.
  • develop plans for system installation and training. The consultants decide on a test methodology and design and develop a test plan.

The design phase should produce a system specification that has addressed each feature identified in the requirements phase and should indicate how that feature will be implemented to ensure maximum ease of use and effectiveness. You should be able to read the system specification and know what you will receive when your software development system is delivered to you.