Article

Graeme Wintle
Graeme Wintle 9 June 2017
Categories Technology

Top 9 Tips for Custom Application Development

We’ve got top tips for you to help point you in the right direction when it comes to that crucial decision of outsourcing your bespoke application development to the most suitable supplier. Get that choice wrong, and the consequences for your business could be disastrous.

Finding a supplier for custom application development can be a potential minefield without significant planning, research and careful consideration.

Home automation devices, industrial controllers, intelligent sensors and many other types of smart devices will be made up of many hardware and software components. These software elements may be a combination of many applications from different vendors or one single application running on the device.

We’ve got top tips for you to help point you in the right direction when it comes to that crucial decision of outsourcing your bespoke application development to the most suitable supplier.  Get that choice wrong, and the consequences for your business could be disastrous. 

First, let’s examine the main forms of application software.

Types of application software

When a product company is looking to fulfil the software requirements for their new device, they may be looking to find some software that already exists to cover their requirements or alternatively look to design something bespoke tailored to their needs. The choice of off the shelf or bespoke is not as simple as it sounds and there are many grey areas in-between.

There are three basic levels of application software available to the product designers:

OTS Closed source

Closed source applications are applications that are licensed normally in binary format from a software company; these will be used without any modifications other than options in the application itself. These applications may have the ability to reskin or adjust the look and feel of them to a degree, outside of this the users would have to request a change to the vendors, this may not be something that would be entertained or not in a timely manner.

This software maybe licensed per device, product range or company basis depending on the pricing model. It is likely that this cost is the lowest of all three choices but with the drawback of the features being fixed by the supplier, it maybe that the supplier will address bugs and add new features but these will not be controllable by the client.

As this software is already available this is the quickest way to get a product to market. Testing will already have been performed, if there are bugs these cannot be corrected without the software vendors help and support which may take time depending on their internal priorities.

OTS Open source

Open source applications are supplied with full source code and authors can take this and modify the sources themselves, depending on the licensing model the modifications may need to be reincorporated back into the public domain for other users to leverage. So although changes can be made, releasing this intellectual property back into the public may not be viable or depending on the changes needed the modifications may just be too extensive to make.

Although this software is normally free, it’s important to note that even building the system may take sufficient time and resources - either internally or from a 3rd party. Configuring and modifying the system may require significant effort. Open projects may contain generic features over many years causing the code to be hard to maintain, service and change.

Reliability will be on a per-project basis, well maintained and used projects may contain few bugs, they also may be very prone to changes as new features are added; customising a particular version will lead to difficulties when upgrading to new versions down the line.

Many elements have a known starting position, software features, bugs, security; depending on the amount of customisations this will affect the costs and timescales to a greater or lesser extent. Testing will be necessary on all changes. The main project will most likely continue to have new features added by contributors, so care should be taken in order that future releases can have your features integrated without major rework.  As these are not controlled by you, this is a big unknown for support.

Custom

Custom applications are designed from the customer requirements, they will only contain items requested so are totally focused on your product. Some elements of the application may leverage open source components but being careful of the licensing model so that any sensitive IP is contained in the bespoke side and so kept private.

These types of application generally take more time to design, timescales are longer and development costs higher but they are focused on the goal of the device. The end result will be more streamlined in terms of performance, memory usage and only contains the features wanted and be accessible in the way conceived by the product designers.

All elements are under the product designer’s control. As the software needs to be designed, the timescales are the longest and must include testing and validation before release. Costs will be initially high for the development process, but once finalised should be only then on support and new features for future releases.

Types of application software

Need

Close source

Open source

Custom

Requirements

Features are defined by the software vendor. These may include many additional features not required or exclude wanted features.

Features are defined but as source is available can be modified with effort.

Features are as required

Licensing

Contains IP of the software vendor

IP can be added but care needs to be taken if this needs to be share back to the community

IP is private

Cost

Probably the lowest. Likely to be on a per device basis, maybe a one off cost for the product range.

More of a middle ground in terms of cost. Initially free but will require significant work to enable or configure the system to make it suitable for a product.

Cost will be high in development of the product but then should be no cost per device when shipping.

Support

Under control of the software vendor

Community lead or 3rdparty.

Directly from authors of the software

 

Top 9 Tips for Custom Application Development

Here’s our check list to keep you focused and on track for planning a successful application development project.

1 Get Your Spec Down

When planning for your custom application development, nothing is more important than having a clear vision of what you want the software to achieve. Ultimately, your custom software should add value, improve efficiency and support your business goals. 

Avoid getting carried away with a long wish list of features. Stay focused - whittle this down to the absolute essentials required to align with your business needs. 

2  Do Your Homework Thoroughly

When seeking a custom application development supplier, do you homework thoroughly!  It sounds like stating the obvious, but it’s surprising how many people skimp on this fundamental step – exposing themselves to big problems that will ultimately derail budgets and add delays to a project.

Research the supplier – be sure they can evidence crucial information such as date of incorporation, certifications such as ISO9001 and membership of relevant industry bodies. Don’t go near any business that doesn’t have references or testimonials.  With any firm that does, always follow up privately with the clients to get the whole picture.  That way, you’ll get a good idea of the experience you can expect as a customer.

