Read Step 8, from page 207 to page 221, respond to the following five questions (one paragraph minimum for each question):
[assume my organization is an accounting firm]
1. Would you create a custom information system for your organization? Why yes or why not?
2. Draw the software development life cycle and its steps in the correct order.
3. Describe what is done at each step of this process (one sentence for each step).
4. Which of the three software development life cycle methodologies discussed would you use and why?
Step 8 – Grow Your Organization’s
Power by Creating New Technologies
If you want to create a competitive advantage, you need to
go above and beyond your competition. This often involves software
you or a software development company creates specifically for
A process for developing custom software is discussed in
this chapter. It is important to understand this process since
even if you are not building the software yourself, you want to
know enough to effectively manage others within or outside of your
organization tasked with building the new custom software for your
We start with discussing the most common framework – the
Software Development Life Cycle-and then briefly examine some
popular variations of this framework.
What is the Software Development Life
Ais a framework
composed of several clearly defined phases used by systems
developers, programmers, and others to plan, design, build, test,
and deliver information systems.
SDLC aims to produce high-quality software based on client
requirements that meet or exceed their expectations. The software
development moves through each clearly defined phase within
scheduled time frames and cost estimates. Each phase of the SDLC
uses the results of the previous one.
What Are the Steps of SDLC?
The steps of the SDLC are labeled differently by different
people and organizations. They are:
Planning (some call it Initiation)
Requirements Analysis (some call it Analysis, others call
it Define Requirements)
Design (and Prototyping)
Development (some call it Implementation)
Testing (done in parallel with Development)
Operation and Maintenance
The , also known by some as the
should define the scope and purpose of the software. It
also includes defining costs, creating a timetable, and defining
the project team and leadership.
Planning can also include feedback from stakeholders.
Stakeholders may include employees, managers, clients, suppliers,
and anyone else affected related to or affected by the software.
Requirements Analysis Phase
The , also known as the
or the, determines what
the application is supposed to do and its requirements.
Requirements should be defined and documented. Requirements can
be derived from stakeholder (employees, clients, suppliers, etc.)
interviews, competition research, experimentation, review of
organizational documentation including procedures, and more.
There are different types of requirements that need to be
specified when developing software. These include:
Business requirements – include high-level goals,
objectives of an organization
User (stakeholder) requirements – include the needs of
stakeholders that will be affected by the system. This
includes employees and management but can also include
contractors, vendors, clients, and others
Functional requirements – include detailed statements of
capabilities, behavior, and information that the solution
will need. Examples include formatting text, calculating a
Quality-of-service (non-functional) requirements –
reliability, testability, maintainability, availability.
Deployment and DIK migration requirements – discuss what
will be needed to move from the current software to the
new one, including DIK migration, training, and more.
Regulatory requirements – Requirements defined by laws
(Federal, State, Municipal, or Regional)
Contract requirements – include terms and conditions
Organizational policy requirements – reflect department or
The , which may or may not include prototyping,
models how a software application will work. Some aspects of the
– Defines the ways customers
interact with the software and how the software responds
to input. Also known as Graphical User Interface Design,
or GUI Design.
– define the way the DIK will be
stored. If the database is relational, this includes the
tables, fields within tables (columns), and more.
– define the detailed processes
to be automated. Draw business process diagrams
– Specifies programming language, overall
design, and use of any templates
– Defines how to secure the software and DIK
Prototyping can be a part of the design phase. A prototype
can demonstrate some aspects of the software’s look and feel. This
“hands-on” design is presented to stakeholders, and feedback is
used to modify the other design aspects if needed.
The development phase, also known as the implementation
phase, software development phase, systems development phase, is
the actual writing of the program.
A small project might be written by a single developer
(also known as a programmer). In contrast, a large project might
be broken up and worked by multiple developers or teams of
Documentation is also often created during the development
phase. This can consist of any of the following:
Guided tour of the software’s basic features that display
on the first launch
Video tutorials for complex tasks
Written user guides
FAQ’s for users
Testing Phase (Conducted in Parallel
It’s critical to test the software before making it
available to users. There are many types of testing, but as
software components, modules, pages are being developed, they
should be tested. This ensures that work is done according to
plans and minimizes the chance for unpleasant surprises at the
Once the software is built, it should be tested to ensure
all the software components work correctly together.
The testing phase helps make sure users get what was agreed
upon and reduces the number of bugs encountered. This leads to
higher user satisfaction, increased usage rate, increased chances
of successful deployment and adaption of the software by the
In the deployment phase, the software is made available to
users, often via the web. Activities include:
Users of the software are trained in the use of the
DIK from an existing system is copied to the new system.
It may be cleaned and re-formatted in the process
User names and passwords are created and provided to users
of the software
Deployment can be complex. Moving an organization’s
multiple software applications and databases to a newly-developed
ERP is one example.
Operation and Maintenance Phase
At this point, the software is deployed and being used by
the organization’s employees. In this , users
discover bugs that weren’t found during testing. These errors
need to be resolved.
In addition to bug fixes, the development of additional
features for the next release of the software can be started. For
each new release, a new SDLC can be launched.
SDLC Methodologies Explained
There are different variations of SDLC. Various software
development methodologies follow the SDLC phases, but the method
varies between methodologies.
The more popular methodologies include:
They are described in some detail next.
TheSDLC is the original method of software
development. When a phase completes, the project moves to the next
phase. One advantage of the Waterfall model is each phase can be
evaluated for continuity and feasibility before moving on. It’s
limited in speed, however, since one phase must finish before
another can begin.
It focuses on complete and correct planning to guide large
projects to successful and predictable results.
Theapproach produces ongoing release cycles of the
software. Each release features small, incremental changes from
the previous release. At each iteration, the software is tested.
The Agile model helps software development teams identify and
address small issues before they evolve into more significant
problems and engage various stakeholders (such as future software
users) to get their feedback throughout the development process.
An example of an Agile methodology isin which a
software development team works in “sprints”. These sprints
last two to four weeks, during which the team must complete the
assigned tasks. Daily Scrum meetings help the team monitor
progress throughout the project. And a “ScrumMaster” is
responsible for keeping the team focused on its goal.
Instead of starting with fully known requirements for the
software, the team implements a limited set of software
requirements, then tests, evaluates, and defines additional
requirements. A new version of the software is produced with each
iteration until the software is ready.
RUP is an example of an iterative methodology. It divides
the development process into four phases:
, during which the idea for a project is
, during which the project is further defined
, during which the project is developed and
, during which the product is released.
Each phase of the project involves:
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.Read more
Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.Read more
Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.Read more
Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.Read more
By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.Read more