Business Application Development
Business Application Development refers to the process of creating software applications that support business functions, enhance productivity, and facilitate the effective flow of information within an organization. This development process is structured into several distinct phases, including problem recognition, requirements determination, system design, implementation, and ongoing evaluation. The integration of information technology in these applications can lead to significant improvements in user productivity, effectiveness, and creativity.
Applications can range from personal systems used by individuals to enterprise systems that support multiple users and organizational processes. Key elements of development include conducting a needs analysis to identify problems and potential solutions, followed by detailed requirements analysis to specify what the application should achieve. Once the design is finalized, the actual coding and construction of the application take place, followed by rigorous testing and user training to ensure successful implementation.
Overall, effective business application development not only aims to optimize individual performance but also fosters collaboration and innovation across various departments within an organization, thereby contributing to overall operational efficiency and growth.
On this Page
Subject Terms
Business Application Development
Information technology has become integral to the way that we accomplish many tasks in business by utilizing application software to facilitate the flow of information and data between people or departments. These applications have three main purposes: Increase the productivity of users, enable users to be more effective, and provide tools to increase creativity and innovation. Systems development is the development of new applications. This is a multi-phased process comprising problem recognition, requirements determination, systems design, development and construction, implementation, and evaluation and continuing evolution.
Information technology has transformed the modern workplace and has become integral to the way organizations accomplish many tasks. Computers and communication systems have revolutionized the workplace, and information technology gives businesses new and improved ways to create, store, and disperse data and information. Some of these improvements are simple transfers of the same method to a new medium, such as the shift from writing documents with a typewriter to doing the same tasks at a computer workstation. Some of these transformations, however, are more elemental, such as the shift from using the telephone to using e-mail for routine communication. Information technology is often linked into an information system that facilitates the flow of information and data between people or departments in order to help organizations work more efficiently and effectively.
However, hardware alone is not responsible for this transformation. Information systems facilitate the flow of information and data between people or departments by using application software. These are software programs that perform functions not related to the running of the computer itself and include word processing, electronic spreadsheets, computer graphics, and presentation applications, among other applications common in the workplace. Information technology applications include both stand-alone single-user or personal systems that are not interconnected or shared and enterprise systems that comprise a server or mainframe computer, database, and network in addition to the components of a personal system. Enterprise systems are typically shared by two or more users. Both personal and enterprise systems are designed for hands-on usage, are used to improve personal performance, and can be tailored for personal preference and performance. In addition, enterprise systems are designed to connect a variety of multiple users to enable them to share data and information. Typically, enterprise systems are larger than personal systems in both size and scope.
Three Main Purposes of Information Technology
Information technology applications have three main purposes. First, if well designed, these applications can be used to increase the productivity of the user or users. In other words, a good information technology application can improve the ratio of the output of an activity to the inputs necessary to perform it. In general, information technology applications can improve productivity in three ways: they can help users complete activities more quickly, enable users to accomplish more activities within a given time frame, or allow activities to be completed with fewer resources. For example, the use of word processing application software enables users to be much more productive than the previous system of drafting by hand and sending draft documents to the typing pool for processing. The ability to sit at one's desk and type one's thoughts directly into the computer results in significant time savings (for the most part) as opposed to manually writing out a draft, sending it to the typing pool, and waiting for it to be returned. By using a word processing application, one can more quickly turn documents around and deliver them in a timelier manner. In addition, word processing application software allows users themselves to quickly edit documents by adding, deleting, or moving material. Previously, these activities required a complete new draft of the document to be typed by the typing pool. This word processing application illustrates that application software not only saves time but also saves personnel costs and costs associated with paper and other supplies necessary to produce multiple drafts.
In addition to increasing the productivity of users, information technology applications can enable users to be more effective (i.e., do the things necessary to achieve desirable results from their activities). Personal systems can help individual users be more effective by giving them better tools to do their work. For example, graphics software can enable an artist to create more detailed drawings to illustrate a book or document, and a spreadsheet package can automatically perform cross-checks of sums for a bookkeeper or be used as a decision support system to enable an analyst or manager to make better decisions among alternative actions. At an enterprise level, information technology applications can increase the effectiveness of groups, teams, departments, or even the organization as a whole. For example, an enterprise-wide inventory system can help a retail store find an item for a customer and have it transferred to the store or delivered directly to the customer. In this situation, the customer benefits by obtaining the item without additional shopping or effort, and both the individual store and the entire chain benefit by increased sales and customer loyalty.
Not only can information technology applications and systems increase effectiveness and productivity, they can also increase creativity and innovation. For example, rather than writing out scores by hand, musicians can now compose at an electronic keyboard that interfaces with a computer. Software translates the keyboard inputs into sheet music that can be easily edited. Authors can be helped in their endeavors by the quick access to automatic spelling and grammar checkers. People involved in innovation -- products or processes that are new or significant improvements over previous products or processes that have been introduced in the marketplace or used in production -- can also be helped by information technology applications. For example, computer-aided design software can help engineers explore their designs virtually before proceeding to bread-boarding and prototyping. Similarly, financial analysts can use information technology applications to create investment packages, arrange financing, or suggest financial portfolios for clients.
Applications
There are several stages in the development of a new information technology application or system, including performing a needs analysis, designing a solution to meet the needs, acquiring the resources necessary to support development efforts, and developing and implementing the solution. This is often referred to as the systems development process. Although the specifics of what is done at each of these steps may vary from business to business, the generic process shown in Figure 1 describes the basics of the development life cycle of an information technology system or application.
Examination of the Need for Business Applications
Before a new business application can be developed, it must first be recognized that a new application is needed. During this phase of the systems development process, the problem is defined and investigated. This impetus can come from many sources, such as customer feedback, market analysis, engineering insights, or organizational strategy. During this phase of the process, the situation is examined to determine the nature and significance of the problem, possible solutions to the problem, whether or not an information technology application is a good candidate for solving the problem, and what other players should be brought in on the development process. In addition, systems analysts assess the feasibility of the proposed solution in three aspects that help determine the merits of the proposal and whether or not a development effort is called for. These three aspects are:
- Operational feasibility.
- Financial and economic feasibility.
- Technical feasibility.
Operational feasibility is the extent to which the proposed new product or application with further the organization's goals and strategy and fit in with the current or planned operational processes. For example, although a new product might be desirable from a marketing perspective, operationally it may not be feasible because of the effect that it would have on existing organizational processes.
Similarly, the proposed product or application needs to be financially and economically feasible. No matter how good an idea for a new product or service is, if the cost is greater than the projected return on investment or benefits, it is not a sound investment. Benefits include increased income, more customers, reduced operating costs, lower costs, and fewer errors.
A proposed new application must also be technically feasible. Considerations include whether or not the organization has or can readily obtain the necessary technology and expertise necessary to develop the proposed application. For example, even though a proposal for new application development might be operationally and financially feasible, if it requires more senior programmers than the organization can afford to hire (either permanently or temporarily) or if the senior programmers are currently involved in another project, then the new project is not technically feasible.
Requirements Analysis
Once it has been determined whether or not the proposed proj -- ect is feasible, a detailed requirements analysis needs to be performed. During this phase, the current business situation is analyzed to determine what the current state is, where the organization would like to move, and what is needed to get from the current state to the desired state. This phase of the application's life cycle comprises a research study in which data are collected and analyzed to determine how best to proceed within the constraints set out by the organization (e.g., constraints of time, budget, personnel, or other resources). Data collected at this point in the process might examine what is currently being done, how frequently it is done, how frequently it occurs, and the volume of task being done in the current state. In addition, the requirements determination should include an analysis of how well the task is currently being performed and if and where a problem exists. If a problem does exist, it must also be determined how serious the problem is to the effectiveness of the business process or the organization in general, what the cause of the problem is, and who is affected.
System Planning & Design
If it is determined that a new application is needed, the next step in the process is to plan and design the new system. At this point, the requirements determined in the previous phase of the process are translated into design specifications. These are technical requirements for the development of an application that will meet the requirements for which it is being designed. There are three steps in this process. First, a preliminary or conceptual design is developed. The preliminary design specifies the distinguishing features of the application and conceptualizes how they will perform in order to meet the requirements previously determined. Among the characteristics that are specified at this level are whether the system will be distributed or centralized, who will develop the system (i.e., the organization's staff, a contracted vendor, off-the-shelf software), what computer and network hardware is necessary to run the application, the number of users that the application will need to support, the data and information that need to be generated, the databases and storage needed for the application, and the number and types of personnel needed to operate and maintain the system.
Once the preliminary design has been approved by management, a steering committee, or the customer and permission has been obtained to proceed with the design, the next step in the systems design is prototyping. A prototype is a full-scale, working model of a new information technology application or a new version of an existing application. By building a prototype, designers can clarify the requirements that need to be included in the system. A prototype can reveal flaws in plans much better than a review of written requirements. Often, what looks good on paper can be awkward or untenable in reality. For complex systems, this can often not be determined until a prototype is built. In addition, a prototype can help the design team evaluate the features of the system. For example, the graphical user interface for a government database was at one point designed so that users had to input all required data before the input was considered complete. In theory, this sounded like a good way to ensure that users submitted all the data that managers and researchers wanted for later analysis. In reality, however, the process of inputting so much data into the system was onerous for the user and ended with the system being little used. Because a prototype is a working model without all the features of the final model, it is relatively easier and less expensive to build, although the team goes through many of the same steps as the final application. The development of a prototype allows various design features to be tested to see if they will meet the requirements for the system or if the design needs to be changed or refined. Figure 2 shows the steps in prototype development.
After the design team has completed and tested the prototype, they next proceed to the detailed physical design of the application or system. During this step, modifications are made to the design based on the functioning of the prototype. The detailed or physical design of the system includes definitions of its characteristics, processes, and outputs. The detailed design looks at the outputs that the system or application is intended to produce to make sure that they meet the refined user requirements. Detailed design of the output includes the type, contents, and format of reports and user interfaces. Layout descriptions are often developed at this point to show the exact location of data and information on a printed report or a computer screen. In addition to outputs, the detailed design also considers inputs, those data and information that are necessary for processing. Designers often work backward from the desired outputs to determine what inputs are needed for the application. These two pieces of information also allow designers to determine how best to store the data being used by the system. In general, the data and information used by an application fall into four categories: those directly input by the user, those that are stored in other databases and must be retrieved, those that are stored within the system itself, and those that are calculated by the system using other data or information. For some applications, data are directly input by the users or are received remotely from another database. Otherwise, the data need to be stored within the system. In addition, the detailed design also includes design of processing and procedures that are necessary for acquiring inputs, storing data and information, and converting inputs into outputs.
Application Development & Construction
Once the detailed design has been completed, the next phase in the systems development process is the actual development and construction of the new system or application. There are three major activities associated with this phase of the process. First, software and services need to be acquired. Although in some instances every line of code in a new system is written from scratch, there exist services that are provided by another party. For example, software for specific functions (e.g., data management, security) or special services (e.g., e-mail, electronic data interchange) often fall into this category. Similarly, communications software and network services are often acquired for incorporation into the design. Once off-the-shelf or otherwise acquired software and services are obtained, computer programmers develop software code to capture, generate, process, store/retrieve, and transmit data. This function may be done within the organization or contracted to outside software developers. Once the code is written, it is tested to determine whether or not it meets the requirements of the specifications, performs in a way that users expect it to perform, and detects errors that either stop processing or produce erroneous results. The testing process examines the entire system including software, procedures, and guidelines. At this time, compatibility with other software modules is also tested.
Implementation
After the system has passed testing and works as expected and required, it is next implemented in the field. This phase typically includes training for users in order to teach them how to use the new system, preparing the site so that is ready to run the new system (e.g., installing a new server or workstations), and implementing a conversion plan to change over from the old system to the new system. Conversion may be done through direct cut over strategy in which the old system is abruptly discontinued and replaced with the new system, a parallel systems strategy in which both systems are used simultaneously while the old system is gradually phased out, a pilot conversion strategy in which the new system is implemented in one department or group before it is implemented across the enterprise, or a phase- in strategy in which the new system is gradually phased in over a period of time. After the system has been implemented, it should be evaluated and refined to meet the evolving requirements of the organization.
Terms & Concepts
Application Software: A software program that performs functions not related to the running of the computer itself. Application software includes word processing, electronic spreadsheets, computer graphics, and presentation software.
Database: A collection of data items used for multiple purposes that is stored on a computer.
Decision Support System (DSS): A computer-based information system that helps managers make decisions about semi-structured and unstructured problems. Decision support systems can be used by individuals or groups and can be stand-alone or integrated systems or web-based.
Enterprise: An organization that uses computers. Although this term is often applied to large organizations, the term can be applied to both small and large organizations.
Information System: A system that facilitates the flow of information and data between people or departments.
Information Technology: The use of computers, communications networks, and knowledge in the creation, storage, and dispersal of data and information. Information technology comprises a wide range of items and abilities for use in the creation, storage, and distribution of information.
Innovation: Products or processes that are new or significant improvements over previous products or processes that have been introduced in the marketplace or used in production.
Network: A set of computers that are electronically linked together.
Prototype: A full-scale, working model of a new information technology application or a new version of an existing application.
Return on Investment (ROI): A measure of the organization's profitability, or how effectively it uses its capital to produce profit. In general terms, return on investment is the income that is produced by a financial investment within a given time period (usually a year). There are a number of formulas that can be used in calculating ROI. One frequently used formula for determining ROI is (profits -- costs) / (costs) x 100. The higher the ROI, the more profitable the organization.
Server: The computer that hosts a network and provides services to the other computers in the network (e.g., a web serve serves up web pages). The term server is also used to refer to the software running on the server computer.
Spreadsheets: A table of values arranged in rows and columns in which the values have predefined relationships. Spreadsheet application software allows users to create and manipulate spreadsheets electronically.
Systems Development: The process of developing a new business system, including performing a needs analysis, designing a solution to meet the needs, acquiring the resources necessary to support development efforts, and developing and implementing the solution.
Bibliography
Kennedy, M. R., & Dan Ward, L. (2012). Inserting agility in system development. Defense Acquisition Research Journal: A Publication of the Defense Acquisition University, 19(3), 249-264. Retrieved November 22, 2013, from EBSCO Online Database Business Source Complete. http://search.ebscohost.com/login.aspx?direct=true&db=bth&AN=78364867
Kerpan, P., & Mitchell, S. (2013). Bringing control to the business application layer. Network Security, 2013(7), 18-20. Retrieved November 22, 2013, from EBSCO Online Database Business Source Complete. http://search.ebscohost.com/login.aspx?direct=true&db=bth&AN=89346160
Lucas, H. C. Jr. (2005). Information technology: Strategic decision making for managers. New York: John Wiley and Sons.
P?v?loaia, V. (2013). Methodology approaches regarding classic versus mobile enterprise application development. Informatica Economica, 17(2), 59-72. Retrieved November 22, 2013, from EBSCO Online Database Business Source Complete. http://search.ebscohost.com/login.aspx?direct=true&db=bth&AN=88803504
Senn, J. A. (2004). Information technology: Principles, practices, opportunities (3rd ed.). Upper Saddle River, NJ: Pearson/Prentice Hall.
Suggested Reading
Allen, J. P. (2012). Democratizing business software: Small business ecosystems for open source applications. Communications of the Association for Information Systems, 30483-496. Retrieved November 22, 2013, from EBSCO Online Database Business Source Complete. http://search.ebscohost.com/login.aspx?direct=true&db=bth&AN=86652919
Chan, E. H. W., Suen, H. C. H., & Chan, S.-L. (2005). An integrated project extranet design prototype: E-AEC for architects, engineers and contractors in Hong Kong and mainland China. Journal of Construction Research, 6(2), 253-271. Retrieved July 31, 2007, from EBSCO Online Database Business Source Complete. http://search.ebscohost.com/login.aspx?direct=true&db=bth&AN=20298473&site=ehost-live
Eckman, B. A., Bennett, C. A., Kaufman, J. H., & Tenner, J. W. (2007). Varieties of interoperability in the transformation of the health-care information infrastructure. IBM Systems Journal, 46(1), 19-41. Retrieved July 31, 2007, from EBSCO Online Database Business Source Complete. http://search.ebscohost.com/login.aspx?direct=true&db=bth&AN=24478481&site=ehost-live
Fruhling, A. & de Vreede, G.-J. (2006). Field experiences with eXtreme programming: Developing an emergency response system. Journal of Management Information Systems, 22(4), 39-68. Retrieved July 31, 2007, from EBSCO Online Database Business Source Complete. http://search.ebscohost.com/login.aspx?direct=true&db=bth&AN=20597992&site=ehost-live
Mahato, S., Jain, A., & Balasubramanian, V. (2006). Enterprise systems consolidation. Information Systems Management, 23(4), 7-19. Retrieved July 31, 2007, from EBSCO Online Database Business Source Complete. http://search.ebscohost.com/login.aspx?direct=true&db=bth&AN=22291662&site=ehost-live
Treude, C., & Storey, M. (2012). Work item tagging: communicating concerns in collaborative software development. IEEE Transactions on Software Engineering, 38(1), 19-34. Retrieved November 22, 2013, from EBSCO Online Database Business Source Complete. http://search.ebscohost.com/login.aspx?direct=true&db=bth&AN=71538635