By Francis Miers, Director at software consultancy Automation Consultants
Managing multiple large software projects in financial organisations can involve hundreds, if not thousands of team members, which presents a challenge for programme and portfolio managers who need to deliver projects on time. Often, they will also need to consider how to link thousands of developers’ and testers’ projects and activities to the organisation’s overall goals. This is not a straightforward task and requires specialist knowledge, tools and experience compared to managing a single project or set of projects in isolation.
For example, senior management at a large bank might have an objective of attracting more customers to open a certain type of account. A programme manager could very well be asked what IT investment needs to be made to bring in those customers. Until there is enough evidence to support one option or another, the programme manager will be forced to use intuition and experience to guess what investments need to be made. Even tracking a mass of project data will not easily yield much evidence of activities that increase the number of accounts opened. Instead, the programme manager will have to try lots of different tactics and track which yields the best results.
This requires putting in place a way of tracking the investment made in a particular area, linking relevant IT projects to that investment area, and regularly measuring the metric management is seeking to affect, in this case the number of a particular type of account opened. At large scale, to avoid trying to manage an impossibly complex set of variables, one of the few ways to do this is to introduce a custom field at project level linking it to the investment initiative. It is not a fine-grained approach, but it does link money spent to success in achieving a particular goal, without tracking too many variables.
Be creative and consistent
Where to begin in managing a portfolio of agile projects? In most cases, each project will have its team and manager (in scrum projects a scrum master), with its own particular way of working. For example, two different teams may have different measures of progress (e.g. story points can be scaled differently in every project). Portfolio managers, though, need a degree of consistency throughout the organisation to create meaningful reports on progress. They need to create a certain level of standardisation that all teams follow. Otherwise, consolidating the progress of different teams into a meaning measure of progress for the whole portfolio is impossible.
On the flip side, too much standardisation can stifle creativity and inhibit initiative. It is important to strike a balance between standardisation for consistent reporting and freedom for project teams to customise their working processes. This is something for senior management to bear in mind when creating standard reporting templates and KPIs.
Managing a portfolio or collection of projects is a big task for any one person to do on their own. A team of people is often required to collect the progress reports from individual projects, make them consistent and combine them into reports for the next level of management up. Very often this is done with nothing more advanced than a spreadsheet. In larger organisations, these consolidated reports may then undergo one or more further consolidations for higher levels of management. The whole reporting process is time-consuming and error-prone.
Various tools exist that can help, although no one has yet established itself as a de facto standard across the industry. This may be because mainstream adoption of agile development methods in the financial sector is still relatively new, and so, therefore, is the need for tools to managing large numbers of agile projects.
Best practice with a reporting framework is to permit customisation of reporting at a lower level (sprints and stories) and standardise it at upper levels (epics, releases and initiatives or groups of releases). The goal is to ensure that standardised reporting is still adhered to, despite beneficial customisations, and prevent wasteful processes like reporting of data in another tool (all too often the aforementioned spreadsheets). This approach takes time to bed down in a large organisation and requires a comprehensive training programme for scrum masters and other key actors in the agile development teams. A good standardised approach to reporting promotes efficiency in the generation of management information across the organisation, and can be adhered to whilst still allowing for creativity.
A further option for managing agile projects on a large scale has recently emerged in Atlassian’s new Jira Align tool, formerly AgileCraft. Atlassian acquired the company behind the tool (both were called AgileCraft) in March 2019, and renamed the tool to Jira Align. Despite the name, Jira Align is a standalone product, not related technically to Jira, although it integrates with Jira and with other project management tools. It scales up to the thousands of projects, and is suitable for managing the development efforts of large to very large organisations. An interesting feature of the tool is the ‘Why’ button. Every story, epic, initiative and strategic goal represented in the tool has a ‘Why’ button. Clicking it will reveal the next highest artefact in the hierarchy, all the way up to the strategic goals set by top management for the organisation. Thus, a developer working on the most minute task can discover, by a series of clicks, exactly where that task fits in the grand strategy of the organisation. Perhaps this feature would not be suitable for some more secretive organisations, but in the majority of cases, being able to know “what it’s all for” not only helps with co-ordination within and between teams, but is a powerful motivating factor.
Managing pressures on IT
Personalising and configuring collaboration and project management software is important for teams’ efficiency and creativity, but it can put pressures on the software. For example, project management tools like Atlassian’s Jira Software are highly configurable (think custom fields, workflows and issue types) but if every project has its own configurations, the performance of the tool as a whole can be adversely affected. Ideally, a balance must be struck between allowing project managers to configure and optimise the software for their projects while preventing customisations which slow the system down unduly.
The compromise here is usually found by restricting free-for-all customisation, and processing requests for customisation through a helpdesk. For any given request, the helpdesk can assess whether a similar customisation already exists, can decide on the likely performance impact versus the benefit of the customisation, and can advise on any other methods that could be used.
Train ‘power users’
An effective management strategy for software projects will only be successful if the people involved in the process know what they need to do. Managers need the right people in the right positions, which means scrum masters, project managers and other key actors who can, and are keen to be trained as ‘power users’ of a project management tool. It is essential to have a cadre of power users who know and buy into the reporting standards. The power users will be instrumental in establishing consistent processes and encouraging others to use tools according to the standards. They will also help to address IT issues with the tools, encourage creativity, and spread good practice.
Training a cadre of power users is why a comprehensive training programme is required, as noted above. Portfolio managers cannot ordain good practice from above – there must be buy-in from all involved. The more people understand the processes, and the need for them, the more likely projects will be completed on time and budget, which is the central goal of portfolio management.