|
On a recent engagement, my company walked into an organization that was struggling to adopt agile software development practices. There was clearly energy and willingness on the part of the development team to try new practices. However, the confusion around new responsibilities of the project manager (PM), business analyst (BA), and quality assurance tester (QA) was preventing progress. While the developers and architects were being challenged to adopt some different practices, the main responsibilities of their "roles" remained the same - to design, code, and unit test. In contrast, the responsibilities of the PM, BA, and QA were undergoing change that was in conflict with the organization's traditional expectations. The training, skill development, and management structure were not aligned to the new demands of supporting an agile development process.
Traditional Phase-Based Software Development
In traditional phased-based or waterfall projects, the roles of the BA, QA, and PM are clearly defined and delineated. The BA collaborates with the application's business owner to capture and document the detailed requirements. The QA tester develops test plans and writes tests cases to verify that the requirements are implemented correctly. Meanwhile, the PM focuses on tracking progress against the project plan, documenting and managing the project risks, controlling scope/change so that the team has a reasonable chance of delivering on-time and within budget, and communicating the overall status of the project to the rest of the organization. While some collaboration is obviously necessary, each of these roles can be seen as having distinct responsibilities within the development team.
As an example of how responsibilities on an agile team blur the distinction between traditional roles, consider how a BA and a QA resource work together during an agile iteration. In the first few days of an iteration, requirements definition is typically more intense. The QA resource will collaborate heavily with the BA to understand and document the detailed requirements on the user stories being built. (Indeed, QA people are often the best at understanding the "edge cases" where a given feature is likely to cause problems.) Conversely, towards the end of the iteration, automating the functional tests usually becomes a greater focus. It would not be uncommon for the QA person to call on the BA for help with this. The more flexibility the team members have in adapting to this kind of shifting demand, the more efficient the team will be.
Figure 1: Changing Project Manager Role source: Digital Focus
Being the business partner also requires the PM to become adept at truly understanding business objectives and translating them to technical requirements. The PM's value is based upon her creativity in being able to solve such challenges. The continuous planning practices of agile development reinforce this focus on the business. As iterations are defined and developed, the team spends less time on scope management, resource management, and team management. Instead, the customer team, and in particular the PM, constantly evaluates current progress against the business's goals and objectives. Those tasks that add business value are pursued and those that do not are dropped by the team. For the PM, the key success criterion is the team's effectiveness at building a trusting partnership with the business owner.
These changes in the responsibilities of PM, QA, and BA are significant and are often not understood by organizations attempting to transition to agile development. Both skills and incentives need to change. The ability to work in a team environment, collaborate with others, and perform multiple kinds of tasks become the most important aspects of individual performance. Agile development also necessitates a much stronger focus on business understanding and creativity. Until an organization alters its recruiting, training, and reward structures to reflect this shift, it will have a difficult time embracing the benefits of agile development. [1] See the Agile Alliance, www.agilealliance.org, for the industry-accepted principles of Agile development.
About the Author
Set as favorite
Bookmark
Email this
Hits: 12781 Trackback(0)Comments (0)
|
| Last Updated on Saturday, 20 October 2007 04:50 |
Agile Marketplace - Announcements and Special Offers
Upcoming Webcasts
Sponsored by Urbancode - On Demand
Mastering Complex Application Deployment
Sponsored by CollabNet - Wednesday, August 24, 2011
Closing the Agile Loop: Continuous Integration, Continuous Information
ScrumWorks Pro – The World’s Best Agile Project Management Tool
Simply put, CollabNet’s ScrumWorks Pro is the best Agile project management solution on the market, bar none. More than 150,000 Agile professionals rely on the power and simplicity of ScrumWorks every day. But don’t take our word for it – try it yourself for free. CollabNet is now providing the first 10 users of ScrumWorks Pro at no charge!
Download ScrumWorks Pro today!
The Business Case for ALM Transformation
Are legacy systems holding your company back? Breakthrough these technical constraints with an open and scalable environment that meets your unique business need to transform. There is no reason to be locked into an obsolete platform. The output of a number of recent transitions from legacy systems, this is practical white paper shares lessons learned and illustrates how guidance and enablement can pave the way for change.
Download this Whitepaper




