A recent survey by Bain & Company reveals that more than half of US companies have made cuts to their technology spending in response to the economic downturn, with the healthcare, retail, and manufacturing industries getting hit the hardest. While nobody can say with certainty just when these cost-cutting measures will end, one thing is clear: there’s plenty of software development work that needs doing, and limited resources to do it.
If you’ve been racking your brain for a plan to help you move forward on a limited technology budget, a well thought out to-do list can provide short-term guidance as you identify high-priority projects, and work with your partners and other stakeholders to ensure alignment across your organization.
1. Build Your Project Score Sheet
The first step: make a list. Before starting work on any new projects, take inventory of all outstanding tasks, and rank them. If the idea of ordering all your current undertakings overwhelms you, one useful tool you can use is a project score sheet. A project score sheet requires all key stakeholders—Lead Developers, Quality Assurance Specialists, Project Managers, etc.—to weigh each project’s required effort or risks against their reward using a point system.
Once you’ve evaluated your current projects and features, categorize them:
- Critical: issues that prevent key stakeholders from completing day-to-day operations.
- High: time-consuming projects that need to be done, but have temporary workarounds in place (also known as technical debt).
- Moderate: don’t halt the flow of business, but still need to be addressed.
- Low: projects that aren’t time-sensitive in nature and can be pushed back.
- Wish List: new projects that might attract your attention if you had a full budget.
If resources and headcount are limited, focus exclusively on the critical and high-priority projects, while also accounting for those lower-ranking projects that still require your attention to remain compliant. Once the list is complete and organized, plan on the following:
- Create a 3- to 6- month roadmap: now that you know what requires your attention, set a reasonable timeline for completion, identifying project owners and other operative team members in the process.
- Secure followup measures: it’s also important to set the proper cadence on these key projects that will prevent burnout. And remember to follow up at regular intervals to ensure project visibility. This will help you avoid further budget cuts down the line.
2. Assign In-House or Outsource
Outsourcing software development is a great way to free up your internal team to focus on those critical and highly sensitive projects that allow you to maintain day-to-day business operations. If you feel like your software needs are overpowering the capacity of your internal team, ask yourself the following:
- Is it worth the additional expense? In some cases, outsourcing can be a cost-effective alternative to shouldering all projects internally; however, if your budget has shrunk, you need to be very selective about what projects you’d be willing to pay someone else to complete for you.
- What are my team’s specialties? Knowing which projects to outsource comes down to a basic understanding of your team’s core competencies. If you have issues ranked high on your to-do list with requirements that live outside the expertise of your current team, then outsourcing is the right way to go.
3. Prepare Your Team
With cuts to your technology budget comes the possibility of also working with a smaller team. If this is the case, and you have fewer software developers addressing multiple projects, here are some things to keep in mind:
- Utilize your full-stack developers: as opposed to specialists. Empowering your full-stack developers across multiple projects and departments can help break them out of their everyday routine, and spark innovation in ways you might not have imagined.
- Address technical debt: technical debt refers to project components that can take a long time to complete due to poor design decisions. Prioritizing projects with high technical debt will not only keep your team engaged, but also focused on those high-priority projects.
- Beware of context switching: having developers work on multiple projects has its advantages, but context switching is always a potential drawback. If you can, try to keep your developers’ cognitive load down to no more than three projects at a time. Otherwise, things may come to a grinding halt.
It’s easy to want to go into crisis mode when your technology budget has been cut. But it doesn’t need to be that way if you have a plan. Take time to really understand the projects you have on your to-do list and how many of them you can handle in-house as opposed to passing off to a partner. And, as always, set your software developers up for success!