Posts

Showing posts from September, 2012

How to Write an Effective Design Document

Image
How to Write an Effective Design Document Why write a design document? A design document is a way for you to communicate to others what your design decisions are and why your decisions are good decisions. Don’t worry if your design is not UML compliant and don’t worry if you didn’t use a special modeling tool to create it. The biggest factor that determines if your design document is good is whether or not it clearly explains your intentions. This presents a problem, however. In order to convey design decisions, you have to consider the audience that you are writing for. A peer developer will understand why a well-crafted class abstraction is a good design, however your manager will probably not. Because your peer developers and your manager have different concepts of what makes a design good, there is a need for two design documents; one for peer developers and one for managers. Each document serves a different and equally valuable purpose as you begin your project development. I

Technical design document template

Technical design document template   1. General 1.1. Project general description 1.2. Solution general description 1.3. Guidelines from the functional design 1.4. Development guidelines. 1.4.1. Best Practices. 1.4.2. Standards. 2. Architecture 2.1. Physical architecture          2.1.1. Diagram 2.2. Logical architecture          2.2.1. Application server architecture          2.2.2. Services server architecture          2.2.3. SharePoint / Web architecture 3. Database 3.1. General description 3.2. Tables list 3.3. Database diagram 3.4. Views 3.5. Stored procedures 3.6. Triggers 3.7. Jobs 4. Infrastructure 4.1. General 4.2. Logging handling 4.3. Auditing and tracing handling 4.4. Exception handling           4.4.1. General           4.4.2. Custom Exceptions 4.5. Monitoring 4.6. Data Access           4.6.1. General           4.6.2. Typed Datasets 4.7. Common           4.7.1. Common Enums           4.7.2. Common Objects