As companies grow, they develop new needs in terms of information gathering and processing. As such, their needs in terms of information system software change accordingly, typically requiring increased complexity and the capability to handle larger amounts of data more efficiently. As such, many businesses will have to move away from software-oriented to being user-friendly and focused on small enterprises to larger-scale solutions. With that said, there is a large number of options for acquiring a new information system, all with distinct advantages and issues. Before making any decisions, the business should explore all of the choices in detail and consider the specifics of the software’s application. This essay will attempt to answer some of the questions that may arise as the matter is discussed and choose a specific approach for the company.
Three distinct options for acquiring a system arise at first: purchasing a prewritten application, using an open-source alternative, and customizing or creating a program. The first two are simple and effectively very similar in their application, providing a polished product with minimal effort (Rainer & Prince, 2019). Open-source software does not need to be purchased and can be modified more quickly, but the options it offers may not be as specialized as the proprietary ones. Lastly, customized applications serve the company’s needs best, but they also take a lot of time and effort to implement. Moreover, it relies on the business having staff that is experienced in development and familiar with information systems, which is not the case for most companies. For them, the only options for customization would be to hire programmers for the purpose or to outsource development altogether.
There are many methods for development, such as joint application design (JAD), rapid application development (RAD), and agile development. JAD involves having users define program requirements, RAD uses JAD to iteratively design prototypes and develop the system quickly, and agile development works similarly but focuses on the users’ most critical needs as it progresses. A variety of tools is also available, such as prototyping, integrated CASE tools, component-based development, and object-oriented development. Agile methods appear to be the most popular overall due to their ability to reduce developer work exhaustion when implemented appropriately (Venkatesh et al., 2020). The development life cycle is a framework used in the software industry to describe the stages of application creation. Per Khan et al. (2020), it consists of six primary phases: project definition, requirements, analysis and design, system building, testing and implementing, deployment, and support, though additional supporting items are often added. The cycle describes the life of a project, starting with the emergence of the idea and ending with maintenance after it has been adopted broadly.
The database and applications would likely reside on cloud services provided by some business-oriented entity, such as AWS. For a medium-sized business, such a move reduces the costs of operating the software without incurring significant risks. However, as the company grows and amasses larger amounts of critical information, the purchase of internal servers to back up the data and store it more securely may be desirable. Outsourcing is another option that can potentially reduce costs but also incurs additional risks. With that said, unlike cloud service usage, it is likely not worthwhile for the company, as it is unlikely to have sufficiently unique needs to warrant customization. Outsourcing may be considered once the company grows to a larger size and develops such requirements, however.
Ultimately, considering the company’s needs, premade software appears to be the option that should be chosen. First, the business should search for open-source options that satisfy its requirements, taking into consideration the possibility of modifying them to suit some minor aspects. If necessary, it can hire developers temporarily to address these faults and ensure that the software satisfies the company’s needs. Failing that, it will need to search for proprietary enterprise solutions and contact its vendors to negotiate a purchase and implementation. Cloud storage will be the preferred option, and applications that feature it will be considered before others. Through this approach, the company should be able to acquire a system that serves it well for the foreseeable future and can potentially be modified in the future.
Overall, different companies have a multitude of varying information system requirements and options for acquisition. In some cases, it may be advantageous to develop a new application, while in others, premade options can be deployed as-is or modified slightly to serve the company’s needs. If engaging in development or modification, the company needs to understand the tools and methods that it can use as well as the overall structure of the development process. Options that increase risks to achieve cost savings, such as cloud storage and outsourcing, should also be considered. For a medium-sized business, especially one that does not develop software, the best option will likely be to choose a premade application. As such, outsourcing will not be necessary, though cloud storage should be considered strongly.
Khan, M. E., Shadab, S. G. M., & Khan, F. (2020). Empirical study of software development life cycle and its various models. International Journal of Software Engineering, 8(2), 16-26.
Rainer, R. K., & Prince, B. (2019). Introduction to information systems (8th ed.). Wiley.
Venkatesh, V., Thong, J. Y., Chan, F. K., Hoehle, H., & Spohrer, K. (2020). How agile software development methods reduce work exhaustion: Insights on role perceptions and organizational skills. Information Systems Journal, 30(4), 733-761.