Continuous Software Engineering with Special Emphasis on Continuous Business-Process Modeling and Human-Centered Design Peter Forbrig University of Rostock Chair in Software Engineering
Outline Introduction Continuous Software Engineering Agile Software Development Human-Centered Design Process Business Process Modeling Combining Agile & HCD & BP Modeling Summary & Outlook
Introduction Software is still developed by at least two different communities Software engineers (Customer-Centered Design) HCI specialists (User-Centered Design) Idea of agile software development is accepted by both communities A joined vision of the development process is still missing Joined modeling might be a solution.
Life Cycle for BPM Linear BPM versus Nonlinear BPM (from Fleischmann, A., Schmidt, W., and Stary, C. 2013 [5])
Agile Life Cycle- SCRUM http://en.wikipedia.org/wiki/scrum_software_development
HUMAN-Centred Design Process ISO 9241 210 https://thestandardinteractiondesignprocess.wordpress.com/
Agile Usability Patterns for HCD Early Stages (Bertholdo et al. [2], In Marcus A. (Ed.) DUXU 2014 Part I; LNCS 8517, pp. 33 44. ) Sprint Zero A short Sprint before the code implementation to define a broader view of the product, general goals, to roughly plan the next sprints and to define design principles because of Missing the big picture of the system in the beginning.... One Sprint Ahead The UX team works at least one iteration ahead of the development team because of Making the development and the UX team synchronized, that both can collaborate and provide input to the development workflow. Parallel Tracks UX or usability team work in a parallel track with the development team in order to synchronise their activities. 8
Integration of Agile Development and HCD Sy, D.: Adapting usability investigations for agile user-centered design. J. Usability Stud. 2 (3), pp. 112 132, 2007.
Agile User-Centered Design Process (Paelke, V. and Nebe, K. Integrating Agile Methods for Mixed Reality Design Space Exploration. In Proceedings of the 7th ACM conference on Designing interactive systems (DIS '08). ACM, New York, NY, USA, pp. 240-249.
Suggested Human-Centered Design Process for SCRUM
Cross Pollination of HCD & Business- Process Modeling HCD is closely related with modeling (users, tasks, domain, ) BP models are often developed separately BP modeling & HCD should be based on the same kind of models Task models could be used as unification of classical task trees and BPM specifications Transformations into different representations Model-driven approaches might help to explore design alternatives
Model-Driven UI Development
TERESA Approach
Generation of UI-Alternatives by Pattern Transformation UI-Pattern Explorer
Continuous Software Engineering (Fitzgerald, B. and Stol, K.-J.: Continuous software engineering and beyond: trends and challenges. In Proc. 1st International Workshop on Rapid Continuous Software Engineering RcoSE 2014, ACM, New York, NY, USA, pp. 1-9.)
Suggested Refinement Continuous Human-Centered Design Continuous Planning Continuous Requirements Engineering Continuous Business Process Modeling
Summary and Outlook Summary Human-Centred versus Customer-Centred Agile Development, HCD & BP Modelling Tool support for HCD Influences of Agile Development, HCD & BP Modeling Outlook Continuous Software Engineering Projects last as long as software is used Size of project teams adapts to amount changes Monitoring the running system Observing and interviewing users at runtime Integrating HCD and BPM Process into development process Longer Lasting Cycles One HCD Cycle Lasts two Development Cycles One HCD Cycle Lasts three Development Cycles
Thank you very much for your attention! Continuous Software Engineering with Special Emphasis on Continuous Business-Process Modeling and Human-Centered Design Peter Forbrig University of Rostock Chair in Software Engineering