|
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: 11330 Comments (0)
|
| < Prev | Next > |
|---|
Agile Marketplace - Announcements and Special Offers
White Paper: Code Review IS an Agile Process!
Peer code review is one of the most effective ways to improve Software Quality – but is it Agile? Done correctly, it absolutely is. This white paper tells you how.
Download Today!
Virtual Conference: Collabnet Agile ALM
Stay current by attending CollabNet’s virtual conference, Agile ALM for Distributed Development, Thursday, April 15, from 7:30 am to 3:30 pm PDT. Free registration.
Register Today!
Webcast: Moving Build and Code Quality Upstream
This interactive panel discussion moderated by Bob Aiello, Editor-in-Chief fo the CM Journal brings industry experts Anders Wallgren, CTO of Electric Cloud and Gwyn Fisher, CTO of Klocwork together for a candid discussion of the cost savings, productivity and quality benefits that can be achieved by stabilizing builds and code quality as early in the development cycle as possible.
Register Now!
Collabnet -TeamForge 5.3
CollabNet TeamForge 5.3 includes Dynamic Planning—providing flexibility to model release scope and timeline in a single view. Now, you can easily manipulate/adjust release data.
Download Your Free Trial
Requirements-based testing (RBT) can help to ensure comprehensive test coverage, reducing the risk of failure and improving software quality. This white paper details how application lifecycle management can be used to more effectively implement RBT processes, offering greater collaboration, traceability and control.can help you increase efficiency, reduce project risk, and improve overall software quality. Learn how MKS Integrity for application lifecycle management enables RBT, delivering full lifecycle traceability to help ensure that project requirements have complete test planning and execution coverage.
Download the Requirements-Based Testing whitepaper
PureCM –SCM for Agile Teams
PureCM helps you to manage development in short iterations: keeping track of changes, supporting automated builds and preserving frequent snapshots of your projects.
Get the free trial now



