In enterprise-level scenarios, software projects often stretch across various development, testing and other IT teams, which can make for a tricky management scenario.
However, with the right software project portfolio management strategy, administrators can better manage development across multiple teams, centralize coordination of software delivery efforts, and streamline support for project planning and delivery. Luckily, there are some relatively straightforward practices that team leads can implement in order to make portfolio management a little easier.
Let's examine six practices that can specifically bolster software project portfolio management, such as implementing sensible Agile development methodologies, creating a clear product roadmap and keeping business stakeholders in the loop.
1. Be diligent about Agile practices
As many software pros know, Agile plays a key role in project management. Development team leaders who want to instill an Agile development methodology in enterprise-level scenarios will first need to focus on applying those Agile practices within individual software projects or portfolios.
Part of this means shifting the teams' focus away from classic project delivery success benchmarks and metrics, such as keeping the project "under budget" or delivering software products "on time." Instead, choose more holistic, value-driven delivery criteria, such as a project's true ROI, regular customer feedback and the marketability of certain application features.
2. Stay on top of requirements and dependencies
Software management teams face a particularly big risk at the enterprise level. As an application architecture grows in scale over time, things like feature updates, remedial fixes or third-party integrations will need to conform with a wide array of existing organizational standards. Therefore, teams should perform some upfront requirements analysis that will help define the overall scope of a project and determine necessary guidelines.
On that note, it's important to realize that software component dependency conflicts will invariably arise when multiple teams work together on a single initiative. This reality is why it's so critical to implement tools that clearly illustrate dependencies and alert management teams of any necessary adjustments to things such as application scale, release dates or resource capacity.
3. Focus on team collaboration efforts and tools
Development teams should apply Agile practices with diligent adherence to the Agile Manifesto if they want to ensure that teams interact properly and develop working software. Part of this practice means making sure that cross-team collaboration efforts always take the overall portfolio plans and requirements into consideration.
When software teams manage work at the portfolio level, it's critical to outline the methods used to capture and measure business goals, such as epics and the specific user stories that they encapsulate. Once this information is communicated to all teams that have a hand in the portfolio, they can then start to decide what tools they'll use to bolster and streamline collaboration.
Software project portfolio roadmapping tools, in particular, can provide better visibility across development teams, product owners, IT managers and business stakeholders. For instance, team leads can update a portfolio roadmap in real time to track the progress of various projects and development efforts, as well as map the dependencies that exist between those projects. Airfocus, Craft.io and ZenHub Roadmaps are a few good examples of this type of tool.
4. Pay attention to your Agile framework
The effectiveness of communication and collaboration also depends heavily on the specific Agile development framework in use. These are some of the common Agile development frameworks teams depend on when introducing Agile -- and, in particular, Scrum -- at an enterprise scale:
- Scrum of Scrums
- Large Scale Scrum (LeSS)
- Scrum at Scale
When it comes to Agile frameworks, the key is to define individual team member roles carefully. For example, the role of a program manager may include supervising the portfolio roadmap, facilitating periodic planning meetings, and aligning business goals with IT goals at the initiative level. These responsibilities require that they work with both development and test teams to properly align things like epics and development workflow work on the overall project roadmap.
5. Standardized integration and testing
When multiple teams are involved in a software project, it can create a complex application environment that will require increasingly intensive feature integration and testing processes. For example, if a project is defined as mission-critical, teams will need to prioritize the planning and coordination efforts that support it.
It's also important that the teams responsible for system tests on multiple products have a clear understanding of the overarching business goals and requirements. These testers should familiarize themselves with each individual project team's delivery schedule, which will allow them to effectively allocate resources and predict an expected timeline for high-level functional testing.
At the portfolio level, a dedicated QA delivery team can perform system testing, which is common in larger organizations. Keep in mind, however, that this also depends on maintaining a clear software portfolio project roadmap, which will be essential for coordination and planning with QA testers.
6. Involve business stakeholders
Finally, keep in mind that business-side stakeholders are an integral part of the software portfolio planning process. These stakeholders should work directly with program management and software team leads to prioritize initiatives and maintain a focus on the high-level business values. This practice will help clarify the epics, metrics and other elements that will define the specific software project portfolio management plan.
Unfortunately, at the enterprise level, there will likely be a lot of stakeholders who want to provide their own input. Because of this, requirements may become complex, and might require even more upfront analysis and prioritization across all related product efforts. While it's important to hear out these stakeholders, ensure that IT-level leaders can still make their own independent portfolio management decisions.