coordinating large agile projects

20
SARAJEVO, 27.10.2014 JAANA NYFJORD Coordinating large Agile projects

Upload: bosnia-agile

Post on 18-Dec-2014

28 views

Category:

Technology


2 download

DESCRIPTION

There is no universal way to coordinate Agile teams in large development projects because they have unique problems. This implies that the best way to coordinate the teams is to ask them how they want to be managed given a set of enabling constraints. This requires particular communication and negotiation skills in the leadership team, which are conveyed in this talk. The skills are described as a set of conventions, founded on the argument that every organization is a complex adaptive system and should therefore be analyzed as a whole and from multiple system perspectives. So, this talk will show that by treating software development as a complex endeavor, rather than a linear, will help managers to master large Agile projects.

TRANSCRIPT

Page 1: Coordinating Large Agile Projects

SARAJEVO, 27.10.2014

JAANA NYFJORD

Coordinating large Agile projects

Page 2: Coordinating Large Agile Projects
Page 3: Coordinating Large Agile Projects

“I think the next century will be the century of complexity.”

Stephen Hawking January 2000

Page 4: Coordinating Large Agile Projects

Complexity, complex systems & complexity scienceComplexity

Complexity is generally used to characterize something with many parts where those parts interact with each other in multiple ways.

Complex systems

Complex adaptive systems - open evolutionary systems in which the components are strongly interrelated, self-organising and dynamic.

Each of these systems evolves in relationship to the larger environment in which it operates. To survive, the system as a whole must adapt to change.

Complexity science

Complexity science is creating a fundamental shift in how we view the world, and with it the need for a shift in how we must think about, organize, plan for and lead 21st century organisations.

Across the frontiers of science, this new more complete, whole systems approach is replacing the old reductionist paradigm, where scientists traditionally tried to understand and describe the dynamics of systems by studying and describing their component parts.

Page 5: Coordinating Large Agile Projects

Complex Adaptive Systems (CAS)

Complex adaptive systems is derived from the mathematical science of complexity.

Complex adaptive systems are non-linear, open, dynamic.

In non-linear systems the value of the whole cannot be determined by the sum of the parts

Open system interact with its environment, receiving inputs and providing outputs, but doesn’t

control it

A dynamic system changes and evolves its behavior in response to its inputs

Order emerges through the interaction among the system’s parts as they evolve (within the larger system) in response to the changing environment.

Hence, CASs are composed of autonomous agents that seek to maximize some measure of fitness by evolving or adapting to changes as they occur.

Local, often simple, rules guide the interaction among the agents and result in the system’s global behavior.

Page 6: Coordinating Large Agile Projects

Coordinating large Agile projects

Jaana Nyfjord @jaananyfjord

Bosnia Agile Day

Sarajevo, October 27 2014

Page 7: Coordinating Large Agile Projects

#*@!&

Photo: Michael Fritz www.un.org

Page 8: Coordinating Large Agile Projects

Obvious

Page 9: Coordinating Large Agile Projects

Frequent problems in large projects

Often difficult to get an overview of how changes in one subproject affect other sub-projects

Too many restrictions in the requirement spec makes the whole development process rigid and prevents creative solutions

The larger the project, the less flexibility there is

As transaction costs increase with the size of the project, it is necessary to be strict with upholding discipline, and thus a need for bureaucratic rules that are often not understood

Page 10: Coordinating Large Agile Projects
Page 11: Coordinating Large Agile Projects

Convention Description

Speak their language Argyris has shown that the most effective way to secure that the communication works well when several teams are coordinated is to use their language and give specific feedback to the teams on how they describe their work, their needs and their progress.

Create culture of public benchmarking

If managers do not give feedback, criticism and appreciation in a similar way to various teams it is difficult to create a culture of fair, open communication. To adjust descriptions of various teams, it is necessary to develop a continuous dialogue around comparisons between teams. “Peer Sites” has been successfully tested where a software development site gives a personalized response to another site.

Motivate from personal experience

Managers who cannot argue for their motivation by providing references to practical experience or real examples may risk the communication trap of having subordinates not understanding them.

Include subordinates in meetings

In all large organizations there are power games impeding effective communication. To prevent these, representatives from various hierarchical levels should be included in meetings. Ackoff’s system model “Interactive planning” demonstrates how such an approach secures free flowing communication among teams in large projects.

Combine various modeling methods

Ever since Parkinsson's Law of Bureaucracy, the dangers of following a specific model too rigidly have been proven over and over again. The solution is to have a flexible attitude towards models and use them as support tools rather than governing systems. E.g., “Rich Pictures” provide models of a problem that can easily be explained and make people aware of the various perspectives among stakeholders.

Use global definitions Using different definitions on various organizational levels will cause confusion. In the “Viable System Models”, Beer became famous for his introduction of cybernetics. In this model, the communication processes between all levels of the organization could be recursively described, i.e. use the same communication protocols on all project levels.

Accept chaos as a driver of development