3  Don’t Skimp on Resources and Expertise   

Grill the company thoroughly on their expertise and resources. In particular:

  • What do they specialize in?
  • How broad is their experience across the embedded software stack?
  • How much prior experience do they have in working for your type of business or project?
  • Do they have the manpower and expertise to meet – even exceed – your project requirements?  This is particularly important, as your supplier could potentially become a long term development partner.  Find out who would be working on your development and the type of experience staff have.
  • What security measures are in place to protect the custom code during development?
  • What sort of timescale would they put on your project? This is the best way to get an idea of costs v your budget. 

4  Be Mindful of Methodology

  • Software design houses develop applications using various methodologies – including agile, SCRUM and waterfall.
  • Be sure that the one you choose for your custom application development supports your business needs, and go through this with each prospective supplier to ensure their working model lines up with your project.

5  Ask “When Has It Gone Wrong?”

Don’t be wary of challenging your prospective supplier by asking them about a project that wasn’t successful.  The point here is to find out how well the company performs on four project-critical levels; discovery process, communications, methodology, project recovery.  You need a custom application development provider who owns their mistakes and learns from them.

A firm that just blames the client or constant spec changes isn’t necessarily taking responsibility.

And that should sound alarm bells.

6  Clarify Your IP Status

It’s essential that you clarify with your prospective developer all issues surrounding the intellectual property rights of your data.  Make sure lines are clearly drawn on source code and IP from the beginning, take legal instruction from an intellectual property lawyer, and get any agreements in writing.

7  Prioritize Communication Protocol

Clear communication is a prerequisite for a successful custom software development. Be sure to stay across every stage of the project.  Find out how the company communicates between colleagues, teams, projects, clients.  Does their communication protocol support your development requirements?

8  Budget

It’s vital you understand the costs of development, new features to be added after initial release and for maintenance purposes. If your specification is clear a vendor should be able to give you a fixed cost for the development, this should including warranty and break down costs of all your features for transparency.

If your project is large, then it could be that the vendor can develop the release in a number of steps to get you to market quicker with reduced functionality, then building on this as you gain more market traction. 

If this is the case, be sure you get costing for all the phases, not just the initial one - even if these are estimates this will give you a view on the total project cost.

9  Factor in Scalability

Ask yourself: does the prospective supplier have the capability to futureproof your bespoke application to keep it up to date in line with the market, the industry and your business growth?

Discuss the items on your wish list with your vendor and make sure they are well-informed of your plans. This  will allow your developers  to design the application with the ability to cater for these features in the future -  keeping the development costs down and mitigating redesign of core features as you progress.

Conclusion

Done correctly and with due diligence, this thorough vetting of potential suppliers should provide a solid foundation for your custom application development project.

There are many things to consider in the development process and in many circumstances the choice of which model to use will already be made for you. Products that have a single purpose may not have any off shelf software that is compatible with the hardware, or simply there isn’t a software package available that fits the requirements well enough.

ByteSnap Design can advise you on all aspects of software development from off the shelf software to fully bespoke designs - working to achieve the product that is right for your business. 

Please login or register to add a comment.

Contribute Now!

Loving our articles? Do you have an insightful post that you want to shout about? Well, you've come to the right place! We are always looking for fresh Doughnuts to be a part of our community.

Popular Articles

See all
Digital Marketing Vs. Traditional Marketing: Which One Is Better?

Digital Marketing Vs. Traditional Marketing: Which One Is Better?

What's the difference between digital marketing and traditional marketing, and why does it matter? The answers may surprise you.

Julie Cave
Julie Cave 14 July 2016
Read more
4 Important Digital Marketing Channels You Should Know About

4 Important Digital Marketing Channels You Should Know About

It goes without saying that a company can't do without digital marketing in today's world.

Digital Doughnut Contributor
Digital Doughnut Contributor 5 November 2014
Read more
Your Project Management Sucks. Here's Why.

Your Project Management Sucks. Here's Why.

For every amazing finished project produced, there is a project management process put in place that made it happen. The question is -- Are you using the process that’s right for you?

Margo Romanowski
Margo Romanowski 11 October 2017
Read more
These 5 Changes Are Coming For Your Site in 2018. Are You Ready?

These 5 Changes Are Coming For Your Site in 2018. Are You Ready?

Let's face it, the Internet is ever-changing. Some changes you can’t predict: at the start of 2011, no one realized that responsive would practically be a requirement by the end of the year. But some changes are known and scheduled. Let’s look at some of the biggest changes that may affect the way your company communicates through digital channels.

Mike Norman
Mike Norman 13 October 2017
Read more
Three things we learned at the Festival of Marketing

Three things we learned at the Festival of Marketing

Last week Digital Doughnut joined hundreds of marketers attending the Festival of Marketing at Tobacco Dock in East London, to hear 160 hours of presentations and panel discussions spread over two days.

Linus Gregoriadis
Linus Gregoriadis 9 October 2017
Read more