Today, we’re going to talk about how you know your software team is being effective. This is a question that comes up a lot when we talk to non-technical founders or people who are in a project leadership position but don’t necessarily have a technical background.
You may have a software team in place but don’t have a clear picture of whether they’re being effective or not. Maybe the software team gives you feedback and explains what they’re doing, but you don’t see the expected results.
Software is very challenging and is hard to get right. It’s easy for developers to get into the weeds working on a big piece of technology for a long time. Sometimes they get stuck on a certain component or need more time to work out the bugs.
There are a lot of different things they could be doing that you don’t have insight into as a project leader. There’s no clear visible way of seeing what they’re doing or what they’re delivering. At the end of the day, though, your developers are delivering value to your customers.
So that’s where to start: understand that your team is actually delivering. You might have a developer working on a larger project for one to two months and you’re starting to think it’s taking a long time. It is. Just remember, they could be doing something very valuable during that time.
Break the Project Down
One way to better understand what’s going on is to break the project down into smaller pieces. Work on an MVP of a certain feature or task. Together with the development team, identify the simplest path to delivering something from their work. This allows your team to deliver something to the customer that may not be completely functional but allows everyone to see the path to success.
At Creative Mines, we used something called continuous delivery. This is a way to constantly have that visibility on what’s being built. We’re not waiting to release after three months or even a year. We’re trying to deliver something every sprint, which is every two weeks. Every project we will be working on is broken down into a maximum of two-week periods. Using continuous delivery, we can deliver every day or every week. But if we have a bigger project, we’re breaking that down and delivering in chunks over those two-week periods. Using continuous delivery, we quickly push features to a test or production environment to get feedback on what’s working and what needs attention.
Many firms aren’t quite at the stage where they can implement continuous delivery. That should be your long-term goal, though. The good news is that it’s not very difficult to do.
To improve visibility into the software process, work with your developers to:
- Create a culture of breaking things into smaller chunks
- Ask for a more regular delivery cadence or adopt continuous delivery