Developing bespoke software is increasingly crucial to achieving business goals, but specifying software and managing programmers can be daunting and ripe with challenges.
Knowing what to expect from software developers and how to effectively collaborate with and manage a team can make or break a product.
Get business news first
Sign up to SmartCompany’s daily newsletter
Here are five things that founders can do to lead a software build more effectively.
1. Build trust
Establishing trust between founders and developers is key to ending up with a successful project.
You want to make sure that you trust your developers are working effectively and you build this trust by getting them to deliver working software on a regular basis.
In a startup environment, the only way to build software that effectively works is iterative development. You want to break down the project into manageable pieces and build incrementally, focusing on the highest value things.
Ask your developers to deliver the core capability quickly to provide the main functionality you need. Once you feel comfortable with their work, have them refine the build so that it covers more and more edge cases.
2. Specify the right software to be built
It’s not just a matter of building software right; it’s about building the right software, with functionality that customers actually care about.
Develop user stories so that you are specifying features that have a real benefit to the user. Your user stories are the units of work that will flow through the system.
It’s important to help developers to make better decisions about what to build so that they can solve the business problem with less engineering effort.
Founders should give developers the specifications they need without overwhelming them with unimportant details.
When translating business goals into technical requirements, take into account the limits of predictability. Focus on developing a lean product that you can build upon later when you see how customers respond.
This is particularly the case when developing software in highly uncertain spaces where a startup is not yet sure of what their customers want.
The shorter the software development cycle, the less deep a rabbit hole you’re getting into.
3. Track progress
It’s especially important to track progress with both project management tools and systems like GitHub that allow you to keep up to date with what your developers are working on.
For a small team of developers, software like Pivotal Tracker, Trello or Lighthouse provides a simple way of keeping track of the user stories that need to be built.
Founders should register a GitHub account and have their developer create a repository within it where they will commit code. This allows you to keep a copy of the software being built under your control. Your code is one of your startup’s most valuable assets so you always want to have access to it.
By looking at the commits section in GitHub you’ll also see every time code has been uploaded. If you’re paying for programming and haven’t seen a recent upload it’s time to check in with your developers and see what they’ve been working on.
4. Undertake acceptance testing
Having your developer team run automated acceptance tests is essential to ensure the software performs the way you expect.
As there’s so much complexity in software, it’s very easy for a developer working on one feature to break something elsewhere in the code.
Your developers should be using end-to-end testing frameworks like Selenium or Cucumber to make sure all of the application’s functionality works as it should.
5. Continue to learn
There has been an explosion of methodologies, open source languages, frameworks, libraries and tools to make developers substantially more productive.
Lean about best practices to improve the way you manage a software build and stay informed about the latest technologies that can transform the pace of development.
Most importantly, take time to get hands-on experience with new tools to find out what works best for your project’s particular requirements.
Peter Bell will be speaking at the YOW! Conference in Melbourne, Sydney and Brisbane, organising CTO Summits in Melbourne and Sydney and presenting a workshop on managing a software build in Melbourne. For more information, head over to the event page.