Many organisations, not just housing associations, which look to invest in software often consider the pros and cons of buy versus build. Most size-able organisations will have some developers in their IT team, mainly to help develop and work on APIs to get different applications working, or to develop some simple internal applications.
So they’re halfway there with the skill set then? Developing software solutions is similar to building a house, all you need is builders and with software just developers, no? Well, it is more complex than that. Any house build starts with a detailed brief to the architect. The same needs doing for software development. What will the software do? From this the architect will develop blueprints. To write a detailed a software requirements specification (SRS) you need a technical writer. The importance of this can’t be overstated as anything that is unclear or mis-communicated can lead to bugs or errors in the system that end up costing more to get fixed.
Once the blueprint is agreed then a dedicated project manager takes over. They are responsible for the success of the build from start to end, ensuring they get the right skilled workers in at the right time so the project meets its scheduled build.
Software development also requires a project manager, they will need to identify the skills you will require and when. What coders will be required, SQL, Javascript and so forth. But if you are developing an algorithm based application you need to start off with mathematicians and not software developers. As the mathematicians will develop the algorithm for how the software will be behave.
With the house build the surveyor will check the land and ensure it is ready to build on, then the excavation and foundations can be laid. So the project manager needs to check which platform(s) the software will be developed on, taking this will take into account if it is a cloud based or a local application, and whether it will have a mobile application too.
Once the foundations are done the project needs qualified bricklayers to build the shell of the house, then a carpenter for the frame of the roof and roofer to complete the outside. The software programme will need as many developers working on it as possible, and different coders with different skill sets will be required.
As houses become ‘smarter’ in their uses and better designed so is software. Hence the design and look and feel of the software application is critical. So UX (user experience) developers are critical to the success of the software. If software is not intuitive and easy to use then people tend to avoid using it. So it needs to be designed with the user(s) in mind.
As the project develops the surveyor will check the work is of sound quality, and that is what is required when building software applications. It is necessary to QA developers and testers. They will often automate the testing but also do user testing as well, log all bugs and errors with the system
Inside plasterers, tilers, electricians, plumbers,carpenters will be required to get the house finished. All in a specified order and at a specified time. The software project manager will need to do the same,the QA testers can only start testing once each stage of the development is complete. The UX developer will need to work at the outset but then come in when the QA testers are employed so they can re-design where necessary. The software then needs testing outside its own ecosystem, do the APIs work ok with other systems where data is needed to flow back and forth.
What’s more the software project will need a data analyst to check the output of the software application to ensure it is correct. This is critical whether the programme is an algorithm or a database.
So the house is finished and ready for someone to move in,but of course housing associations offer continuing maintenance, which againincurs a cost and can be never ending. The same applies with software. Who isgoing to train the users with the application and then deploy it and then offer ongoing support? And what happens when the application needs to be modified or updated as all software evolves.
Of course the biggest factors on any build, whether for software or a house, are the budget and the time required. Everything comes at a cost. Organisations may have developers in-house already on the pay roll. So three developers on an average wage of £40,000 per year work for six months solidly on developing an application that is an investment of £60,000 straightaway, whether or not the programme is successful or sees the light of day, this is substantial investment.
So when undertaking a software project all costs need to be accounted, as well as skills required along with a robust business plan in place on why instead of buying a proven solution you build your own.