Leaders who try to impose order in a complex context will fail. A manager should accept a certain amount of chaos in the development process as long as this does not inflict on the basic goals of the project. To determine an acceptable degree of chaos, managers should be familiar with complexity theory.

Centralize critical rules Using a strict “management by objective” approach in a complex context will likely constrain the productivity of teams. Hence, formalizing goals and constraints as generic rules or principles that can be implemented in whatever ways the teams find appropriate will provide a softer direction enabling team creativity and productivity. Thomas describes how productivity rises once there is a sound and stable foundation allowing the employees to design their own work.

Page 12: Coordinating Large Agile Projects

Speak their language

Page 13: Coordinating Large Agile Projects

Create a culture of public benchmarking

https://www.flickr.com/photos/giesenbauer/4100946842/

Page 14: Coordinating Large Agile Projects

Accept chaos as a driver of development

http://bubbi-robot.deviantart.com

Page 15: Coordinating Large Agile Projects

Centralize critical rules

www.dot.state.mn.us

Page 16: Coordinating Large Agile Projects

Convention Empirical findings

Speak their language Nearly all interviewees shared a similar view that speaking their teams’ language implies connecting people to people, and teams to teams not merely a process output to a process input. Ten of 14 explicitly confirmed that continually adjusting the communication will encourage teams’ congruence and collaboration. Hence, the convention has definite acceptance and is likely to be used to secure that the communication works well.

Create culture of public benchmarking

Not all interviewees shared a similar view about the convention’s importance. Five out of 14 interviewees think that it is a very sensitive topic, which can easily drive teams to oppose each other. Two reasons were given: due to cultural considerations, four have failed to implement the convention while one believes that the convention is of low priority. The latter indicated that it is inappropriate to compare the teams’ presentations because it will be a waste of time and effort to ask other teams to adjust their work accordingly. However, the rest mentioned that benchmarking could help in raising performance standards by enabling knowledge to be shared and reused. Among those it was mentioned: “Creating such culture... increases the good competition between the teams, because one team’s good performance is an example for the other teams. Hence, the convention has partial acceptance due to corporate culture’s inflexibility or for its uncritical use while it is likely to be used as a lever for continuous dialogue

Motivate frompersonal experience

Nearly all interviewees shared a similar view that the use of bundled experiences would help both the managers and teams to overcome communication bottlenecks. However, 9 of out of 14 interviewees indicated that the arguments must be carefully composed to achieve certain needs and to not impose any restraints on the teams’ own inspiration. Twelve out of 14 interviewees indicated that the convention could enhance better communication between the managers and teams. Hence, the convention has a definite acceptance, as it is likely to be used to enhance better communication with teams.

Include subordinatesin meetings

All interviewees acknowledged the need of connecting people to people regardless to their positions and responsibilities which in return would foster their teams’ development and learning. In their comments to what benefits they get, the following were mentioned: “It is a good technique especially to motivate people and to develop people further”; “it is one of the very efficient tools to develop people... and “very effective way of decision making”; “taking feedback is very important... it will be like a 360 view of any subject”.” Hence, the convention has definite acceptance as it is likely to be used to promote effective communication.

Combine various modeling methods

All interviewees shared a similar view that in complex projects, models are used to address and help solving problems not merely processes and standards to follow. As one said “in software development projects, flexibility is essential and very important in managing projects… it is advisable to use different models”. Hence, the convention has definite acceptance, as it is likely to be used to support for better project governance.

Use global definitions

All interviewees shared similar opinion that common definitions across the project organization would provide high synergy among teams and maintain consistency in communication, documentation, and reporting. Generally, their adoption of the convention is primarily to reduce confusion and eliminate potential conflicts that may occur due to misinterpretation. Nine out of 14 interviewees indicated that using global definitions could be timesaving and efficient. Hence, the convention has a definite acceptance, as it is likely to be used to support mutual understanding.

Accept chaos as a driver of development

Nearly all interviewees consider some chaos to be effective in many ways. For instance, a) ten out of 14 interviewees consider it a driver for timely project development and delivery, as it was stated: “Chaos is sometimes important to provide control over the project cycle itself, otherwise many projects might go in no end to be completed” and b) five out of 14 interviewees considered it as an enabler for teams to thrive and assume higher responsibilities. However, three interviewees mentioned that accepting chaos must be accompanied with careful attention, as motivated by one : “It should not change the scope of work, time frame, the budget, and project model or standards.” Hence, the convention has partial acceptance, and likely to be used to drive development forward to gain control and as an enabler for communication and team development.

Centralize critical rules

Everyone but two have accepted the convention. The latter two favor "management by objectives" as a support for timely delivery of the project and securing productivity. The other interviewees, on the other hand, share similar views on accepting a critical set of rules instead of strict objectives and systems as a driver of productivity.

Page 17: Coordinating Large Agile Projects

Photo: www.gi.alaska.edu

Page 18: Coordinating Large Agile Projects

Leading 21st century organisations

By treating software development as a complex endeavor, rather than linear, will help you master its complexity.

Page 19: Coordinating Large Agile Projects
Page 20: Coordinating Large Agile Projects

Thank You