At first I thought that versions might not be important for Sketchboard. Since Sketchboard concentrates creating sketches and concepts, not final products. Originally version control feature was added to the backlog due to “Three reasons why wireframing tools suck.” as a potential feature candidate. How wrong was I, there are many situations that versions are good for sketch diagrams and especially for concepts.
I still wanted to have a proof that it is important for Sketchboard users, not to implement a complex feature that is not significant for them. So survey was conducted. Among Sketchboard users that work with software, developers, architects, designers and managers voted version control feature to be the top priority feature. That persuaded me, and users are right, versions are important, especially when you work professionally with the diagrams.
Versions might be important in many situations. Think about Scrum planning meeting. How much better planning you will get if you sketch any of the stories. Stakeholders understand problems better and faster, you will get better quick analysis and developers have better understanding of the related tasks.
After the planning meeting snapshot the current version. In case someone wants to make changes later, you can always get back and see what has been changed. It is possible that somebody even accidentally removed something from the drawing.
By using versions, developers can see what has been evolved. Most of the times when multiple people throw ideas, there are lot of them and you need to cleanup and summarize those - when it is an important diagram. With versions you can cleanup/tidy ideas without losing original comments and sketches created at the planning meeting. Create a more focused and summarized plan that are easier to remember.
Later if you see a point, you can make versions during the implementation or after it. Like how concept started and where it ended. Perhaps only drawing and writing down what were the important decisions and why these decisions were made. Later someone can look up and see the red line and have a map for a complex feature.
An other example to version a diagram is to snapshot of an idea. Then make an alternative design to compare with. This is one of the places where digital diagramming tools are handier than drawing on a paper. You don’t need to start from the scratch and you can switch between ideas easily. In addition you can get feedback on different versions of a design. Currently Sketchboard doesn’t support commenting a version directly, but I can see how this would be important, what do you think?
Breakdown of Sketch Design
Following Version Control Story Sketch Design demonstrates what kind of elements and phases you might have in your sketch design.
First initial user interface sketches were drawn. Just to get an idea where the feature starts. It is an easy and fast orientation for the problem. Take a screenshot and upload that to the board. Draw some freehand on top of it. This is a concept and you can draw final layout later if needed.
This lead to initial set of features, these are depicted with use cases. What user should be able to do. There were more ideas than is sensible to implement in the first version of the feature. So these are drafted out. Step is a potential candidate to version and tidy in the final version what will be released first.
In parallel Sketch Architecture part evolved little by little. Describing high level initial technical solution for the problem. In addition use cases were extended with small flows that should be done in the functionality. These all are in the same board. To get whole map from the user to the technical solutions. When mapped like this you can see reasons for solutions, with out going into details.
Further diagram evolved with TODO lists, what should be remembered to do, when those popped up, not to forgot those. These are potential candidates to be moved to new stories and make a different version on this board.
During the implementation there were lot of technical challenges, it was easy to get back to this map and let it all flow back to your mind, what you were suppose to do next and what to take into account.
You can version each of these steps and get tidied sketch design in the end. Still having possibility to view original ideas.