Unless you've been living under a rock, you've likely heard about difficulties in the global economy and the potential for a recession here in the United States. I'm not an economist, nor did I stay in a Holiday Inn Express last night, so I can't opine on global economic trends, nor can I make any predictions about what the future holds. But, what I can do is contemplate how an economic downturn would affect our business and our clients.
When I think back to previous periods of economic contraction, such as the late 90s, after 9/11, and during the financial crisis of 2008, it seems that digital production services mostly fared well. COVID depended on the niche area of the digital agency, but most agencies were able to weather the storm.
The optimist in me wants to believe that this will hold true in this case as well. For the most part, I feel that software is still an area where companies will continue to invest even though the broader economic outlook is bleak. The reason why is that software is a differentiating factor that can set one company aside from its competitors. Custom software, when built properly, can streamline processes, introduce efficiencies, and provide customers with empowerment to perform tasks themselves. Because of these reasons, I'm optimistic that the software development business will continue to thrive despite a broader economic downturn.
With that said, how does this affect our clients and the processes they undergo in developing software? Having thought this question through, I have some ideas and areas of focus for organizations about to invest in building software during the present market conditions.
Find a Competent Team
The first step to building software has always been to find a competent team. As the economy has been booming for many years, and many companies are investing in software development, it became clear that there was a shortage of qualified developers. This put a lot of pressure on hiring, both in-house and third-party resources.
The problem that presented itself, however, was the quality of all the developers available in the talent pool. The fact is, there are a lot of people out there who can't do the things they say they can do. This is an issue we've also run into as we have expanded our team. Almost every person applying for a job these days considers themselves a full-stack developer, but in reality, it's a very small percentage who can check off all the boxes of what that title means.
To develop software in a tight economy means making careful decisions and hiring a team that has the ability and experience to complete your project. This means that your job in procuring the team Is a conduct a very thorough review. Now that may be easier said than done. After all, you are not a software developer, so how can you evaluate one?
The answer is to do your research. Get references, see previous case studies, get demos of completed projects, and research the stability and viability of the company you're about to hire.
At all costs, you must ensure that you hire the right team because failure to do so may not result in a second chance.
Take Less Risk Technically
I have spent most of my 25 years of software development working with more or less the same tech stack. I've written in the past about being weary of trendy software choices. In the years I've been doing this, platforms have come and gone, and I've seen some projects rebuilt over and over again because the owners we're always impressed by the latest buzz about this platform or that framework.
In the current environment, your job must be to take the least risky path in developing your project. This means investing in tried-and-true technical frameworks. Now is not the time to experiment with new approaches. Now is the time to work with the team that you've hired to determine what solution is the best for your project today and many years into the future. This is a careful balance of speed of development, availability of resources to advance and maintain it, and a strong history of previous success.
As I said in the previous point, failure to execute properly during turbulent market conditions is catastrophic. Executives and management will not make the same mistake twice, so it's essential to make the right decisions before beginning your project.
Don’t skimp on Project Management.
Management of the project is more important now than ever before. You want to measure twice, cut once, and do that over and over again. Now is not a time to waste, whether money or time. Quick progress, demonstrated by a continuous series of deliverables, is essential to maintain the confidence of the people paying the bills. With all that said, project management is an essential part of the success of your project. Ideally, there are two project-oriented people working together during an initiative. An in-house contact who is on the client side should interface with a season project manager on the developer side. They should be directly in contact with each other therefore streamlining communication between the two organizations.
A good project manager will develop timelines, and a plan of attack, then organize these materials to show consistent progress. They'll also communicate together with brutal honesty. Without two organized individuals with an open line of communication, it's highly unlikely that a project can succeed.
Calculate and Execute Accordingly
It's important to show success early and continuously during your software development project. An early success that can be demonstrated is the development of a comprehensive specification. This is the type of work that happens often during a discovery process or similar. If you've gone through that work, you must stick with the plan developed as part of that process. Engaging in an unnecessary pivot, work orders, and other distractions only add to the timeline, which delays going to market. And if you're not going to market, someone else probably is.
As I mentioned in the previous point, a good project manager will keep you on task and organized, alerting you to the potential for scope creep or distractions as they come up. I'd always prefer that a product goes to market, even with slight flaws, then get stuck in a feedback loop and never finished. As the saying goes, perfect is the enemy of the good, and this has never been truer. We should be shipping products fast and iterating with new releases regularly, based on user feedback. We should not have products stuck in a development loop that prevents them from getting production user feedback.
Focus on ROI-Related Features
I believe it's important now, more than ever, to focus on the business aspects of a project. And one of the most important things to think about are areas where the software can return on the investment you're making to develop it.
Depending on the type of software or building, how this is achieved can vary greatly. In some cases, just building any software solution is better than the way your competitors may handle things so that the entire project can offer ROI. In other cases, it might be particular features which are distinguishing you from your competition. Whatever the case may be for you, now it is time to think about differentiating factors, features, or functionality that can be used to drive revenue. It's highly unlikely to get approval for new software development projects in the near term that don't have some sort of calculation for how they'll increase the bottom line of the business. Management is looking to negate risk, which we all have to get used to for the foreseeable future.
In wrapping up, I want to reiterate my optimism for software development, even during the most trying economic periods. So many businesses and industries have still not invested in software solutions to solve their most pressing needs. The industry is still ripe with opportunities. And for those businesses that have invested, you'd be surprised how many are already at the point where they need to rethink their approach and reinvest in either improving what they have or replacing it.
All of this is happening as everyone is still fighting for development resources. There simply is not enough talent to maintain all the software that exists. For these reasons, I'm optimistic. But as I said before, in times like this, everything needs to be done wiser, faster, and with less error. Taking the above points seriously can make receiving approval for your project easier from management, the project execution more streamlined, and success easier to achieve