Tuesday, September 15, 2015

Declaration of Interdependence and Agile Project Management

Closely accompanying the Agile Manifesto and influencing project management in the Agile era is the "Declaration of Interdependence"[*] (Cockburn et al., 2011). This declaration was put together by the founding members of the APLN (Agile Project Leadership Network, first headed by Alistair Cockburn now simply Agile Leadership Network; see http://www.agileleadershipnetwork.org/) and is focused on "making people great project leaders." This focus on leadership is important in CAMS-based projects in that it combines traditional management with Agile leadership. There are six value statements based on the APLN view that reflect the most important aspects of modern project management in the context of Agile. The following discussion expands on these value statements (which start with a "We") in terms of their impact in CAMS-based projects.

1. Increase return on investment by making a continuous flow of value our focus. Instead of considering tasks to achieve, Agile project management aspires for a continuous flow of value to the stakeholders and business. As the business ecosystem is dynamic, it is imperative that the return on investment (ROI) made by the organization is measured in terms of ongoing value. CAMS, through the application of formal metrics and measurements, can provide justification for the investments made in undertaking Agile business transformations. While the Agile principles provide value focus, the formal planning and execution of project planning and management provides the metrics for ROI.

2. Deliver reliable results by engaging customers in frequent interactions and shared ownership. Reliability of results within projects can be varying and subjective. Instead of partitioning work and assigning it to individuals, this statement focuses on sharing between customers and developers to deliver results. Project management moves, through this value, from being an individual, task-driven exercise to an interactive exercise with task sharing. CAMS, through its combination of leadership and management, provides a mechanism for task sharing. Leadership, in CAMS, is a facilitation exercise. However, this leadership is also combined with the creation and assignment of tasks, tracking their progress, formal reporting, and incorporating feedback. This combination of leadership and management leads to reliability in project output.

3. Expect uncertainty and manage it through iterations, anticipation, and adaptation, which are parts of a strategy to manage uncertainty. The overall iterative approach in CAMS dissuades the notion of a product as a deliverable at the end of a project. Products are not verified only at the end but throughout the development process. However, CAMS also does not rely entirely on Agility; instead, appropriate controls are applied during the development to prevent uncertainty. In CAMS, change is accepted as much as it is also discussed and prevented from impacting the development schedule. Iterative approaches are the key to modern project management and, in particular, Agile projects that have a significant subjective element in them. Uncertainty cannot be managed without anticipation, adaptation, understanding, and control. CAMS-based projects exhibit these dual characteristics of iteration and control.

4. Unleash creativity and innovation by recognizing that individuals are the ultimate source of value and creating an environment where they can make a difference. Subjectivity in terms of the skills and motivation of individuals has long been the bane of planned processes. Planned processes for developing software (in particular) strive to modularize the subjectivity of individuals. Such a value statement encourages and embraces individualistic, subjective characteristics of people working on projects. Once the right individuals are put together in a project, managing such a project becomes more of a facilitation and removal of any road blocks than keeping track of tasks and deliverables. CAMS, however, also considers the need for structure within a project. Therefore, CAMS-based projects have a formal team structure and well-defined roles and responsibilities. Controlled and managed creativity is the way of CAMS.

5. Boost performance through group accountability for results and shared responsibility for team effectiveness. This value statement also ties in neatly with the second point—encouraging sharing of responsibilities not only between customers and developers but also between team members in various roles. Leadership plays a vital role in fostering group accountability and sharing of tasks. Personal relationships, communication, and collaboration play an important role in boosting performance as they facilitate synchronous, team-based work with opportunities for individuals to express their creativity.

6. Improve effectiveness and reliability through situational specific strategies, processes, and practices. This important value statement enables project leadership to be effective by being fully aware of the dynamically changing situations, both within and outside projects and organizations. While the organizational strategies influence the processes and practices at the project level, CAMS also encourages this influence to vary depending on the situation. Thus, project type, size, and risks associated with the project will dictate the strategies, processes, and practices employed in the project.

Although, typically, they are IT projects, these factors equally apply to any other type of project. The following are the factors and the way they influence the activities, roles, deliverables, and practices in CAMS:

- Project type and size: Ascertain whether the project is product development, service related or, an infrastructure project. For example, an infrastructure project such as setting up of a data center will require a greater use of formality in planning, execution, control, and tracking. CAMS, in such projects, will encourage use of formal deliverables and templates and application of quality assurance techniques to models of architectures and designs. On the other hand, a small mobile application implementation project can afford a much greater agility within its execution.
Budgets and resources: What is the budget for the project (based on cost–benefit analysis of the initiative) and what resources are available for the same? Answers to these questions will dictate the extent to which formality and Agility will be balanced in CAMS. For example, higher budget and resources than a traditional project will enable the creation of a detailed CAMS instance with due consideration to methods friction. A smaller than usual budget will rely on Agile principles and practices—even though such practices may have risks associated with the development output.

- Previous experience: How well experienced is the project team with the use of both formal and informal approaches to its project? For example, a team well versed in formal project management approach will find it easier to create relevant deliverables and models based on templates. This kind of a team should focus on learning the Agile values and practices and embed them within their formal approaches. Alternatively, a team experienced in pure Agile methods should expand its view and encompass the formality of deliverables, tasks, and roles within its development approach. Thus, the previous experience of a team and its members needs to be considered in putting together a CAMS instance for a project.

- Maturity of process: The need for process maturity has a significant bearing on the freedom a team has to practice Agile methods. For example, a legally binding contract that requires the development to proceed only based on sign-offs will require a highly mature process with its deliverables following precise templates and activities dictating the sign-offs. Not only does maturity of a process dictate the formality of deliverables, but it also implies that the activities carried out in producing those deliverables are repeatable. The need for a higher process maturity enforces greater formality and planning as compared with Agile practices.

- Tool support required: The extent of CASE tool usage as required by a method for development and maintenance of the many artifacts of a project is an important factor in deciding the balance for a CAMS instance. For example, if a globally dispersed project requires extensive CASE tool support for modeling, designing, and architecting its software system, then the extent to which Agility can be practiced in such a project will be limited. CAMS will then encourage Agile practices only at individual, personal levels rather than across a dispersed team.

Taken from : The Art of Agile Practice: A Composite Approach for Projects and Organizations

No comments: