|Version 30 (modified by 9 years ago) ( diff ),|
Blueprint - Template
Table of Contents
Although BluePrints may begin as a rough collection of ideas, ideally they should be developed into formal documentation to support the development of features and requirements. This will contain the following sections:
Section Contents Description Introduction into the problem and general description of the suggested solution Requirements Outline of the requirements Use-Cases Descriptions of use-cases of the suggested solution Design Suggestions for the design of the solution Implementation List of existing implementations
BluePrints are developed collaboratively and in several iterations. You can just start with some bullet points, discuss the idea with others and then elaborate.
Tip: keep the BluePrint as clear and simple as possible
Start with a description of the solution you have in mind, remember to include:
- an introduction of the problem
- overview of the stakeholders
- overview of the architecture of the solution
- important functionality to be implemented
Tip: involve the stakeholders you have named already in the development of your BluePrint.
Describe the use-cases of the solution in detail, typically including:
- actors and use-cases
- activities (work flow) from the user's perspective
Tip: a simple, fast and multi-platform tool to draw UML diagrams is UMLet (Java-based UML drawing tool).
Outline requirements for the solution, typically including:
- Functional requirements
- Non-functional requirements
- Applicable standards
- System Constraints
- Interoperability Aspects
If you include links to external resources, please remember to describe what (contents+format) they contain.
Describe the possible design of the suggested solution, typically including:
- data model (e.g. EER or class diagrams)
- interaction models and sequences
- screen mockups and wireframes
- code samples
Tip: it is absolutely reasonable (in fact - desired) to have alternative design options.
Append a list of implementations of this BluePrint, each including:
- a brief description of the implementation (date/time, name, design options chosen)
- a link to the code
- list of deployments of the implementation
- links to case studies
- short analysis of achievements/problems
Links to external resources
Copy and paste this into the wiki editor, then fill in the sections:
= !BluePrint: <Name of the solution> = [[TOC]] == Introduction == <Introduce the problem the solution is meant for> <Explain why this could be relevant for Eden> == Description == <Briefly describe the solution, e.g. start with a user story> <Name existing solutions, e.g. in other applications> == Use-Cases == <Describe actors and use-cases> <Describe workflows> <Include diagrams where useful> < A <type of user> wants the system to <do something for them> so that <can achieve a goal>. > == Requirements == <Outline the requirements here> <Group requirements in subsections, e.g. functional, non-functional, interoperability etc.> == Design == <Describe a possible design, repeat any design sections for alternative designs> <Include diagrams, screen mockups and wireframes where useful> == Implementation == <Leave open for a list of implementation> == References == <Links to external resources> ---- BluePrint
Eden Development Model
- We could look at following a Behaviour-Driven Development style to formalise requirements whilst still being Agile (e.g. using tools like pyspec or PyFIT).
- Joel Spolsky has a good write-up on Why to write Functional Specs & How