Agile Development: Redefining “Management” in Project Management
This paper discusses the new role project managers and their team members play when applying Agile methodology to their software development projects.
Author: Neil Stolovitsky, Senior Solution Specialist, Genius Inside, www.geniusinside.com
Agile development has been around for nearly a decade. However, its popularity as the methodology of choice to develop software has only been embraced in the last couple of years. A revolutionary way of deploying software projects, Agile methodology supports rapid delivery of solutions, responds to changes at any point in the development cycle, and encourages a self-governing and motivated team of developers. Agile methodology has not only challenged the traditional methods of software development, but has challenged the ways in which software organizations look at their project management processes and the leadership teams responsible for the delivery of the development projects that directly impact their success.
It’s about Self-Governance and Facilitation
In traditional project management roles, project managers painstakingly plan all the details necessary to successfully deliver a project on time, within budget and according to specifications. In many cases, this labor intensive effort applied to development projects can lead to missed opportunities and delayed results in an industry that is constantly shifting directions to respond to customer demands. Consequently, many software organizations have adjusted the way they run development projects by embracing the customer-centric and developer driven Agile methodology. In turn, project leaders have adjusted their roles by allowing teams to self-govern their projects to ensure a project’s objectives are met.
Agile development has typically been classified as a “lightweight” software development approach that encourages quick changes and rapid delivery of solutions. Some of the more popular methodologies include Scrum, Crystal Clear and Extreme Programming. All are designed to have a more inclusive and iterative approach to software development projects. In contrast to the more rigid Waterfall methodology, Agile methodologies encourage a democratization of development that is believed to improve team collaboration and accelerate delivery to customers. Core to an Agile development environment is the shift in power from the project leaders who have traditionally driven projects from start to finish, to the team of developers who are actually designing and building the product. Each team member takes ownership of their piece of the project and is ultimately responsible for its success.
The biggest challenge Agile environments face is effectively balancing the productivity of project teams through a self-governing system guided by project facilitators. Agile philosophy asserts that “Projects are built around motivated individuals, who should be trusted.” With diverse resources and unique personalities and motivations, building an effective Agile environment requires a different set of skills project managers are typically not accustomed to. More than anything, Agile methodologies demand “project managers” with a keen sense of what makes their particular team tick ensuring the “job” gets done within a very flat organizational structure. Project leaders in successful Agile environments are effective in facilitating the people behind the processes that drive projects.
Agile Development: Projects of the People, by the People, and for the People
For some, the notion of self-governing project teams may challenge the necessity of the traditional project management role that is responsible for the plan, schedule and ultimate successful outcome of a project. In Agile environments, loosening the reigns and placing the project’s ownership on the project team has forced project leaders to rethink their position within the organizations they serve. In Agile environments project leaders are asking: What is the value they bring to self-governing teams? Has their role become obsolete? The reality is in Agile development environments project managers are in fact more strategic than ever. Although the administrative functions around developing plans, building schedules and generating reports may take a back burner, in Agile environments the true leadership of the project manager is tested by how well he or she can lead the troops without the use of a heavy hand.
So, if Agile environments demand a people-centric approach to project management, how does this impact the processes that define a project leader’s role? A classic example can be derived from the Scrum Master role defined by the Agile Scrum methodology. Scrum Masters are defined as “servant-leaders” that on one hand ensure that the project team stays on task, while at the same time protect the interests and the dynamic of the team as a whole. This duality of roles demands a project management strategy that does not separate deliverables from the owners of assigned tasks. In fact, where in a traditional project management model project leadership is a slave to the plan and processes that are divorced from those responsible for execution, the Agile style of project management unifies plans, processes and people as one holistic concept that integrates management and the execution of responsibilities by all stakeholders.
Scrum Roles
In the final analysis, although the Agile methodology assumes a looser structure to its project
management practices, it also allows for a better distribution of power and responsibility that can strengthen the chances for success. Moreover, this holistic approach challenges traditional methodologies on their effectiveness in stakeholder accountability. Regardless of which project management methodology is chosen, all project managers’ would agree that having a better handle on stakeholders can only positively impact a project’s outcome.
A Widening Stakeholder Circle Means Better Collaboration
Probably the biggest lesson Agile development methodology can teach traditional project management environments is that successful projects are realized by successful teamwork. The biggest asset to any project is its people and their ability to work together toward a common goal. Agile methodology encourages an all-inclusive environment where feedback and project ownership are in the hands of all the people that touch the project. In fact, the development team responsible for the execution of the deliverables and plans becomes an equal stakeholder in the projects they serve. Moreover, the sharing of ideas among customers, developers, and management and the ability to quickly respond to change allows for a more transparent and flexible project team that is in line with today’s more demanding customer.
Agile development takes stakeholder management to the next level. Where in a typical project management environment stakeholders tend to be the recipients and beneficiaries of the project, in an Agile setting every member of the project is implicated as well. As a result, Agile environments transform project management into project collaboration by creating a unified team with an agreed upon vision. Although in an ideal world this reality will drive the best results, the facts are external distractions and disruptions that can derail a project are inherent to all project environments. In light of this, stakeholder management requires a careful balancing act among all internal and external parties having a clear understanding of their needs and wants. This can only be achieved by implementing an effective project collaboration strategy that will better respond to bottlenecks and disruptions internally, while proactively servicing customer demands and issues externally. The Agile methodology encourages a people-centric approach to project management that recognizes that a project’s success is only as good as the people behind it and their ability to effectively exchange relevant information to make better decisions.
Copyright © 1997 – 2011 Genius Inside. All Rights Reserved.