| |
| System
Development!
Ever wonder how systems are developed?
To understand
how systems are developed one has to have knowledge of the
SDLC process. The SDLC or Systems Development Life Cycle model
is a conceptual model that is used in project management.
A project manager should have knowledge of the different SDLC
lifecycle processes in order to recommend or work with the
best SDLC cycle for the particular job at hand.
Here I will
try to describe the different stages that are involved in
developing an information system project. The stages range
from everything between feasablity studies through maintanance
after the system is designed and put into a production environment.
There are
different types of SDLC methodologies that have been developed
over the years. These models include:
- Adaptive Project Framework;
- Agile Software Development;
- Build and Fix;
- Crystal Methods;
- Dynamic Systems Development Model (DSDM);
- Extreme Programming (XP);
- Feature Driven Development (FDD);
- Fountain Model;
- Information Technology Infrastructure
Library (ITIL);
- Joint
Application Development (JAD) method;
- Lean Development;
- PRINCE2;
- Rapid
Application Development (RAD) method;
- Rational Unified Process (RUP);
- Scrum;
- Spiral;
- Synchronize and Stabilize;
- TenStep Project Management Process;
and
- Waterfall
model - The original SDLC method.
Generally speaking, most of the time different
SDLC models are combined together to create a hybrid-methodology
SDLC cycle. Different projects have different lifecycle needs.
Depending on the project requirements would depend on what
SDLC cycle would best fit, if there is no exact fit, then
a hybrid-mothodology would be best created to suit the projects
needs.
In a very
general sense, most projects SDLC process follows the general
steps outlined below:
- Analyzing
Needs:
Most software development projects stem from customer needs.
On the surface it may appear that it is strictly from a
business need, but if you delve a little deeper into that
scenario, they all usually point towards customer needs.
However no matter what the particular need is or what the
underlying reasons for the need, it is good to be aware
of what the underlying need is and what it is that your
business is in need of, this will help make an end product
that will do what your business needs requires.
Just because a new buzzword, such as AJAX
is going around and being all the rage with technology does
not mean that it is the best solution for your business.
Of course the only way to know whether or not a solution
is going to be good for your business is to analyze your
needs and evaluate the product. A product that is not easy
to use, is not user friendly, is not a technology that you
would want to use in your business. A good product incorporates
an easy to use interface; a product in which your users
cannot utilize the software in an efficient manner is not
a good product. The technology as well as the interface
is crucial to a successful product.
- Evaluate
Current System:
This process can be tied in or done concurrently with the
process of analyzing business needs, but either way an evaluation
of what your business currently has in place needs to happen.
Any process or program deficiencies that are currently in
place need to be identified. A project manager will probably
do this by interviewing the different users of the system
and consulting with the personnel that support the system.
|
|
- Define
System Requirements:
After you analyze the business needs and evaluate the current
system then it's time to figure out what you want the new
system to do. This process is generally completed with a team
of people including the project manager, business managers,
users of the system and possibly the businesses customer output.
Many businesses like to do a usability study of sorts and
evaluate the specific needs of their clients and then define
the system requirements from that analysis.
- Design
the New System:
The plans for the new system are constructed and everything
is laid out and defined. The physical construction of the
system, what hardware requirements it has, what the users
requirements are, what are the operating system requirements,
what type of programming requirements does it have, what language
will it be programmed in? What communication means does this
system require; does it require a database back-end? Will
it require XML, use of Web Services, RSS feeds...etc.? What
are the security issues with the new system and how will those
services be tested? All of the different concerns need to
be addressed during the design phase so that the development
of the system will go smooth.
- Development
of the New System:
After all of the plans are laid out and everything is approved
to progress to the next step then the system is developed.
Any programmers, designers and other technical expertise that
is needed get to work on actually designing and programming
the new system. The components that are required are installed,
the programs are written. The users of the system are actively
used in the development process to make sure that the product
is going to meet their needs on the system.
- Rolled
out to Production:
This is when the system gets the ultimate test. The system
that has been worked on gets rolled out and put to use in
its' live environment. There are different ways that a new
system can be rolled out into production, there are ways to
bring the system in with phases, which is generally used when
a system will be rolled out to multiple locations or when
the system may be taking over different sections or functions
of a legacy system. Sometimes it is better to shut down legacy
systems and implement the new system all at once. No matter
what the production needs are for rollout a new system can
be brought in either in phases or all at once.
- Maintenance:
Every system that is in place requires some maintenance. The
operating system for your computer, for example has regular
updates and fixes that are rolled out to it from the developing
firm for the operating system. If you are using an open-source
operating system perhaps you have to do the maintenance and
fixes on the PC yourself, no matter whom or how often maintenance
is done, every system requires some form of maintenance. Maintenance
plans are put into place or a process for maintenance is used.
Perhaps your business requires regular maintenance or maybe
only maintenance when a problem is found or a new requirement
is made? No matter what your maintenance needs are, they are
done during this stage.
Copyright © 2007
Melissa Nava Consulting
http://www.melissanava.com
If you wish to reproduce any information on this website,
please contact Melissa Nava Consulting
for permission.
|
|
|
|
|