Key takeaways
|
For a new Software System, the requirements will not be completely known until after the users have used it “ -- Humphrey’s Uncertainty Principle
Introduction
Though Agile is largely practised as a software development approach, today many practitioners believe that Agile is meant for and can evolve into a powerful cultural and business paradigm. If Agile is used only as a development approach for software and is limited to how a project team works, the organizations may fail to reap the full benefits of Agile.
How can Organization Development (OD) help in the successful adoption of Agile?
OD is an interdisciplinary field of research, theory and practice, dedicated to helping organizations improve their effectiveness to accomplish successful organizational change and performance. OD, having emerged out of the human relations movement in the 1930s, has evolved to help organizations adapt themselves to the changing environment, which is growing more in complexity and ambiguity - through organizational learning, managing culture and better internal alignment, to name a few.
In this post, we will look briefly at how OD can help organizations in taking a systemic approach to adopting Agile.
What OD stands for?
OD stands for the following values : respect, inclusion, collaboration, authenticity, self-awareness and empowerment. OD approaches organizations as open systems, (that is, systems that constantly interact with and adapt to their environment), and therefore works with organizations at a systemic level, and not just with some parts of the organization. OD is informed and supported by theory from various fields, such as sociology, psychology, industrial psychology and other physical sciences. Collecting data and using the data for informing appropriate OD interventions is a crucial part of OD. Action research is a method used in OD that continuously re-examines, reflects and integrates data throughout the process of change in order to achieve results. OD’s main focus is also groups and group dynamics, and how groups can become high performance teams and/or self-organizing teams
What Agile stands for?
At the heart of Agile, lies its manifesto and principles. Its core values are trust, respect, transparency, truth and commitment. Agile efforts are focused on creating working software – incremental software product versions that can be tested at the system level and demonstrated to the customer. Agile follows the empirical process control model for delivering high quality products well within the timelines – by frequent inspection, reflection and adaptation of its processes. By doing so, Agile teams become better at their internal processes – communication, decision making, problem solving, etc. Agile needs close collaboration with customer throughout the project tenure, making sure that the customer gets what he/she wants. Agile methods have built-in processes to change their plans at regular intervals based on feedback from customers. Agile methodologies are based on the knowledge that, in order to succeed, they must plan to change and adapt.
Traditional vs Agile Methods
In the traditional systems development model, a rational engineering based approach such as waterfall method has been used to develop projects. This seems to be grounded in ‘hard systems thinking’ which assumes that problems can be well-defined and processes can be optimized and results well predicted. Extensive upfront planning is done to measure and control the variations in the development life cycle. In summary, traditional software development life cycle is highly process-centric.
Based on the above understanding of systems development, organizations adopt a management style which is command-and-control, with a set hierarchy. Therefore these are predominantly mechanistic organizations geared for high-performance in a stable environment. It is also characterized by high formalization and standardization. People with different specializations are assigned roles for producing defined outcomes.
Agile System Development
Agile addresses the shortcomings of traditional software development life cycle by :
- adopting the empirical process control model as against the ‘defined process control model’.
- The development model changes from linear life cycle model to an evolutionary-delivery model.
- Agile methods also need constant collaboration with customers needing their inputs and feedback at various checkpoints during each iterative cycle.
The organization design required is that of an organic management system :
- Organic design provides for the inherent instability in the systems development projects through less formalization, decentralization and less supervision
- In order to get the necessary flexibility and speed, the agile projects self-organize themselves into small teams, with a ‘servant leader’ who facilitates the team’s processes and goals.
- These teams are constituted by people of diverse set of skills who often take different responsibilities as the situation arises
- The entire team goes through repeated cycles of thought-action-reflection, with the primary goal being learning and adapting, enabling them to respond quickly to emergent situations
Challenges in Agile Adoption
Adopting Agile needs a shift in organizational and management practices that include :
- Moving from a mechanistic organization to an organic one, or an effective mix of both
- Relinquishing a ‘command and control’ style to a collaborative style. The project manager becomes a ‘facilitator’ who guides and coaches the team members and coordinates their collaborative efforts. The major challenge here would be to make the manager relinquish the authority he/she enjoyed
- Reward systems need to change to promote team work and retaining people
The challenges in re-organizing teams would include :
- Agile practices are heavily dependent on collaborative team work. Teams have to be trained and coached to perform as self-organized teams, to learn and adapt with the environment.
- Customer collaboration being an important aspect, requires the team to build an atmosphere of mutual trust and open communication. It would also be difficult to get some customers participate actively in many of the processes
- Several organizations have invested heavily in CMM practices to strengthen the processes and ensure stability in their setup. Moving to agile requires them to re-look at these practices and doing away with some rigid processes that hinder teams to work in the new methods.
An OD approach to Agile Adoption
One of the myths about Agile is that people and organizations tend to believe that by practicing a set of activities, such as Daily scrum, sprint cycles, and retrospectives, they become Agile. On the contrary, organizations which want to become truly Agile need to change their mindset. This needs learning to be redefined.
The above figure shows the fundamental difference between ‘doing agile’ and ‘being agile’, at the team level and the organization level.
- Redefining Learning for individual and team development
Learning is the process of closing the gap between our aspirations and ability. It is important to understand the mechanics of the process of learning to improve the learning outcomes. There are two types of learning, Acquired Learning and Adaptive Learning.
Acquired learning occurs through training and experience that imparts new knowledge and skills. Acquired learning is referred to by psychologists as “horizontal development,” because it broadens our existing knowledge base and skill set and increases our ability to successfully execute tasks. To draw on a familiar metaphor, acquired learning can be compared to loading additional data and applications onto a computer, thereby extending the system’s capability.
Unlike acquired learning, adaptive learning expands the mind by helping it evolve to the next level of complexity, by examining the underlying fundamental beliefs and assumptions.
To use the same computer metaphor, when upgrading a computer’s operating system from, for example, Windows 8 to Windows 10, the new system transcends and includes the capabilities of the previous system (much of the same data and applications are retained).
But the new operating system also opens the door for additional, more expansive, capabilities that simply were impossible with the older system. This kind of learning leads to ‘vertical development of individuals, which can give new perspectives and capabilities that can fundamentally shift how and why people do what they do.
While organizations normally invest enough in horizontal development by providing the required training in building skills and knowledge, the investment required in vertical development, is either nil or far from sufficient. Vertical development efforts include those interventions that are needed for individual and team development, such as assessments, personal growth programs such as coaching, mentoring, group facilitation, team building and leadership development.
While Agile software development related training provides the horizontal development, which is needed for executing the project tasks, the vertical development efforts will provide the necessary mindset change to being Agile.
There are several tools available in the market which can be used for this purpose. One such tool is the Existential Universe Mapper (EUM), which helps individuals and organizations examine their beliefs, values, needs, wants and proclivities and make necessary shifts. For more information , see here.
For more information on horizontal and vertical development, refer here.
- From mechanistic to organic structures
Software engineering at its inception borrowed from the classical engineering discipline, which was based on the scientific management and a clockwork universe. The accompanying organization structure is more mechanistic, that can be geared for high performance in a stable environment, through job specialization, close supervision and hierarchical control.
As against this, Agile frameworks go for a organic structure, which is geared for the highly unstable development environments, where teams are geared for constant changes and complexity through less formalization and standardization, flatter structures and less supervision.
In reality, not all parts of an organization, can exist as purely mechanistic or organic. The choice of the kind of structure that has to be designed and chosen is based on the need of the environment, which includes the customer, technology and the kind of work the organization performs. For example, where innovation is needed, organic structure is best suited to give employees the freedom and flexibility to perform.
Socio-technical systems theory is one such concept that has been used by organizations to design teams which are organic in nature. In Agile, the development team is one such team.
Designing Agile teams using socio-technical systems theory
One of the core aspects of Scrum is self-organizing teams that deliver software in small iterations called sprints. The sprint teams are truly cross-functional teams that choose the best way to do their work without being directed by others from outside. How can we redesign the traditional teams into self-organized teams ?
Socio-technical systems theory defines work systems as having both technical and social subsystems. A technical subsystem concerns the tools and processes that are needed to create products and services. The social subsystem concerns the work structure that relates people to the technical subsystem and to each other.
The core design concepts that help in designing a self-organized team are centred around
- choosing the work group as the unit of design, rather than the individual, thereby breaking silos and making collaboration to happen
- the locus of control as the team, rather than the supervisor, placing the team closer to the source of variations and therefore control, thereby reducing risks
For more details on how socio-technical systems can be used to design Agile teams, refer here.
Hackman and Oldham's theory of job design (Job Characteristics Model, aka., JCM) can be used as another approach to verify whether the socio-technical work design is really high on job enrichment for its group members. When work content is high on core job characteristics such as skill variety, task identity, autonomy, and feedback, outcomes such as job satisfaction and work effectiveness result. These two theories reveal that work variables can be designed to contribute to both motivation and self-regulation.
A questionnaire for evaluating the job characteristics based on JCM can be found here.
- Adopting a Change Strategy that Improves Success Rate
One important reason why change initiatives fail or do not yield expected results, is due to resistance from participants to the change involved. The change programs, quite often, require the employees (including the management), to change their working styles, behaviour, job titles, etc, and many times need them to re-skill themselves.
Resistance to change is an important aspect to be worked with, in making these initiatives successful in organizations. Removing or reducing resistance to change involves working with people to help them understand their underlying beliefs, assumptions and competing commitments, that stand in the way of change.
Robert Kegan and Lisa Lahey’s model and exercise , ‘Immunity to Change’, is a common technique used to unearth the reasons for immunity and helps people to move forward towards their goals.
This activity is an awareness-building exercise that works with individuals and groups to make explicit that which is currently implicit. The output of this exercise will help the participants and the group to understand the motivation or lack of it, behind their actions in moving towards their goals.
For more information on this exercise, visit.
Helping people in dealing with change, also ensures that their buy-in is got in implementing Agile practices. One of the prominent reasons change initiatives fail, is due to a lack of commitment from the participants. When participants are involved in a dialogue to understand why change programs are initiated, how the organization and its stakeholders, including employees will benefit, it increases the likelihood of success.
Appreciative Inquiry (AI) is a method of intervention that involves groups of any size (from very small to very large), in carrying out conversations to envision a future together. These conversations are strength-based, as against ‘problem-centric’, that elicit future possibilities. The process is an information gathering, or inquiry sessions that are meant to energize the participants by drawing out positive aspects and stories about themselves and the organization and use them to create a movement for potential alternate actions.
To summarize, applying OD techniques and theories can help organizations take a systemic route to Agile adoption – by getting the organization design right, by structuring teams for high performance and working with change programs successfully.
About the Author
Vijaya Devi is an IT professional-turned-OD consultant with 2 decades experience in the industry. She has a deep interest in helping organizations to improve their performance through applied behavioural sciences, management sciences and systems thinking. She consults and trains in the following 3 areas : techno-structural interventions (aligning processes, structure and technology), human resource interventions (performance management systems, goal setting, training, etc) and human process interventions (individual development, team development and leadership development). Check out her company’s website for more details.