Systems Development Methodology Notes
Systems Development Methodology Notes
Refers to the framework that is used to build, structure, plan, and control the process of
developing an IS. System design methodologies are a discipline within the software
development industry that seek to provide a framework for activity capture, storage,
transformation and dissemination of information, so as to enable the development of
computer systems that are fit for a purpose. A wide variety of such frameworks have
evolved over the years, each with its own recognized strengths and weaknesses.
However, one system development methodology is not necessarily suitable for use by all
projects hence requires a thorough analysis.
SYSTEMS DEVELOPMENT LIFE CYCLE
The SDLC highlights different stages (phrases or steps) of the development process. The
life cycle approach is used so users can see and understand what activities are involved
Page 1 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
within a given step. It is also used to let them know that at any time, steps can be repeated
or a previous step can be reworked when needing to modify or improve
Traditionally, the systems-development life cycle consisted of five stages as shown in the
figure below.
The five stages have been increased to seven phases over time. Increasing the number of
steps helped systems analysts to define clearer actions to achieve specific goals.
Page 2 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
This is the first phase in the systems development process. It identifies whether or not
there is the need for a new system to achieve a business’ strategic objectives. This is a
preliminary plan (or a feasibility study) for a company’s business initiative to acquire the
resources to build on an infrastructure to modify or improve a service. The company
might be trying to meet or exceed expectations for their employees, customers and
Page 3 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
stakeholders too. The purpose of this step is to find out the scope of the problem and
determine solutions. Resources, costs, time, benefits and other items should be
considered at this stage. Specifically, in this stage the following activities are done:
A feasibility analysis is also done at this stage to see whether the system development is
worth undertaking. There are mainly five types of feasibilities checks:
Page 4 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
There are several tools businesses can use that are specific to the second phase. They
include:
The third phase describes, in detail, the necessary specifications, features and operations
that will satisfy the functional requirements of the proposed system which will be in
place. This is the step for end users to discuss and determine their specific business
information needs for the proposed system. It’s during this phase that they will consider
the essential components (hardware and/or software) structure (networking
capabilities), processing and procedures for the system to accomplish its objectives.
The Design phase models the way a software application will work. Some aspects of the
design include:
The fourth phase is when the real work begins—in particular, when a programmer,
network engineer and/or database developer are brought on to do the major work on the
project. This work includes using a flow chart to ensure that the process of the system is
properly organized. The development phase marks the end of the initial section of the
process. Additionally, this phase signifies the start of production. The development stage
is also characterized by instillation and change. Focusing on training can be a huge benefit
during this phase.
5. Integration and Testing
The fifth phase involves systems integration and system testing (of programs and
procedures)—normally carried out by a Quality Assurance (QA) professional—to
determine if the proposed design meets the initial set of business goals. Testing may be
repeated, specifically to check for errors, bugs and interoperability. This testing will be
performed until the end user finds it acceptable. Another part of this phase is verification
and validation, both of which will help ensure the program’s successful completion.
6. Implementation
The sixth phase is when the majority of the code for the program is written. Additionally,
this phase involves the actual installation of the newly-developed system. This step puts
the project into production by moving the data and components from the old system and
placing them in the new system via a direct cutover. While this can be a risky (and
complicated) move, the cutover typically happens during off-peak hours, thus
minimizing the risk. Both system analysts and end-users should now see the realization
of the project that has implemented changes.
7. Operations and Maintenance
The seventh and final phase involves maintenance and regular required updates. This
step is when end users can fine-tune the system, if they wish, to boost performance, add
new capabilities or meet additional user requirements.
Importance of the SDLC
It is important to have an SDLC in place
Page 6 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
The waterfall method is a rigid linear model that consists of sequential phases
(requirements, design, implementation, verification, maintenance) focusing on distinct
goals. Each phase must be 100% complete before the next phase can start. There’s usually
no process for going back to modify the project or direction.
Page 7 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
Pros:
The waterfall development method is often slow and costly due to its rigid
structure and tight controls.
These drawbacks can lead waterfall method users to explore other software
development methodologies.
Inflexible, slow, costly and cumbersome due to significant structure and tight
controls.
Little room for use of iteration, which can reduce manageability if used.
Depends upon early identification and specification of requirements, yet users
may not be able to clearly define what they need early in the project.
Problems are often not discovered until system testing.
System performance cannot be tested until the system is almost fully coded
Difficult to respond to changes. Changes that occur later in the life cycle are more
costly and are thus discouraged.
Produces excessive documentation and keeping it updated as the project
progresses is time-consuming.
Written specifications are often difficult for users to read and thoroughly
appreciate.
Promotes the gap between users and developers with clear division of
responsibility.
Situations where most appropriate
System performance cannot be tested until the system is almost fully coded
Page 8 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
Difficult to respond to changes. Changes that occur later in the life cycle are more
costly and are thus discouraged.
Produces excessive documentation and keeping it updated as the project
progresses is time-consuming.
Written specifications are often difficult for users to read and thoroughly
appreciate.
Promotes the gap between users and developers with clear division of
responsibility.
2. Prototyping
1. The new system requirements are defined in as much detail as possible. This
usually involves interviewing a number of users representing all the departments
or aspects of the existing system.
Page 9 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
2. A preliminary, simple design is created for the new system. A first prototype of
the new system is constructed from the preliminary design. This is usually a
scaled-down system, and represents an approximation of the characteristics of the
final product.
3. The users thoroughly evaluate the first prototype and note its strengths and
weaknesses, what needs to be added and what should to be removed. The
developer collects and analyzes the remarks from the users.
4. The first prototype is modified, based on the comments supplied by the users,
and a second prototype of the new system is constructed. The second prototype
is evaluated in the same manner as was the first prototype.
Steps 3 and 4 are iterated as many times as necessary, until the users are satisfied that the
prototype represents the final product desired. The final system is constructed, based on
the final prototype. The final system is thoroughly evaluated and tested. Routine
maintenance is carried out on a continuing basis to prevent large-scale failures and to
minimize downtime.
Types of prototype models
There are a few types of prototype models that can be implemented by development
teams based on their needs:
Customers get a say in the product early on, increasing customer satisfaction.
Missing functionality and errors are detected easily.
Prototypes can be reused in future, more complicated projects.
Page 10 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
The main disadvantage of this methodology is that it is more costly in terms of time and
money when compared to alternative development methods, such as the spiral or
Waterfall model. Since in most cases the prototype is discarded, some companies may
not see the value in taking this approach.
Project is large with many users, interrelationships, and functions, where project
risk relating to requirements definition needs to be reduced
Project objectives are unclear.
User is not fully knowledgeable.
No need exists to absolutely minimize resource consumption
Pressure exists for immediate implementation of something
3. Rapid application development
At the very beginning, rapid application development sets itself apart from traditional
software development models. It doesn’t require you to sit with end users and get a
Page 11 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
detailed list of specifications; instead, it asks for a broad requirement. The broad nature
of the requirements helps you give specific requirements at different points of the
development cycle
During this step, stakeholders sit together to define and finalize project requirements
such as project goals, expectations, timelines, and budget. When you have clearly defined
and scoped out each aspect of the project’s requirements, you can seek management
approvals.
As soon as you finish scoping the project, you can begin development. Designers and
developers will work closely with clients to create and improve upon working prototypes
until the final product is ready.
This is where the actual development takes place. Instead of following a strict set of
requirements, developers create prototypes with different features and functions as fast
as they can. These prototypes are then shown to the clients who decide what they like
and what they don’t. More often than not, these prototypes are quickly made to work,
just to show off certain features, without proper polish. This is normal, and the final
product is only created during the finalization stage where the client and developer can
both agree on the final product.
In this step, prototypes and beta systems are converted into working models. Developers
then gather feedback from users to tweak and improve prototypes and create the best
possible product.
In this stage, feedback on what’s good, what’s not, what works, and what doesn’t is
shared. Feedback isn’t limited to just pure functionality, but also visuals and interfaces.
With this feedback in mind, prototyping continues. These two steps are repeated until a
final product can be realized that fits both the developers’ and client’s requirements
This step requires you to test your software product and ensure that all its moving parts
work together as per client expectations. Continue incorporating client feedback as the
code is tested and retested for its smooth functioning.
This is the final step before the finished product goes to launch. Here, features, functions,
aesthetics, and interface of the software are finalized with the client. Stability, usability,
Page 12 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
and maintainability are of paramount importance before delivering to the client. It also
involves data conversion and user training.
The team includes programmers and analysts who are experienced with it
There are pressing reasons for speeding up application development
The project involves a novel ecommerce application and needs quick results
Users are sophisticated and highly engaged with the goals of the company
Senior management commitment exists to ensure end-user involvement
Project is of small to medium scale and of short duration
Application is highly interactive, has a clearly defined user group.
4. Spiral
The spiral methodology allows teams to adopt multiple SDLC models based on the risk
patterns of the given project. A blend of the iterative and waterfall approaches, the
challenge with the spiral model is knowing when is the right moment to move onto the
next phase. Business that aren’t sure about their requirements or expect major edits
during their mid to high-risk project can benefit from the scalability of this methodology.
Steps in the spiral methodology
1. Determine the Objectives: Similar to the system conception phase of the Waterfall
Model. Objectives are determined, possible obstacles are identified and alternative
approaches are weighed.
2. Identify and resolve risks: Possible alternatives are examined by the developer,
and associated risks/problems are identified. Resolutions of the risks are
Page 13 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
Pros:
The risk assessment component of the Spiral Model provides both developers
and customers with a measuring tool that earlier Process Models do not have.
The practical nature of this tool helps to make the Spiral Model a more realistic
Process Model than some of its predecessors.
Focuses attention on reuse
Accommodates changes, growth
Eliminates errors and unattractive choices early
Limits to how much is enough (not too much design, reqs, etc)
Treats development, maintenance same way
Cons:
Page 14 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
EUD is "a set of methods, techniques and tools that allow users of software systems, who
are acting as non-professional software developers, at some point to create, modify, or
extend a software artifact" (Lieberman et al 2006). In particular, EUD enables end users
to design or customize the user interface and functionality of software. This is valuable
because end users know their own context and needs better than anybody else, and they
often have real-time awareness of shifts in their respective domains. Through EUD, end
users can tune software to fit their requirements more closely than would be possible
without EUD.
End users usually do not have training in professionals' programming languages, formal
development processes, or modeling and diagramming notations. Moreover, end users
often lack the time or motivation to learn these traditional techniques, since end users
usually write code in order to achieve a short- or medium-term goal rather than to create
a durable software asset that will produce a continuing revenue stream. Consequently,
supporting EUD requires providing appropriate tools, social structures, and
development processes that are highly usable, quickly learned, and easily integrated into
domain practice. EUD overlaps with two similar concepts, end-user programming and
end-user software engineering. End-user programming (EUP) enables end users to create
their own programs (Ko et al 2011). This subset of EUD is the most mature from a research
and practice perspective, so we focus a later section of this article on that portion of EUD.
The difference between EUP and EUD is that EUD methods, techniques, and tools span
the entire software development lifecycle, including modifying and extending software,
not just the "create" phase.
Page 15 of 16
SYSTEMS DEVELOPMENT METHODOLOGY NOTES
BCOM YR II, SEMESTER I/2021
Before deploying an SDLC approach for your teams and staff, consider contacting a
knowledgeable IT consultant at Innovative Architects for advice. Our experts have seen
how the different models function best in different industries and corporate
environments. We are adept at finding a good fit for any situation.
Each one has its own strengths and weaknesses and works effectively in different
situations. When choosing your development methodology, think about combining the
elements of each method that work best for your team and your current project. In this
way, you can create a hybrid development methodology that’ll get you to production
securely and efficiently.
Page 16 of 16