Reduce Software Defects by Creating Solid Detailed
Designs
In this month's newsletter, we discuss tips for creating solid detailed
designs. According to the Standish Group, only 16% of all software development
projects are delivered on-time and on-budget. A staggering 31% of projects are
cancelled before they ever get completed. This
newsletter will aid you in creating solid detailed designs as to reduce time and
cost overruns.
|
Newsletter
Sponsored by Software Planner |
This newsletter is sponsored by
Software Planner:
http://www.SoftwarePlanner.com
Software
Planner is a project collaboration tool that allows you to manage all phases
of your software development. In the initial stages of the project, it
allows you to post functional specifications and post project related
documents (like meeting minutes, client proposals, etc.). As the project
progresses, it allows you to post baseline documents (like detailed designs
and project plans). As development proceeds, it allows your project managers
and developers to track project deliverables.
The developers can update
the percentage complete for all items assigned to them. Once testing begins,
it allows your testers to create test cases and track software defects.
Developers are automatically alerted, by email, as defects are assigned to
them. Team members are alerted as new documents are uploaded or re-uploaded
(like project plan updates, etc.). And each person has the ability to
control the email alerts they wish to receive. Use the discussion forums to
communicate all issues with clients and project team members. Keep your
appointments and to do list on-line and updated at all times.
Try Software Planner FREE for 2 weeks. |
Tips for Creating Solid Detailed Designs
To deliver software on-time and on-budget,
project managers must be able to understand exactly what has to be delivered to
adequately estimate the project. Once solid customer requirements
have been created (see
last month's newsletter for tips on collecting solid requirements), it is
imperative to understand the effort needed to deliver each customer requirement
item. The most reliable way to do this is to create a "Detailed Design".
The detailed design document allows your development team to thoroughly think
through the development approach, and to determine the effort involved in
delivering each functional specification item. Below are the keys to successfully
creating detailed designs:
- Document your Architectural Roadmap - If your company has not done
so yet, document your architectural roadmap for delivering solutions. If
you wish to see a template for doing this, go to
http://www.pragmaticsw.com/Pragmatic/Templates/ArchitectureOverview.rtf.
- Create a Prototype - If a prototype was not created during the
customer requirements phase, create a prototype for the feature to ensure
that your developers and your project manager agree that the technical design
meets the customer requirement. You can quickly create a prototype using
Front Page or any other HTML editor. If there are buttons on the page,
explain in detail what will happen (from a technical perspective) as the
buttons are clicked.
- Specify the details of each function -For example, if you are
creating a detailed design for a logon screen, you should have a section that
describes exactly what will happen when the Logon button is clicked. It
may describe that you will call a business object to validate the userid and
password and if it is incorrect, an error is raised (specify the exact error
message). It may further specify what objects will be used (like common
objects to validate email addresses, etc).
- Specify "Other Design Considerations" - When implementing solutions
based on customer requirements, you should specify if there are design
considerations outside of the norm. For example, you may specify that
the software under the current design will work with IE and Netscape versions
6 and higher. You may also specify that no localization will be done,
the user interface will support only the English language. These are
examples of "other design considerations".
- Break the Design into Tasks and Provide Estimates - As the
developer specifies the design for each feature, a list of tasks that must be
performed to complete each technical function must be identified, along with
an estimate of how long (in hours) each task will take to complete.
- Have a Team Design Review - Once the detail design is complete,
have the technical team review the design (and estimates) to ensure that the
developer covered all the bases. Many times these design reviews bring
up ideas that allow you to reduce the effort with a more elegant approach.
This approach also allows "other design considerations" to surface and be
discussed.
- Get Developer and Project Manager Signoff - Have your developer and
project manager sign the detail design document so that you can later refer
back to it, showing that both parties agree to the approach.
As you can see, creating solid detailed designs can ensure that your
projects are delivered on-time and on-budget, allowing your project manager to document
the tasks needed to deliver each customer requirement. Below are some
helpful templates to aid you in creating solid detailed designs:
|