Page 545 -
P. 545
544 Part Four Building and Managing Systems
13.4 APPLICATION DEVELOPMENT FOR THE DIGITAL
FIRM
In the digital firm environment, organizations need to be able to add, change,
and retire their technology capabilities very rapidly to respond to new oppor-
tunities, including the need to provide applications for mobile platforms.
Companies are starting to use shorter, more informal development pro-
cesses that provide fast solutions. In addition to using software packages
and external service providers, businesses are relying more heavily on
fast-cycle techniques such as rapid application development, joint application
design, agile development, and reusable standardized software components that
can be assembled into a complete set of services for e-commerce and e-business.
RAPID APPLICATION DEVELOPMENT (RAD)
Object-oriented software tools, reusable software, prototyping, and fourth-
generation language tools are helping systems builders create working systems
much more rapidly than they could using traditional systems-building methods
and software tools. The term rapid application development (RAD) is used
to describe this process of creating workable systems in a very short period
of time. RAD can include the use of visual programming and other tools for
building graphical user interfaces, iterative prototyping of key system ele-
ments, the automation of program code generation, and close teamwork among
end users and information systems specialists. Simple systems often can be
assembled from prebuilt components. The process does not have to be sequen-
tial, and key parts of development can occur simultaneously.
Sometimes a technique called joint application design (JAD) is used
to accelerate the generation of information requirements and to develop
the initial systems design. JAD brings end users and information systems
specialists together in an interactive session to discuss the system’s design.
Properly prepared and facilitated, JAD sessions can significantly speed up the
design phase and involve users at an intense level.
Agile development focuses on rapid delivery of working software by
breaking a large project into a series of small subprojects that are completed
in short periods of time using iteration and continuous feedback. Each
mini- project is worked on by a team as if it were a complete project, including
planning, requirements analysis, design, coding, testing, and documentation.
Improvement or addition of new functionality takes place within the next itera-
tion as developers clarify requirements. This helps to minimize the overall risk,
and allows the project to adapt to changes more quickly. Agile methods empha-
size face-to-face communication over written documents, encouraging people
to collaborate and make decisions quickly and effectively.
COMPONENT-BASED DEVELOPMENT AND WEB
SERVICES
We have already described some of the benefits of object-oriented develop-
ment for building systems that can respond to rapidly changing business
environments, including Web applications. To further expedite software
creation, groups of objects have been assembled to provide software compo-
nents for common functions such as a graphical user interface or online ordering
MIS_13_Ch_13 global.indd 544 1/17/2013 2:31:25 PM

