Whiteboard sketches play a crucial role in software development, helping to support groups of designers in reasoning about a software design problem at hand. However, little is known about these sketches and how they support design 'in the moment', particularly in terms of the relationships among sketches, visual syntactic elements within sketches, and reasoning activities. To address this gap, we analyzed 14 hours of design activity by eight pairs of professional software designers, manually coding over 4000 events capturing the introduction of visual syntactic elements into sketches, focus transitions between sketches, and reasoning activities. Our findings indicate that sketches serve as a rich medium for supporting design conversations. Designers often use general-purpose notations. Designers introduce new syntactic elements to record aspects of the design, or re-purpose sketches as the design develops. Designers constantly shift focus between sketches, using groups of sketches together that contain complementary information. Finally, sketches play an important role in supporting several types of reasoning activities (mental simulation, review of progress, consideration of alternatives). But these activities often leave no trace and rarely lead to sketch creation. We discuss the implications of these and other findings for the practice of software design at the whiteboard and for the creation of new electronic software design sketching tools.
Whiteboards serve an important role in supporting informal design, providing a fluid and flexible medium for collaborative design. Interactive whiteboards offer the potential for enhanced support for manipulating content, managing sketches, and distributed work, but little is known about how this support affects the practice of informal design. To understand the opportunities and challenges, we first conducted a literature review, identifying 14 behaviors that occur during informal design. We then designed an interactive whiteboard system to support all of these behaviors and deployed the system to three groups of designers. Through usage logs and interviews, we examined the effects of interactivity on whiteboard use across a wide spectrum of design behaviors, identifying ways in which interactive whiteboards support the practices used in physical whiteboards and where they enable designers to work more effectively.
Whiteboards serve an important role in supporting informal software design, providing a fluid and flexible medium for collaboration. Interactive whiteboards offer the potential for enhanced support for manipulating content, managing sketches, and working across distance, but little is known about how this support affects the practice of informal software design. To understand the opportunities and challenges, we first conducted a literature review, identifying 14 behaviors that occur during informal software design. We then designed an interactive whiteboard system – Calico – to support the full spectrum of these behaviors and conducted a field deployment of Calico to three groups of software designers. Through usage logs and interviews, we examined the effects of interactivity on whiteboard use across 14 design behaviors, identifying ways in which interactive whiteboards support the practices used in physical whiteboards and where they enable designers to work more
While many software design tools exist and are in use daily, when faced with a design problem, developers will more often then not turn to the whiteboard to work on potential solutions. It has been observed that the sketches that software engineers create in this process transition from quite informal, rough sketches to sketches that reflect design notations like UML diagrams or user interfaces with quite precise layout and content. This behavior leads to an interesting opportunity: what if, during this refinement phase, it becomes possible for a whiteboard sketching tool to insert lightweight analyses that provide the developer with feedback about their design at hand? This paper investigates this opportunity, particularly focusing on exploring whether it might be possible to add a lightweight analysis and feedback mechanism to one sketching tool, Calico, that gives the designer insight into the perceived performance of their application.
The use of a studio approach - a hands-on teaching method that emphasizes in-class discussion and activities - is becoming an increasingly accepted method of teaching within software engineering. In such studios, emphasis is placed not only on the artifacts to be produced, but also on the process used to arrive at those artifacts. In this paper, we introduce Calico, a sketch-based collaborative software design tool, and discuss how it supports the delivery of a studio approach to software design education. We particularly describe our experiences with Calico in Software Design I, a course aimed at introducing students to the early, creative phases of software design. Our results show that Calico enabled students to work effectively in teams on their design problems, quickly developing, refining, and evaluating their designs.
When developers are faced with a design challenge, they often turn to the whiteboard. This is typical during the conceptual stages of software design, when no code is in existence yet. It may also happen when a significant code base has already been developed, for instance, to plan new functionality or discuss optimizing a key component. While software design at the whiteboard has long received an interest from the research community in terms of providing automated support through electronic sketching tools, the tools to date fall short in that each supports only a small subset of the design behaviors that software designers exhibit while working at the whiteboard. Indeed, the key insight motivating the research presented in this dissertation is that designers do not ``operate in'' or apply just a small handful of such design behaviors, but flexibly switch among many of them, all the time. As such, tools that only support a few design behaviors at the expense of others are inadequate to fully support the rich activity of software design at the whiteboard. In this dissertation, I present Calico, a distributed, collaborative sketch-based environment that supports a broad range of design behaviors. Calico offers four features: (1) scraps and connectors to manipulate content and build higher-order representations, (2) intentional interfaces to partition and organize the drawing space, (3) a palette to reuse content, and (4) a fading highlighter to make temporary marks on sketches. These features were designed based on an extensive study of the literature on software designers at work, and yield a minimally-invasive, yet rich environment for supporting design at the whiteboard that maintains the fluid and sketchy feel of sketch-based design. Calico was evaluated with designers in a controlled laboratory experiment, as well as in a longer-term in-the-field deployment, which included two software teams in industry and one research group. Findings show that, while there was a great amount of diversity in the design approaches by the different groups, the features do support and indeed are used for the design behaviors in actual work. Further, the designers reported that they sketched more than they would have on the whiteboard, built and refined their own types of representations, managed a growing number of sketches by organizing them into multi-page narratives, were more likely to return to old sketches, and switched between synchronous and asynchronous work during meetings. The contributions of this dissertation are four-fold: (1) The establishment of design behaviors as a necessary quality to support in informal design at the whiteboard. (2) A set of features to support informal software design at the interactive whiteboard. (3) An extensive evaluation of these features in a controlled laboratory setting and in the field with professional designers using Calico to perform their everyday work. (4) The construction of an extensible, sketch-based environment for early-phase software design.
In this video demonstration, we present our collaborative software design tool, Calico, for use at both the interactive whiteboard and the tablet PC. Calico has several unique features to fluidly manipulate sketches and make them into scraps to represent software design notations. Further, a grid helps organize sketches in a design session, and also serves as a metaphor for coordinating a distributed design activity across both drawing spaces and users.
Despite the availability of advanced software design tools, software developers are known to frequently turn to the whiteboard when faced with a specific design problem. Free from any restrictions, they engage in an informal form of software design that relies heavily on sketching. However, whereas whiteboards afford flexibility and fluidity, they at the same time limit a designer in only being able to draw and erase content. This paper presents Calico, a novel software design tool that leverages electronic whiteboards to enhance the design experience with explicit support for the creative, exploratory aspects of design. Specifically, Calico offers a grid to partition the drawing space, scraps to organize and manipulate the content, and a reusable palette together with gesture-based input to address several natural behaviors exhibited by software designers, including frequent shifts in focus, use of low-detail models, use of a variety of notations, and a tendency to refine representations. To evaluate Calico, we performed a laboratory experiment involving the design of an educational traffic simulator. Through a three-pronged analysis examining the use of Calico’s features, design behaviors exhibited by the participants, and the nature of the design conversations, we show how Calico benefits the design process as it takes place at the whiteboard.
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, the reason being that such tools impose conformity and precision prematurely. Sketching on the other hand is a highly fluid and flexible way of expressing oneself. In this paper, we present Calico, 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 software design. Calico is meant to be used on electronic whiteboards or tablets, and provides for rapid creation and manipulation of design content by sets of developers who can collaborate distributedly.
Tables are an important tool used by business analysts engaged in early requirements activities (in fact it is safe to say that tables appeal to many other types of user, in a variety of activities and domains). Business analysts typically use the tables provided by office tools. These tables offer great flexibility, but no underlying model, and hence no consistency management, multiple views or other advantages familiar to the users of modeling tools. Modeling tools, however, are usually too rigid for business analysts. In this paper we present a flexible modeling approach to tables, which combines the advantages of both office and modeling tools. Freeform information can co-exist with information managed by an underlying model, and an incremental formalization approach allows each item of information to transition fluidly between freeform and managed. As the model evolves, it is used to guide the user in the process of formalizing any remaining freeform information. The model therefore helps users without restricting them. Early feedback is described, and the approach is analyzed briefly in terms of cognitive dimensions.
Business process modeling has become an industry wide practice for business transformation consulting. Tools that support business process modeling are designed for experienced users to draw a process with precision and professional appearance. These tools are not conducive to sketching quick business design ideas. In this paper, we explore a non-intrusive business process sketching tool which allows free hand sketches of process ideas and slowly brings the users to the required common business vocabulary. We also explore adding business values that support process design thinking, along with sketching. Our goal is to help unleash creativity in business designers and enrich the design process with values beyond drawing. This paper presents a design concept and an implemented prototype of such a system.
Despite the availability of a host of software design notations and associated tools, software developers are known to frequently turn to the whiteboard when faced with a specific design problem. There, they typically engage in an informal form of software design that relies heavily on sketching. However, whereas whiteboards afford flexibility and fluidity, they at the same time limit a designer in only being able to draw and erase content. This paper presents Calico, a novel software design tool that leverages electronic whiteboards to enhance the design experience with explicit support for the creative, exploratory aspects of design. Specifically, Calico offers a grid, scraps, and a palette together with gesture-based input to address several natural behaviors exhibited by software designers, including frequent shifts in focus, use of low-detail models, and use of a mix of notations. To evaluate Calico, we performed a laboratory experiment involving eight pairs of graduate students and collected and analyzed six corporate design sessions that employed Calico. Results are promising and indicate the benefits of Calico, while they at the same time highlight several ways in which it can be enhanced.
Tools that support business process modeling are designed for experienced users to draw a process with precision and professional appearance. These tools are not conducive to sketching quick business design ideas.This demo proposal presents Inkus, a non-intrusive business process sketching tool which allows freehand sketches of process ideas and slowly brings the users to the required common business vocabulary. Our goal is to help unleash creativity in business designers and enrich the design process with values beyond drawing.
Design is an inherently creative process, particularly so during the early stages of design when a solution is just beginning to form. At this time, the more formal models and modeling languages to which we are so accustomed in software engineering serve a limited if non-existent role. But this does not mean that modeling is not relevant during early design; on the contrary, it is critical. It is just that a different form of modeling and overall design process takes place. In this paper, we present early results from our foray into exploring how designers can be supported in the early, highly creative stages of software design. We particularly build upon the existing body of work in creativity and general design, and apply key lessons found there to the construction of Calico, a prototype sketching tool for modeling in early design.
Alfredo Motta合作论文数Politecnico di Milano, Milano, Italy1