The differences between waterfall software development and agile are deeply fundamental. The first and most important thing to understand about the latter is that it's not actually a process. Rather it's an overarching mindset that dictates how certain processes will be organized and executed. The idea is centered around putting people, and their development objectives, before processes. Fleshed out, this means that rather than a piecemeal approach in which everyone performs one niche function, and throws the project onto the next phase with little regard for the program as a whole, all parties involved work together toward the same goal. This is to create a polished, ready-for-market solution for users.
That having been said, leadership in an agile environment must not be viewed as someone who architects workflows, but as someone who reinforces the agile mindset. Achieving this requires the following characteristics:
Knows how to foster collaboration
Strong collaboration is the bedrock for the agile mindset. It's what makes it possible for teams to actually build, design and test software with greater consideration for the actual solution and its users. Without collaboration, everyone would perform their tasks under the assumption that what they did was always in harmony with what everyone else was doing. As such, by the time the solution reached test management, it risked being a clumsy, buggy application. As the gatekeepers, testers were in the unfortunate position of having to either rush QA management, or send the solution back down the line, much to everyone's chagrin.
Agile leaders must therefore be able to foster an environment of open collaboration to prevent this from happening. This goes beyond using communication technologies and tools that keep developers and testers on the same page. It also entails a cultural shift in which team objectives are clear every step of the way. This includes making room for a test management strategy that is deeply embedded in workflows, rather than tacked on at the end of development.
Under the leadership of managers that continually seek out new ways to build working relationships among QA teams, an agile environment can function as a well-oiled machine.
Agile development isn't overly focused on rigid processes, but rather, on adapting processes according to the objective at hand and the needs of the people working to achieve it. As such, kinks in the workflow become everyone's problem, and this fosters a healthy, team-based accountability model. In order to enforce this mentality, TechTarget contributor Yvette Francino makes the argument that project management under agile leadership is a different ball game.
"The agile project manager has the role of a 'servant-leader,' acting as a facilitator to remove blockers," Francino wrote. "This may be very different from previous project management positions in which a project manager is in a command-and-control position and acts in a position of authority. In agile, there is no one person who acts as an authority figure."
In other words, there is little room for micromanagement in agile development. Having a single person in charge of telling everyone what to do would negate efforts of creating a collaborative environment in which everyone is accountable for the deliverable.
"The team, as a whole, is responsible for deliverables," Francino wrote.
Can identify the right tools for the job
Being able to nurture the ideological frameworks that comprise agile development is arguably the most important job of project management in an agile environment. However, once this is achieved, it helps to know what tools accommodate this mindset and enhance processes across the board. This is where real-time project tracking tools that help underpin objectives, and keep everyone on the same page in terms of what needs to be done, come in handy.
This is especially important when it comes to test management. Agile leadership must ensure that testers have a way to streamline defect management so that bugs are addressed as they're detected. In fact, this is what makes it possible to shorten the time between iterations so a solution can be updated as needed. To this end, it's also important that QA is able to track test cases within a test cycle, and make sure that nothing falls through the cracks. A strong test management system achieves this. It's therefore important that agile leadership is aware of what's on the market, and which QA software testing tools have the functionality that will support project development.