Applying the Agile Organizing Framework to Team Management Dr. Nicole Radziwill & Dr. Morgan Benton (JMU) This Talk is About the Agile Organizing Framework (AOF) What is Agility and How Do You GET IT? • Developed using an interpretive case study approach, it is "an empirically based framework grounded in Complex Adaptive Systems (CAS) theory that can be used to guide the organization of agile software development" (Vidgen & Wang, 2009) • The researchers studied both agile and non-agile software development environments to develop the AOF Our Initial Motivation "If you've lived in the software world for a few years you know the stuff they teach you in school is irrelevant, so who cares what degree you have?" -- Jason Cohen, code review expert, at http://blog.asmartbear.com/not-competitive-advantage.html Question: If much of the functional and skills-based knowledge that technology developers learn in school so quickly becomes obsolete, how can we best prepare students for jobs in the software world? Answer: Model a mindful PROCESS in the classroom to learn and do technology development How Can I Use the AOF? You can think of it as a CHECKLIST: • Make sure you are cultivating agile team capabilities for each of the three principles Or you can think of it as an IDEA LIST: • What things can YOU do as the manager of a software development team to help them become more agile? • What things can you AVOID doing that might impede your team’s agility? Principle 1: Match Coevolutionary Change Rate • Coevolution of Team and Customer to Create Value • Sustainable Working with Rhythm Principle 2: Optimize Self-Organizing • Collective Mindfulness • Sharing and Team Learning Principle 3: Synchronize Exploitation and Exploration • Process Adaptation and Improvement • Product Innovation Structure of the AOF There are 3 PRINCIPLES in the AOF derived from CAS There are 2 ACTIVITIES that have been identified to support each PRINCIPLE There are MANY WAYS you can ENABLE and INHIBIT agility Principle 1: Match Coevolutionary Change Rate • Activities: • Coevolution of Team and Customer to Create Value • Sustainable Working with Rhythm Principle 2: Optimize Self-Organizing • Activities: • Collective Mindfulness • Sharing and Team Learning Principle 3: Synchronize Exploitation and Exploration • Activities: • Process Adaptation and Improvement • Product Innovation Principle 1: Match CoEvolutionary Change Rate • Activities: • Coevolution of Team and Customer to Create Value • Sustainable Working with Rhythm The business and technical reps on a team ADAPT their structures and behaviors in response to interactions Develop shared ROUTINES and monitor the RATE OF CHANGE in their environment Creating an Agile Environment DO DON’T • Continuously gather requirements • Pace work by time, with frequent iterations that deliver business value often (SLICE METHOD) • Short, fixed-length iterations, multilevel plans • Regular and frequent breaks and closure • Rigidly dictate & sign off on requirements (and up-front plan) • Define all requirements upfront with no revisiting • Require team and customer to “over-communicate” • Pace work by planned events (end of scoping) or unplanned perturbations Principle 2: Optimize SelfOrganization • Activities: • Collective Mindfulness • Sharing and Team Learning The development team continuously scans their environment identifying appropriate ways to adapt to changing needs in response to interactions Leadership is shared between team members and their development manager Creating an Agile Environment DO DON’T • Share responsibility for project management; each member of the team is part of your project’s “society” • Encourage reflection, selfobservation and peer reviews • Support open working spaces and multiskilling • Centralize project manager & management and keep it hidden and separate from the team • Let the project manager become a bottleneck • Rely too much on informal communication • Over-communicate Principle 3: Synchronize Exploitation and Exploration • Activities: • Process Adaptation & Improvement • Product Innovation The development team leverages its current resources to continually improve capabilities The development team and manager continually explore new technologies, modes of operation, and process innovation Creating an Agile Environment DO • Challenge effective practices • Challenge ineffective practices • Formalize study as part of the development process • Allocate time for creative problem-solving DON’T • Rely too much on common sense… make data-driven decisions • Impose a process on the development team • Miss opportunities for collaborative exploration AOF: A Checklist/Idea List Principle 1: Match Coevolutionary Change Rate • Coevolution of Team and Customer to Create Value • Sustainable Working with Rhythm Principle 2: Optimize Self-Organizing • Collective Mindfulness • Sharing and Team Learning Principle 3: Synchronize Exploitation and Exploration • Process Adaptation and Improvement • Product Innovation Contact • nicole.radziwill@gmail.com • nicoleradziwill.com • bentonmc@jmu.edu • Key Reference: Vidgen, R. & Wang, X. (2009). Coevolving Systems and the Organization of Agile Software Development. Information Systems Research, 20(3), Sept. 2009, p. 355-376.