A flowchart of the Traditional software management is shown below.
Traditional software management has been characterized by the term command-control.
Many organizations are steeped in a tradition of optimization, efficiency, predictability, control, rigor and process improvement. However, the emerging information age economy requires adaptability, speed, collaboration, improvisation, flexibility, innovation, and suppleness.
Harvard business review and management books have come up with the terms such as empowerment, participative management, learning organization, human-centered management, etc., but none of these are being put into managing modern organizations.
In the context of Adaptive Software Development, the gap looks much wider and there is a necessity to consider the Adaptive management techniques that have been proven successful in other fields.
Adaptive management has proven successful in the environments where the resource managers worked together with stakeholders and scientists as a team, with the following goals −
To learn how managed systems respond to human interventions.
To improve resource policies and practices in future.
The principle behind adaptive management is that many resource management activities are experiments as their outcomes cannot be reliably predicted beforehand. These experiments are then used as learning opportunities for the improvements in the future.
Adaptive management is intended to increase the ability to respond timely in the face of new information and in a setting of varied stakeholder objectives and preferences. It encourages stakeholders to bound disputes and discuss them in an orderly fashion while the environmental uncertainties are being investigated and better understood.
Adaptive management helps the stakeholders, the managers and other decision makers recognize the limits of knowledge and the need to act on imperfect information.
Adaptive management helps to change the decisions made by making it clear that −
- The decisions are provisional.
- A management’s decision need not always be right.
- Modifications are expected.
There are two types of Adaptive management approaches −
- Passive Adaptive Management.
- Active Adaptive Management.
Passive Adaptive Management
Adaptive management aims to enhance the scientific knowledge and thereby reduce uncertainties.
Within Passive Adaptive management, a single preferred course of action, based on existing information and understanding, is selected. The outcomes of management actions are monitored, and subsequent decisions are adjusted based on the outcomes.
This approach contributes to the learning and effective management. However, it is limited in its ability to enhance scientific and management capabilities for conditions that go beyond the course of action selected.
Active Adaptive Management
An Active Adaptive management approach reviews the information before management actions are taken.
A range of competing, alternative system models of ecosystem and related responses (e.g. demographic changes; recreational uses), rather than a single model, is then developed. Management options are chosen based on the evaluations of these alternative models.
Adaptive management is what is best suited for Adaptive Software Development. The approach requires resource managers, i.e. the managers who can work with people, allow human-interventions, and create an amicable environment.
In software development, the leaders often take up these responsibilities. We need leaders more than the commanders. The leaders are collaborators and work alongside with the team. Collaborative-Leadership is the most sought after practice in Adaptive development.
The leaders have the following qualities −
Grasp and set the direction.
Influence people involved and provide guidance.
Collaborate, facilitate and macro-manage the team.
Create environments where talented people can be innovative, creative, and make effective decisions.
Understand that occasionally they need to command, but that is not their predominant style.