Reports
Technical writing is an important skill for any software engineer. While agile methodologies generally emphasize working code over documentation, this does not imply documentation is lacking value. Documentation is an essential part of communication with the various stakeholders in your project. Documenting requirements, for example, is used to confirm your understanding of your clients' or customers' goals. Explaining technical design decisions ensures that teammates and other collaborators understand how their efforts fit together. Reporting successes and analyzing failures helps you and your organization grow and improve.
For this class, you will incrementally produce a report detailing various aspects of your work. To assist with this task, we provide a template you can customize for your project. Each week you will fill in sections of the template according to the deliverables for the week. You should also take time to update any previously written sections with new information.
The table below shows what report sections should be add or updated as part of each deliverable. E.g., the column labeled Design indicates that for this deliverable you will add the System Architecture section and update several other sections as necessary.
Section | Requirements | Design | Quality assurance plan | Results | Final report |
---|---|---|---|---|---|
I. Introduction | create | update | update | update | update |
II. Functional Requirements | create | update | update | update | update |
III. Non-functional Requirements | create | update | update | update | update |
IV. Risks | create | update | update | update | update |
V. Definition of Done | create | update | update | update | update |
VI. System Architecture | create | update | update | update | |
VII. Software Test and Quality | create (excluding test results) | expand (add test results) | update | ||
VIII. Ethical Considerations | create | update | update | ||
IX. Results | create | update | |||
X. Future Work | create | update | |||
XI. Lessons Learned | create | update | |||
XII. Acknowledgements | create | ||||
XIII. Team Profile | create | update | update | update | update |
References | create | update | update | update | update |
Appendix A: Key Terms | create | update | update | update | update |