Version 2 (modified by 14 years ago) ( diff ) | ,
---|
BluePrint: BluePrint
What is a BluePrint?
We use !BluePrints to capture ideas, requirements and design options for Eden components. This can start with a simple User Story (or a full Use Case)
It can then be mocked-up using Wireframes, using tools like:
- Dia
- Balsamiq
- GoogleDoc's new Drawing functionality
BluePrints can be used by yourself or other contributors to:
- develop and evaluate solutions
- develop test cases
- write documentation
Typically, a BluePrint would 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 iterations. You can just start with some bullet points, discuss the idea with others and then elaborate.
Tipp: keep the BluePrint as clear and simple as possible
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
Description
Start with a description of the solution you have, remember to include:
- an introduction of the problem
- a description of the stakeholders
- overview of the architecture of the solution
- important functionality to be implemented
Requirements
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.
Use-Cases
Describe the use-cases of the solution in detail, typically including:
- actors and use-cases
- activities (work flow) from the user's perspective
Tipp: a simple, fast and multi-platform tool to draw UML diagrams is UMLet (Java-based UML drawing tool).
Design
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
It is absolutely reasonable (in fact - desired) to have alternative design options.
Implementation
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