| How to Build Your Own Wall of Wonder |
| One of the foundations of agile development is increasing the visibility into the software development process through techniques like the demonstration of working software at the completion of an iteration. Another technique is to leverage a visual radiator that shows requirements flowing through an iteration development lifecycle into completed and tested code. I call this a Wall of Wonder as it can have a wondrous effects on business stakeholders and project participants as they see iteration progress and can adapt to bottlenecks and problem areas. |
| What is a Wall of Wonder? |
| A Wall of Wonder is a visual radiator that software development teams use to manage their tasks and activities in completing their goals in an iteration. The Wall of Wonder is a highly tactile and visible tool that requires very little in the way of infrastructure or training to implement. In many software development projects, information related to the project and its overall progress and velocity is 'locked' inside a variety of different tools. Project Managers create GANTT charts in Microsoft Project, analysts document requirements in Requisite Pro or Doors, developers write their code using an IDE and check it into a version control system, testers write scripts using Winrunner or Loadrunner. In rare cases, this information will be browser accessible but typically it can only be accessed using the original authoring tool and often requires special authorizations to access the files themselves. In every case, it's not clear how any of information relates to one another; are the requirements being developed by the analysts really what the developers need to create the right software, do the testers know what functionality will be available for testing, does the project manager know that the most important/architecturally significant tasks are being completed first? The result is that it's almost impossible to get a definitive understanding of project progress which limits the feedback teams need to adapt and adjust. One way around this is to create a Wall of Wonder. Using standard index cards, a white board and some tape or magnets you can quickly show overall progress in an iteration and make your daily stand-up meetings more effective. |
| Creating a Wall of Wonder |
To create your wall of wonder you'll need:
wall of wonder in this case was a simple white board next to a large table. This particular location was actually in a hallway which increased visibility into the project and the technique as people walked by. The team did considerable brainstorming around the table and the wall. |
| Collaborative Development and Fun with Cards |
| One of the most telling benefits of the Wall of Wonder and leveraging Task Cards is the level of collaboration and engagement that occurs. The cards themselves are an invitation to 'have a conversation' about a feature or requirement, similar to that advocated by Ron Jefferies. Enough information is available on the cards to prioritize and assign work but not so much that a developer will know exactly how to realize the functionality on the card. Another benefit of the cards is that different roles can work together to ensure that all the work on a card is completed. On many of the projects that I have managed the final test of completeness was having a tester walk through the code with a developer to ensure it worked to its specifications and was appropriately documented. The tester was armed with the Red Marker and when satisfied that a card was complete would 'approve' it with a mighty swipe of the marker. Developers who claimed they had completed their task card but didn't have the 'official' red marker check were quickly reminded that they weren't really done. The cards also became a fun way to show progress and bring some friendly competition into the development lifecycle. One of the developers on a project I managed once completed five cards in a single day, from that point on he was nicknamed 'Five Card', a name that persisted for several years after the project! |
| Creating Task Cards |
| The Wall of Wonder reflects activities and tasks associated with your iteration and to convey this, index cards are used. One reason, index cards are so useful in managing complex software development processes is because they're so simple. Index cards are readily available (I've personally driven to many Office Depots to grab cards prior to facilitating planning sessions at client sites), they require little in the way of training, they're highly tactile and they're inexpensive. The cards used in this example are tasks specifically related to developers and have some important components associated with them. |
| Using Your Wall of Wonder |
There are a variety of ways to create your Wall of Wonder but there are several key themes that should be present:
lifecycle (Requirements, Analysis, Design, Development, Test. Deploy). Another, and the approach I used on this project is to on development tasks required to realize a requirement across all tiers of the application (presentation/business/data access). Any approach will work provided that the principles mentioned above are adhered to. |
| May 2008 |
| by Bryan Campbell |
| The Opinion piece was authored by Bryan Campbell, www.bryancampbell.com, all rights reserved. Visit my blog at blog.bryancampbell.com to learn more |

| Great Walls of Wonder |

| The Overall Wall of Wonder process |
| As many people already know, I leverage agile techniques within the context of the Unified Process software development methodology. Consequently, each two week iteration contains 'slices' of activities and also inputs from disciplines that the Unified Process identifies. If you're interested in learning more about this you can read this blog article to get a quick thumbnail sketch of how I manage this process. The thumb-nail image to the right provides an overview of what this looks like. The key however is that work scheduled for an iteration can be easily broken down into small. managable tasks that can be updated on a daily basis. |
| In Conclusion |
| Creating a Wall of Wonder is a lightweight, inexpensive and engaging way to manage a software development project. This technique works best for small teams working together although the ideas behind it can scale using products from Rally Software or at www.cardconversationconfirmation.com. Although the ideas in this article have been used a number of times on projects, there are no 'firm' rules to creating a Wall of Wonder and you can use whatever approaches best suit your needs. If you have questions about this approach or want additional information don't hesitate to contact me and I'd also be interested in hearing how others are applying/leveraging these techniques. |