An inverted classroom experience: engaging students in architectural thinking for agile projects

This case study presents our experiences using architecturally savvy personnas in the classroom. The personas were used to help students analyze and prioritize architecturally significant requirements, and then to drive and evaluate architectural design. The activity was designed to equip students with a technique for integrating architectural thinking into the agile development process. We describe our learning goals and the activity, discuss student learning outcomes,lessons learned from running the activity, and propose an improved structuring. All materials including training videos, hand outs, and instructions are available online at http://re.cs.depaul.edu/pedagogy/ASP.

[1]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[2]  Barry W. Boehm,et al.  A stakeholder win–win approach to software engineering education , 1999, Ann. Softw. Eng..

[3]  Suzanne Robertson,et al.  Mastering the Requirements Process , 1999 .

[4]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[5]  Alan Cooper,et al.  The Inmates are Running the Asylum , 1999, Software-Ergonomie.

[6]  Scott W. Ambler Agile Modeling: A Brief Overview , 2001, pUML.

[7]  Andy Evans,et al.  Practical UML-based rigorous development methods countering or integrating the eXtremists : workshop of the pUML-Group held together with the《UML》2001, October 1st, 2001 in Tronto, Canada , 2001 .

[8]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[9]  Jane Cleland-Huang,et al.  The incremental funding method: data-driven software development , 2004, IEEE Software.

[10]  Gerald C. Gannod,et al.  Using the inverted classroom to teach software engineering , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[11]  Tetsuo Tamai Social Impact of Information System Failures , 2009, Computer.

[12]  Muhammad Ali Babar,et al.  Agility and Architecture: Can They Coexist? , 2010, IEEE Softw..

[13]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[14]  Cynthia Putnam,et al.  Communicating about users in ICTD: leveraging HCI personas , 2012, ICTD.

[15]  Bashar Nuseibeh,et al.  Characterizing Architecturally Significant Requirements , 2013, IEEE Software.

[16]  Xavier Franch,et al.  Non-functional Requirements in Architectural Decision Making , 2013, IEEE Software.

[17]  Jane Cleland-Huang,et al.  Traversing the Twin Peaks , 2013, IEEE Software.

[18]  Xavier Franch,et al.  Views on software engineering from the twin peaks of requirements and architecture , 2013, SOEN.

[19]  Jane Cleland-Huang Meet Elaine: A Persona-Driven Approach to Exploring Architecturally Significant Requirements , 2013, IEEE Software.

[20]  Jane Cleland-Huang,et al.  A Persona-Based Approach for Exploring Architecturally Significant Requirements in Agile Projects , 2013, REFSQ.

[21]  Lene Nielsen,et al.  Personas - User Focused Design , 2012, Human–Computer Interaction Series.

[22]  Jane Cleland-Huang,et al.  Chapter 4 – Driving Architectural Design and Preservation from a Persona Perspective in Agile Projects , 2014 .

[23]  Jane Cleland-Huang Don't Fire the Architect! Where Were the Requirements? , 2014, IEEE Softw..