Towards Exploratory Software Design Environments for the Multi-Disciplinary Team
The creation of a new software system can be a wicked problem. Consequently, it is important for such projects to have a collaborating team of experts from multiple disciplines. While agile development processes foster such a collaboration on the social level, the tools used by individual experts still prevent team members from seeing the overall result of their collective modifications on the resulting system. Roles in the process, such as content designers and user experience designers, only get feedback on the impact of their changes on their artifacts. Based on the concept of exploratory programming environments, we propose a new perspective on the environments used in software development, called exploratory software design environments. We describe the properties of such an environment and illustrate the perspective with existing related tools and environments.
- Arnold, J. E. (1956). Problem solving – A creative approach (National Defense University, Publication No. L57-20). Washington, DC: Industrial College of the Armed Forces.Google Scholar
- Arnold, J. E. (1959). Creative engineering. In W. J. Clancey (Ed.), Creative engineering: Promoting innovation by thinking differently (pp. 59–150). Stanford Digital Repository. http://purl.stanford.edu/jb100vs5754 (Original manuscript 1959).
- Beck, K. (2000). Extreme programming explained: Embrace change. Boston: Addison-Wesley Professional.Google Scholar
- Conklin, J. (2006). Dialogue mapping: Building shared understanding of wicked problems. New York: Wiley.Google Scholar
- DeGrace, P., & Stahl, L. (1990). Wicked problems, righteous solutions. Upper Saddle River, NJ: Yourdon Press.Google Scholar
- Ingalls, D., Kaehler, T., Maloney, J., Wallace, S., & Kay, A. (1997). Back to the future: The story of squeak, a practical smalltalk written in itself. ACM SIGPLAN Notices, ACM.Google Scholar
- Ingalls, D., Palacz, K., Uhler, S., Taivalsaari, A., & Mikkonen, T. (2008). The lively kernel: A self-supporting system on a web page. In Proceedings of the Workshop on Self-Sustaining Systems (S3) 2008. Springer.Google Scholar
- Kato, J., & Goto, M. (2017). User-Generated variables: Streamlined interaction design for feature requests and implementations. In Proceedings of the Programming Experience Workshop (PX/17) 2017. ACM.Google Scholar
- Lincke, J., Krahn, R., Ingalls, D., Röder, M., & Hirschfeld, R. (2012). The lively partsbin – A cloud-based repository for collaborative development of active web content. In Proceedings of the Hawaii International Conference on System Sciences (HICSS) 2012.Google Scholar
- McChrystal, S. (2015). Team of teams. New York: Portfolio/Penguin.Google Scholar
- Rein, P., Lincke, J., Ramson, S., Mattis, T., & Hirschfeld, R. (2017). Living in your programming environment: Towards an environment for exploratory adaptations of productivity tools. In Proceedings of the Programming Experience Workshop (PX/17.2) 2017. ACM.Google Scholar
- Sheil, B. (1983). Power tools for programmers. Datamation Magazine, 29(2), 131–144.Google Scholar
- Taeumel, M., Perscheid, M., Steinert, B., Lincke, J., & Hirschfeld, R. (2014). Interleaving of modification and use in data-driven tool development. In Proceedings of the ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward!) 2014. ACM.Google Scholar