Literature about design suggests that a variety of alternatives leads to a higher quality final design. When software designers, either individually or together, are designing in front of the whiteboard, they rarely explore different solution alternatives. How can we help designers to explore more design alternatives for software problems? To achieve this, we are working on a process to facilitate designers to collaborate and produce high quality software designs while considering more solution alternatives.
When a live site is down or time is of the essence, software teams mobilize to fix bugs as fast as possible. How might such important bugs be fixed more quickly? One answer is through crowdsourcing, where ad-hoc participants are each given small, self-contained microtasks that are then aggregated into an overall solution. To explore this idea, we are currently designing new techniques and tools for crowd debugging.
Software designers frequently sketch when they design, particularly during the early phases of exploration of a design problem and its solution. In so doing, they shun formal design tools, opting for the whiteboard of pen/paper instead. Calico is a sketch-based distributed software design tool that supports software designers with a variety of features that improve over the use of just pen-and-paper or a regular whiteboard, and are tailored specifically for early software design on tablets and electronic whiteboards.