Software Development as Core Competency

2020 is a lot. For over six months now, we’ve been changing and adapting to get through this pandemic. We’re wearing masks, keep distance to other people, and figure out the new normal as we go.
It’s not just our personal lives where we need to adapt, but also our business world. Suddenly, we can’t go to stores anymore, and in-person services become challenging or impossible. This situation forces many businesses to overthink their strategy.

Basically, from today on, they need to solicit or conduct business online and even reinvent themselves to stay relevant. We’re in the middle of Digital Transformation, and it just became non-optional. Either you accept and go with it or staying in the game will become more challenging than ever.

Because we can’t meet in person as we used to, much interaction happens online via websites, text, and video chat.
For companies, this means to step up their game in software development. There’s a lot of new tools and best practices to work through. How do you write clean code, integrate Code Reviews, Continuous Integration, and Continuous Delivery into your workflows?
But most importantly, do the internal processes support software development?

Let’s say a company’s strategy was to sell cars in their dealerships before and now wants to move the business online.
Building the software development competency in-house is one thing and a high priority. More importantly, however, it is to ensure that internal processes are set up to support a digital-first business model.
The process of how they sell a car now is changing completely. Before, there was a Salesperson that helped and walked you through everything. Now, there needs to be a configurator. You also need to keep track of how many cars you have in the lot and possibly deliver them to the customer’s home after the purchase.
How do you manage payments and signing paperwork? All of that needs to happen online and quickly.

To meet all these requirements, the software development team needs to focus on delivering software quickly and in high quality.
That includes Continuous Integration and Delivery, automated Testing, a well-defined deployment process, and short development cycles.

Since this will be a new system, not just from a technical standpoint but also from customer demand, it might not be easy to predict demand upfront.
This circumstance requires a dynamic hosting environment where you can quickly scale up and down as needed.

How quickly can you react to changing market conditions? How does your internal change process look?
If a customer requests a new feature or reports a bug, how long does it take you to react to it? Now, a bug fix is a different process than a feature request. Yet, both undergo some decision process beforehand before they get into software development.

If you look at your organization from a bird’s eye view, do you notice any bottlenecks? Ask yourself this: Where would your workflow break if you released unlimited work into the organization? Where’s the bottleneck? Is it software development? Is it QA? Ops? Product? This bottleneck will determine how much work you can get done in a unit of time.

So, it’s not just starting to hire software developers but also remodeling your entire organization to become digital.

What do you think? What are your experiences? Please share them with me in the comments section and follow me on LinkedIn.