So you’ve decided to invest in building some software— a bespoke app for your customers, or perhaps something to make internal processes a little easier.
You’ve just enlisted the help of an external software development company after raving reviews from your friends in the industry.
But how do you know if they are really going to build something successful, and do it in the most efficient way?
Sometimes it’s hard to know they were the wrong choice until it becomes pretty clear: they were the wrong choice. After a certain amount of time (and budget) it becomes clear that your project will never turn out the way you hoped it would.
In this post, we have put together a list of questions to help you figure out if your current software development team is leading you down a rabbit hole, or the yellow brick road to success.
Do They Insist On Project Scoping To Begin With?
You know by now that we are strong advocates of agile methodology.
Put simply, it’s a way of going about a project in manageable chunks, or ‘sprints’, starting with the most important functionality first, then testing and iterating until the end result is achieved.
As part of the agile process, project scoping is the first step before jumping into any actual coding.
In this phase, the product owner assigned to your project should be sitting down with the key stakeholders from across your business in order to gather information, thereafter compiling a detailed plan that covers every aspect of your idea, also known as a ‘blueprint’. This is much like how you would create a blueprint of a house before any bricks are laid, or walls are torn down.
As part of this stage, key milestones of the project are identified, and estimates of the timeline and costs are agreed upon, to avoid any nasty surprises.
This scoping phase is an essential step for two reasons:
- first, it helps to identify potential pitfalls early on and how to overcome them,
- and second, it avoids wasting time on building parts of the project you don’t need— saving time, money, and a lot of hassle.
So if project scoping was something your developers insisted on as the project began, that’s truly a good sign.
Do You Hold Regular Planning Sessions?
Regular check-ins with the key people are an important part of achieving a successful product that ultimately meets all of your needs.
A great development team would make the project as collaborative as possible, incorporating all of your feedback into each phase. A weekly or bi-weekly session is an important means of keeping you up to date on key areas of focus and/or any upcoming changes as the developers make progress on creating your software.
As the client, you should be kept in the loop throughout the process, ensuring you are on board with each new stage. Just imagine if the developers disappeared into a black hole, only to emerge a month later with a completed software that doesn’t do anything you had asked. Another recipe for wasting time and money.
It’s important you are as involved as possible, working collaboratively with your developers to create a final product that meets your requirements.
Have The Phases of The Project and Releases Been Planned Out?
So by now, you may have noticed a theme: detailed planning is super important.
- Each project starts with a scoping phase.
- This then leads to developing a prototype that should address your biggest pain point— this version is also known as the ‘minimum viable product’ (MVP). This is a crucial point in the project as the MVP will actually be released into the market.
- Feedback on this MVP, first-release version is collected to improve upon for the next version.
- This process of releasing and improving is then repeated over and over in the next releases until a final product is achieved. The software product can also continue to be upgraded more and more over time as well to continue to make it even more valuable to its users. Doing so in this way greatly minimizes the risk of launching a product no one will use.
It’s important that all of the project milestones and stages are planned out from the beginning, to make sure the final deadline is reached.
Ask yourself the following:
- Do you know when each phase of the plan will be implemented?
- Were the outcomes at each of these phases agreed on, and are they measurable?
Knowing when and how each stage will commence helps keep everyone accountable for their roles and responsibilities. These should be pre-agreed and visible to everyone involved to keep the project running smoothly and on track.
Have The User Journeys Been Mapped For Each Type Of User And Each Type Of Function?
Depending on what your product, service, or system is, it’s very likely that various different types of people will be interacting with it in very different ways.
Each of these personas will be hoping to achieve something different when using the software.
For example, if you were developing a program for internal workload management, Joe from accounts would likely be using the software differently than Mary from marketing. The same would apply to a customer-facing app where customers would have different goals.
In the same way, an internal admin would have very different roles and tasks compared to a customer user. If either one had the same options as the other it would be confusing to work out what to do on your software platform.
This is another key part of the development process early on—mapping out the various user journeys from start to finish.
Software developers should conduct research and interviews in order to get under users’ skin, to determine what the different user needs are, what motivates them, and what their biggest pain points are.
User experience or ‘UX’ for short, is really key, as you could pour all your efforts into building the ‘world’s best software, but if the actual users aren’t taken into account, ultimately, they will not use it and your entire project will be a complete waste of time and budget.
This is also one of the main benefits that custom-built software offers versus off-the-shelf solutions— your particular users are at the forefront with their unique needs taken into account.
While off-the-shelf solutions may be cheaper at first, it’s very likely you’ll see a lower return on investment compared to a more tailored solution.
In summary, understanding user needs and journeys should form a crucial part of the development process to ensure your software will actually be used by the real Joes and Marys you are building it for in the first place.
How Are You Measuring The Progress Towards Your Development Projects Goals? Can You View and Understand This Progress At A Glance?
So now that all the planning has been completed and the project work has begun, how do you make sure everything is on track?
Measuring the development progress as it unfolds is crucial to meeting your final deadline.
There are various metrics you can use as part of the agile software development method that provides insight into productivity throughout the different stages of the project’s lifecycle. Each stage should have agreed-upon outcomes, or key performance indicators (KPIs), against which progress will be measured.
There are many different types of measures you could use, for example, if you are developing a customer-facing app, this could be the adoption rate by customers. This rate is then compared to the targets set in the initial planning phase.
Or alternatively, your measurement could be progress-led, such as the percentage of code written for each phase of the project.
Whatever yardstick has been agreed on, it’s important that all stakeholders are able to access these reports and also understand them easily. Sometimes developers can forget their clients aren’t as well-acquainted with the common software project measurement tools, which can lead to confusion and disappointment.
Insist that your developers track progress and that you are comfortable with the metrics they use to do so.
Are Your Developers Just “Yes Sirs” Or Are They Advising You Constantly On The Best Long Term Project Plan Going Forwards?
Building software can be quite quick. However, building great software sometimes takes a little more time than expected.
Sometimes stakeholders may get impatient and put pressure on developers to launch sooner than planned, but the good ones won’t take shortcuts for the sake of speed.
Cutting corners of a well-conceived plan is a sure-fire way to lead to mistakes. Great developers know this and will stick to the original plan even if stakeholders get desperate.
The stages of the agile method are proven to successfully achieve results, and hasty shortcuts could actually impact your return on investment, or potentially even mean going back to the drawing board if the software is not up to scratch.
Good developers will always have the long-term game in mind and advise on the best course of action, rather than the quickest. Don’t be conned into unrealistic promises of super-quick turnarounds, as with many things in life, great things take time (like a well-aged merlot).
There you have it: Exactly how to assess your current software development team!
If you aren’t sure, these questions can help you assess if your developers are on the right track to building the most effective software that meets your users’ needs.
Good planning, phased development and strong communication throughout are the tools for success, and asking these questions will help to separate the average joes from the great.
At Co-Foundry, we work closely and collaboratively with our clients to build the most effective tailor-made solutions. We don’t take shortcuts or skim steps, which is how we have built industry-leading software for clients like Dulux and Elint.
Contact us today to chat about how we work together to meet your development needs.