Here’s a scenario familiar to many of us.
A shiny new project has emerged. Might be a new idea for your startup, an internal application for your company or a new customer offer.
What’s the first thought that whizzes across your mind?
How about …… “Let’s build this baby from scratch. Then I am in full control”. But whooooah, hold your horses.
What you need to immediately answer when confronted by a ‘shiny new thing’, is to understand where your Core Intellectual Property (IP) is being held? Let’s look at a few key value drivers for tech companies;
Algorithms : it’s the core algorithms that are important i.e. you may be using existing data science or AI engines but it’s your model that is key
Customers : nothing to do with your systems but actually the value of having your customers — keeping them happy is the top priority
Brand : your brand is important (often a myth at SME level) where any system you produce must level up to the Brand ethos
Execution : your USP may be around executing better than your competitors
Data : the value you hold is in your data. You may be a data aggregator and produce unique insights for customers
System as a whole : this is where value is the whole system and needs to be developed from scratch
As you can see from the example above, you don’t need to build a system from scratch but can use customised and/or extend existing applications to drive value.
If you need to publish information, what about using a CMS (content management system) such as WordPress, Drupal or Joomla, and then develop your own plugins that extend the system.
For a line of business application, look at extending your CRM (Zoho, Salesforce etc) with bespoke modifications or external plugins.
With a new project, you have the opportunity of mocking up the system. You can use standard tools for mocking up e.g. Balsamiq or Axure.
However, if it’s a form/database type system, then you can mock up with an online database (e.g. Knack, Caspio), though personally I’ve found their functionality to be lacking and recently used Microsoft Access to do the mock up (I hadn’t used it since 1998 — not changed much but had the mock up functionality I needed).
If it’s a web application, mock up with WordPress and a form plugin.
Using a slightly higher level application for mock up, might be enough for an MVP to engage and test users.
But be careful of “let’s build with what I know” syndrome — it may not be suitable.
If you need to build the system, make sure that you choose something than can scaffold a lot of the application i.e. JHipster for Java Spring or Ruby on Rails scaffolding. Then make sure you use the appropriate plugins to get more done. Finally you can start coding.
Remember, someone has probably solved this problem (or part of it) before.
Also remember to give back to the community.
For mobile applications, can you develop something quickly in the cross platform framework (ionic or react native) and refine later.
Another consideration before starting, is to understand likely usage and volumes so you can build in redundancy or estimate when systems need upgrading.
A couple of examples;
I was recently asked to verify a big infrastructure project in a large enterprise. It was using a set of Oracle tools which were then being modified to the companies needs. The project had been running a year but released very little to users. On closer examination, they were using old versions of the tools. If they simply upgraded, 90% of their requirements would be met! That was my report back to their CTO.
Some time ago, a major infrastructure project invested several million, using a major consultancy building a system based on Oracle that ended up being used by only 2 users.
A later project needed a similar system. We built it internally in MS Access for 10s of thousands and ended up with over 50 users. Pretty much the same type of users and requirements but it came down to understand using the right cost effective tool to start with.
During recent years there has been a remarkable transformation in the volume and quality of ‘off the shelf” applications that save you vital resources in not having to build from scratch.
The urge to do it yourself remains strong, I know, I’m with you. But always take a step back and see what can be achieved, with what is already out there.
CTO Academy : Management skills training and mentoring for tech leaders
and developers around the world