Let me start that – I am a Software Developer and my point of view and explanation may contain some terms and phrases that are not in the vocabulary of a non-tech person. If you have any questions or unclarities, please ask.
Because we live in an economic world, every thing may or must be measured in terms of money. Because in business – time is money, every work or activity also could be measured in time. So, I’ll point out some software intersections with them.
If a non-technical person wants to have a website or any type of software online there are several options:
- To buy computers, UPS systems – so they don’t be interrupted by electricity failures, other hardware accessories, pay for a good – high speed – Internet Service. Having this, a technical person must install, setup and ensure reliability of all software and hardware. If the software reaches high demand – again a technical person must know what to upgrade (this may be figured out automatically by monitoring software). This requires big initial investment but, after it, while the users are not too many and no problems occur, it will require minimal costs – electricity and Internet.
- Rent a Server – The hardware part – computer, electricity, internet connection problems are delegated to a Hosing Provider and some software person must install the software that the owner and his clients will use. Here, the electricity and the computer costs are delegated to a 3rd party, but any scale up – of Internet, of more computers will cost more than they cost, because – someone else is taking care of them – this is the business of the Hosting Providers.
- Use a Service – There are many Services that still require a specialist to be tuned up, but as times go by and the Internet evolves, there are more and more software services that could be started and open for business – with several clicks – by mere mortal. Here – the hardware and the software layer may have price above than average, but with the benefit of delegating all but the business part – to someone else.
In all options adding up more hardware/computers may be a solution for serving more clients – this will require again – big initial investment – with option 1), and increasing monthly/yearly fees for option 2) and 3).
From a Software point of view, if you plan to pay for someone to write the source code, have in mind that it should be planned for big scale, so the development approach have it in mind and not end up writing the software for one machine – and thus – will later require rewrite. This also should be done when the manager already knows from the feedback of the world, that something is going to be used, otherwise it is waste of time and money.
There is also another way to scale better, decrease hardware costs and this is – by using better software technology. The speed of installing and setting up and development with certain technology is very subjective to the individual that writes the software, but there is also some technical time that – even with the best of engineers cannot be escaped.
- C#, Java – The software developers could focus more on the business logic – very much like the first, but their source code goes through some transformation (that takes a little time) and cannot be directly copied to the serving computer. This transformation time is return with better performance – meaning – it will server more clients and faster.
- C++, Go, Rust – The coders in these languages must go through every little detail manually that is beneath the business logic. Code is again transformed. In general it may take more time for writing the same logic than the previous options, but it will be faster and will most likely serve the most number of users.
- Or transformations of PHP, Python, Java etc – there are software developments that transform the first two programming areas to the faster (3rd) option – they take more time in the migration of the code from the developer machine – to the computer that serves users, but it will be faster than and better performing.
I’ll finish with my two cents of business analysis around the Software Applications area. One should have the same approach around them – as every other type of software or service.
- Today, the Internet has evolved and the Web has improved a lot. It may not be technically fast and optimal to create just a web page for an idea, but it will actually reach all platforms – big and small – TV, computers, tablets, smartphones, smart watches and feature phones with Internet.
- In the middle are technologies that produce applications from a single source code that are installable on most platforms – from their corresponding app stores, but their speed is not perfect.
- The fastest in terms of speed of performance is to code an application for each platform alone. This will require technical expertise, technical time, adapting the software to the store requirements and so on.
Because complexity and optimization of software is not directly attached to money (which is a psychological idea), many managers, marketers or product owners go with – [using external Services or using software platforms that are faster and easier in terms of modification, setup, configurability and this way – they could focus on clients instead of technical availability]. Using WordPress or some other CMS lifts the requirements – to Word Processing and Colors and Design, instead of programming . Persuading people to give money or attention is somehow trickier (for some) than making a software to work (for others). And after someone knows that he could collect money – if their is even a need – paying for technical improvement is applicable, meaningful and savvy with the knowledge of the presence of interest.
How often a software will change and in what direction? If an individual has an idea – he must create a business plan or strategy and go through all the details to figure out – what combination of options is better – according to the business phase, to the team expertise and the amount of investments and market. These are a lot of factors that business people must take into account, that influence the choice of software. Many times it may even add extra complexity, more than the time it saves. There are also times when a software could save time now and in the future. Being wise is - having a holistic approach and not fetish towards digitization.