It should be no surprise to everyone that development starts with drafting your idea and specifying your supposed software. Well, actually writing down a spec doesn't need to be the very first step. Maybe you want to write some code, write some exhaustive prototype, start fiddling with a UI. It all depends on the problem you are working on, but at some stage before writing a lot of code you should know what you want to do and ideally you have documented it. This can be a mixture of requirements, system design or user interface design. System Composer should be one of your tools, that makes the supposed system well structured and easily understandable.
Let's take a look at a practical example. The Spec for my tool Quality Spy consists of a rather long textual introduction why it is needed and which problems it should solve:
In the end, the system is summarized using an AFFI-Chart:
This content was exported to Word as it was defined in the System Composer editor:
Remember that specifications are always incrementally written as new designs and ideas evolve!
This specification is without any planning in mind. If we want to do some planning, we can do so using Break-It-Down.
It is generally considered a bad idea to do too much upfront planning, but probably some is needed some!
The cool thing is that you don't need to start from scratch, but can use parts of the specification. To do so, we export the spec to the clipboard:
With the following result…
My plan is pretty simple here. At first, I want to create a prototype. Everything else is completely out of scope of planning.
The heart of Break-It-Down is creating a high-level break-down and making a relative estimation and an absolute one. I estimated this prototype “L – large”.
T-shirt size estimation makes use of the human capability to be very good at making relative guesses instead of absolute ones.
(no tools provided for this stage)
Quality Spy allows you to create a test strategy and define and execute test plans. It's designed to execute this tests fast.
Before you start over coding you should launch a new Quality Spy project. Now, you're not going to test instantly, but think about your test strategy. If you answer the following questions you are forced to think about how you achieve your quality. Which can be anything from unit tests to black-box testing.
After some functionality is implemented, a test plan can be defined:
Test runs may be planned...
... and executed.
Finally, the summary of multiple runs can be checked:
Compared to existing tools, it is incredible simple and productive to use.
The Purple Box package provides assistance throughout the life-cycle of a project. But together they are no ALM tool (means: Application Life-cycle Management). The tools alone don't get you anywhere, but if you combine them with your existing toolbox they are pretty powerful and improve the development greatly.