Most technology decisions are an exercise in compromise. When it comes to choosing the software you need you can choose to either buy or license applications developed by a third party or you can roll up your sleeves and create your own.
We are spoiled for choice when it comes to buying software today. There are very few business functions that aren't supported by software you can acquire and deploy quickly and reasonably easily.
That's why today's report the Digital Transformation Agency is planning to develop its own software for trusted digital identity piqued my interest.
There are dozens of identity management applications and services on the market.
Why choose off the shelf?
Many business activities are the same whether you're a multinational or a sole trader. Word processing, accounts payable and receivable, email and a slew of other activities are common across all businesses.
For those functions, commodity software is the way to go. There's little point developing an application that does the same work an easily purchased or licensed program does.
The decision then becomes about cost, support, usability and platform.
The downside is you will need to potentially change how you work to fit with how the software developer expects you to work.
Why roll your own?
Developing your own software is a serious endeavor. And there are cases when it makes perfect sense.
When retail contestability was introduced to the National Electricity Market, the systems required to manage customer transfers, ensure meter data was handled correctly and only accessible to authorised parties, and able to manage the expanding capacity needs of the fledgling market weren't available commercially.
Those systems were built from scratch.
Similarly, your business may have a specific, market-defining niche for which there is no off-the-shelf software solution.
The biggest gotcha with rolling your own software is the ongoing maintenance. Application development is rarely a one-off activity. Once Version 1 is released, there will be bugs to squash, new features to add and changing business priorities to accomodate.
The middle ground
Many applications offer powerful customisation options. In other cases, software developers may allow access to their source code so you can modify how applications work.
Platforms such as SharePoint are a good example of the customisation road. You can alter the UI, add workflow, and integrate it with other applications. And those changes usually won't be affected when Microsoft releases an update to SharePoint.
On the other hand, source code customisation can lock you in to a specific version of an application platform meaning you don't get the benefit of new functions or bug fixes.
Thoughts on the DTA's decision
One assumes the DTA went through an exhaustive process to determine whether their specific needs could be met by either an off-the-shelf solution or an identity management platform that could be customised to meet their needs.
The question I always ask when clients suggest building their own software is whether they are able or willing to change their processes to fit with an off-the-shelf solution.
That's often a question met with answers like "Why should I change what I do?".
Developing software is not as easy as it sounds. And many non-technical businesses underestimate the cost and complexity of development and ongoing maintenance and support.
That's not to say businesses should never develop their own applications. But it is critical they understand what they are getting into.
Identity management is a very complex field. And DTA's decision will see them embark on a long and complex project.
What do you think? Are they doing the right thing? Or are they signing up for a disaster? Recent government IT incidents like the Census and the ATO's woes over December don't fill me with confidence.