Using Project Management to Orchestrate Collaboration in ALM

[article]
Summary:

The biggest challenges of current application lifecycle management processes are dispersion of teams, muddied transitions, and the constant movement of information and artifacts. Project management tools compensate for this constant exchange by providing artifact repositories, streamlined task management, and visibility across the board.

As the demand grows for faster software development and long-term application governance, enterprises are seeing their legacy development methods fall short.

Many developers are moving away from the traditional software development lifecycle (SDLC) approach and embracing application lifecycle management (ALM) instead. ALM, unlike the traditional SDLC, takes responsibility for new software through its entire lifespan—from ideation to sunsetting—and relies on agile project management combined with greater fluidity between teams and stakeholders.

The essential stages of ALM are requirements definition and management, asset management, development, building, testing, and release.

Across all these stages, project management—whether controlled by an in-house project manager or a member of the development team filling a PM role—is responsible for process planning and systems automation, known as orchestration. The project manager is tasked with making sure the baton passes smoothly between teams and that all stakeholders understand their respective tasks.

Of course, it isn’t always that simple. ALM presents unique challenges to project management, including the following.

Dispersion of teams: It’s common for various teams and team members to collaborate on one project from separate locations, or even separate countries. Such minimal face-to-face interaction can often result in disparate, unorganized, or redundant communication.

Muddied transitions: Projects no longer unfold in a waterfall fashion, with solutions being passed “over the wall” to the next, distinctly separate team until they reach completion. There are certainly different roles involved in ALM—business planners, developers, testers, etc.—but ALM relies more on a collaborative ecosystem than a tiered process.

Movement of information: Information and artifacts (code, directories, and files) are shared among all team members throughout the process, rather than the discrete stratification typically found in SDLC approaches. As the information and personnel disperse and complicate, the project manager’s customary roles (task management, risk assessment, metrics reporting, change management, etc.) become infinitely more complex.

Luckily, project management software can help automate some of these key responsibilities and promote seamless collaboration between development teams at different stages of the project.

There are three primary ways this happens.

Unified artifact repositories: When team members are able to post documents, code, and other files into a shared location, the project will be less likely to spawn separate information silos, making version control simpler. Most project management software can also link mailing lists to specific files in these repositories, which promotes reuse of code and creates a general knowledge base.

Organic task management: The traditional approach is for project managers to assign tasks based on their perception of individual capabilities and overall status of the project, but this is a flawed strategy. It weakens the agency of some stakeholders and relegates it to a single, sometimes remote entity. With PM software for ALM, you can let teams pull tasks from a centralized pool when they’re ready to do so. Team calendars—like those found in Atlassian’s JIRA software—are a great example of how this can play out.

Visibility: Agile project management software gives you the ability to make data and progress visible to all parties in real time. The traditional waterfall approach might have you drawing up Gantt charts during the requirements definition stage only to see them quickly become irrelevant and inaccurate. The universal visibility provided by PM software can help developers understand the value of the information they’re being asked to record; they will see other teams access the data and put it to work (versus a blind export). Some PM software even provides artifact-tracking tools, which let users view past changes to files and directories or recover older versions.

Cloud technology and the globalization of the web have changed software development in profound ways. It’s faster, messier, and includes more stakeholders. The pace is set not by cleanly divided phases (as with the traditional SDLC), but by results-driven iterations.

It’s important for ALM teams to understand their function as part of a larger effort, which gives project management the task of driving successful transitions and ongoing communication between teams, no matter what time it is or where those teams are located. The right project management software makes this attainable and efficient.

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.