Tag Archives: SDLC

Reboots and Turnarounds: Changing your software development?

What is a turn-around? Having a conversation with a colleague yesterday around a “turn-around” project we are doing for a client. Going a new direction can be considered a negative thing, but it shouldn’t be assumed so. New directions for a business are commonplace. Sometimes technical debt overwhelms business value. Sometimes the customer base needs shift radically. Whatever the case, a significant change is needed. Sometimes it helps have a new leader or team to change the game. This is where people like me come into place.

Helping Navigate Change

So if a turn around is needed, change is required. We need to talk people, process, and tools. I always prioritize them in that order. People are the hardest to find. It can take years to develop the expertise in house. People change easier than process and tools. You never want to change the people, rarely does it make business sense. The process is usually the biggest problem. The waterfall to agile process change was painful, but thankfully mostly in the past. Most organizations understand the value of process, but make too many exceptions. Exceptions impact the process’s business value. Reviewing the process with the team and re-enforcing/incentivizing adherence is the best approach. The tools are the easiest part. If there is a tool in place that is performing well, leave it be. If there is a gap, analyze the need and offering and fill it. Having the team evaluate and select is important. Buy-in is required whether it be people, process, or tools. Having the team work in concert is always good hygiene.

Creating a Positive Foundation

So now the basics are done, let’s talk about the business. What and who are the customer base? What is our moat? Who are our competitors? How do we reach our customers? Do you have a customer advisor board? These are are vital inputs to a what I call a “north star”. If you are wanting to go a different direction, never run away from something – run toward something. The north star allows you to have direction in your turnaround.

After evaluating the team, processes, tools, customers, and market its time to make decisions. Creating a plan is always tricky. You want to set appropriate and achievable short, medium, and long-term goals. I like to start with the long-term goals first. Perhaps its a new product release? What is that timeframe and business metrics required? With the tentpole agreed upon, you can leverage best practices to define medium and long-term goals. The metrics make the goal. You cannot have goal unless you have metrics to can check to ensure you have achieved it. This is the most common mistake made in software development. Creating nebulous goals alienates business leadership in software development. So with the plans in place and agreed upon metrics, you can spin up your tools to track those metrics. Once you have the dashboards in place with people following the process, you can start sprinting.

Process That Re-enforces Change

Sprinting is the agile process of development. How do you eat an elephant? One bite at a time. That is how software development lifecycle (SDLC) works. You have a planning session to define what are the immediate and stretch goals for the next 2 weeks. You load up the work with the developers and they start eating that elephant. As the team works, they track their individual outcomes in software tools. Those tools allow management to understand how quickly that elephant should get eaten. At the end of the sprint, you do a retrospective on the results. Those results get added as input to the planning session for the next sprint. This cycle repeats until the product is end of life. Software development is about retrospectives and planning sessions. Here is where the business can help or direct the team to ensure value is created on time and under budget.

Outside of the SDLC, you need to manage the team members. You may need to add or reduce staff on the project team. Their individual contributions tracked in the process and tool helps you understand who are you experts and who needs help. Training and cross-training are vital activities to help teammates grow and excel in their roles. Understanding the needs of the people are as important as the needs of the outcome. You will not have a good outcome without good people. Setting and tracking individual achievable goals is important to the long-term success of any software development team.

Ensure You Are Creating Quality Outcomes

Quality assurance is where releases become a reality. As I have stated before, set a bar of quality and maintain it. Releases are your market credibility, treat it as such. Be transparent with your testing. Everyone in the company needs to know you clean up your own mess. If you are not transparent, your support and sales team will assume you are not doing anything. Regular company briefings of your triumphs and tragedies shows accountability and build trust. Trust is the currency of good stewards.

Most “turnarounds” are a positive thing. The business wants to make a shift and a reboot is necessary. Create your new north star and follow it. Leverage best practices. Make sound, informed decisions using data. Be transparent to your customer, the business. Starting new is opportunity. Let me know how your reboot journey is going.

Build. Your. Moat.

The positive business climate we have enjoyed to may be ending. The recession is here or will soon be – say experts. There is angst and concern for many in the technology sector. But I like to think more on the positive side of things. Now is the time to build business value. You need to drive your competitive differentiation. Either double down or create one. My most common phrase lately is “now is the time do build a moat”. The hype may be over, so now building real value can begin.
What do I mean by moat? The term “moat” in a business context was popularized by the investor Warren Buffett, who used the metaphor of a moat to describe a competitive advantage that protects a company’s market position and profitability. This is how you defend against upstart competitors. This is how you attack entrenched competitors in their space. Having a moat is about innovation. What is your special sauce?
There is a reason I say now is the time. AI and software frameworks are plentiful and cheap. As a previous founder and expert in software development, this was not always the case. I remember a three month project to design one AI algorithm that would have taken less than a week now. I remember waiting three months to get server hardware. The advent of cloud, AI, and software frameworks mean that the bar of entry has never been lower. While others may be worried, I am not. I say again, Build Your Moat!