Business leaders face an overwhelming number of decisions to make and options to choose from when selecting technology. Many can experience analysis paralysis, given all the options and considerations.
Smart Business spoke with Rivers Agile Founder and CEO Ben Wilson and his team to get tips on how to break down this complex process to achieve your organizational goals.
What should companies consider when building new software?
Having custom software can give companies strategic advantage, new capabilities and improved efficiencies. Early in the process a company should consider the options on who should build it.
- In-house — use and/or hire full-time employees to design, build, test and manage the development effort.
- Outsource — select a trusted vendor to manage and execute the effort with oversight from your organization.
- Co-source — select a vendor to develop a defined portion of the software, or have a vendor provide staff augmentation resources that your organization manages.
Making this decision should take these three factors into account:
- Capacity — does the organization have enough resources and can those resources be allocated where and when they’re needed?
- Capability — does the organization have resources with all the relevant skills and experience in the technology expected to be used?
- Confidence — does the organization have the experience or has it executed and managed something like this before?
Should a company Build a responsive mobile site, native or hybrid mobile app?
The first option to consider is developing web software that runs in the browser and will responsively render on desktop browser or mobile browser. This approach is more costly than supporting desktop-only but is less costly than maintaining a separate mobile app. Many end users prefer to engage this way as it avoids the hassle of needing to install an app.
After deciding to create a mobile app, the next decision is whether to develop native apps that are platform-specific or a hybrid app. Native apps are written with a specific platform or device in mind. If a company wants native apps for iOS and Android, it essentially requires developing the same piece of software twice, and then maintaining two separate code bases. The tradeoff is that native apps offer fast performance and a high level of reliability. Hybrid apps are available for download on a variety of devices — build once and deploy to both app stores. Hybrid development generally has a quicker turnaround time since it’s deployed across multi-platforms. Because of the large difference in cost between native and hybrid, choose hybrid unless there are specific technological reasons that would cause hybrid to perform poorly or compromise the user experience.
What is the reality of low-code or no-code options?
Low-code platforms are closed ecosystems. By choosing a no-/low-code development option, you become locked into a platform that’s entirely dependent on a vendor’s services. The reality is that no-/low-code applications are inflexible and brittle. In the beginning, most features are ‘out-of-the-box’ functional and easily manipulated, like drag and drop. Yet, more complex ideas and features generally cannot be created using these simplified coding tools. This tends to stifle teams and necessitates a move toward more custom code. Low-code platforms are extremely basic and not compatible with professional software engineering standards, making their output unsustainable.
Further, these enterprise low-code platforms aren’t being taught in computer science programs, so you run the risk of leaving your developer(s) without a network of resources they’ll need in order to learn, add custom features, or rectify issues. It also makes it difficult to hire from a pool of developers familiar with the platform. And if your low-code vendor vanishes tomorrow, you could be left out in the cold.
Low-code solutions are recommended only for software that performs simple back office functions that are expected to remain simple and non-mission critical, with a small user base under direct control of the organization.
Insights Technology is brought to you by Rivers Agile