CHAPTER THREE
SYSTEM DEVELOPMENT METHODOLOGY
3.1 Introduction
A wide variety of agile methodologies, approaches, and tools are used in system
development to bring value to customers. Depending on the needs of the team and the
product's stakeholders, it’s common for teams to deploy and utilize a combination of
software development methodologies.
3.2 System Design Methodology
For this particular system, we will use Extreme Programming (XP). Extreme
programming is a software development methodology intended to improve software
quality and responsiveness to changing customer requirements; such as those of an
employee in an organization who may undergo different shifts and changes in their work
life such as promotions, pay-raise, transfers etc. As a type of agile software development,
it advocates frequent releases in short development cycles, intended to improve
productivity and introduce checkpoints at which new customer requirements can be
adopted.
Some of the advantages of XP include:
Fast. The development of extreme programming projects lasts only several
months. There is a fast-paced work environment with no wasting of time.
Visible. Open communication within the team helps everyone keep up with the
project progress. Due to the visibility of XP projects, failures and bugs are
limited.
Teamwork. In XP the developers work hard to accomplish goals within tight
deadlines. They support each other throughout the entire project and hence there
is increased employee commitment and satisfaction.
Its disadvantages include:
Lack of documentation. The constant changes cannot be documented properly.
Thus, there are high risks of unexpected failures that cannot be tracked. Even
when bugs are fixed, without accurate documentation it’s possible that the same
errors can recur.
Stress. There is a lot of pressure working with tight deadlines. If the developers
have high stress levels completing tasks on time, they are more likely to make
mistakes while coding. Subsequently, software quality could be reduced due to
the scheduling.
3.3 Fact Finding Techniques
Interviews: Interviews are one of the most common and powerful methods of data
collection. Its advantages include:
Allows for the gain of rich and detailed data from the employees' own words and
expressions, which can reveal their feelings and motivations.
They enable the system developers to establish rapport and trust with the
employees, which can enhance the quality and depth of the data.
Allows developers to adapt and tailor the questions and topics according to the
employees' needs and interests, which can increase the relevance and usefulness
of the data.
Its disadvantages include:
They require a lot of time, resources, and skills from the researchers, who have to
design, conduct, analyze, and interpret the interviews.
Interviews are influenced by various factors that can affect the quality and
accuracy of the data, such as the interviewer's bias, the participant's honesty, the
rapport between them, the language and cultural barriers, and the ethical issues.
They produce a large amount of data that can be difficult and complex to manage,
organize, and code
Questionnaires: This is where users fill up the questions which are given by the system
analyst and then give the answers back to the system analyst. Its advantages include:
It is one of the useful fact-finding techniques to collect information from a large
number of users.
Questionnaires can save time because the system analyst does not need to
interview each of the users and if the time of the interview is short, questionnaires
are more useful.
Users are allowed to answer questions freely without an immediate response
which may encourage them to be more honest.
Its disadvantages include:
Some people may not like to share information until they fully and clearly
understand the cause and purpose of the study.
Some people may not want to participate in filling out the questionnaire at all
deeming it as a waste of time.
Questionnaires are not free from bias as some people may put down their own
views and opinions instead of answering honestly.
Sampling of existing documentation, forms, and databases: There are various kinds of
documents to collect facts from existing documents. These include e-mails, employee
complaints, suggestion box notes, and reports that document the problem area. Its
advantages include:
It is easier to get information from a large numbers of cases.
Records sometimes have very detailed information that cannot be accessed in any
other ways.
Existing records have accurate and objective information that is free from any
type of bias.
Its disadvantages include:
What can be collected from records is limited by what they contain. There is
almost always some missing data when using records.
The quality of records is out of control of the researcher and records are often
incomplete, chaotically stored or missing. This affects the quality if data
collected.
Information in existing records may be erroneously recorded and some of it may
not be included at all.
3.4 Feasibility Studies
Technical Feasibility: This is where existing computer systems of the concerned
department are analyzed and it is determined whether these technical resources are
sufficient for the proposed system or not. If they are not sufficient, the analyst suggests
the configuration of the computer systems that are required for the development of the
proposed system.
Economic feasibility: This is the most important study that determines the cost and
benefits of the proposed system and compares with the budget. The cost of the project
should not outweigh the budget. The cost of the project includes the cost of hardware,
software, development and implementation. A cost/benefit analysis is carried out to
determine the benefits that are expected from the proposed system and compare them
with the costs expected to spend on development of the system. If benefits are found to
be more than costs, then the analyst decides to continue the development of the proposed
system otherwise considers it economically not feasible.
Operational Feasibility: When it is found that the project is both economic and technical
feasible, the next step is to determine whether it is operationally feasible or not. During
operational feasibility study, it is determined whether the system will operate according
to the consumer requirements. Operational feasibility depends upon human resources for
the development and implementation of the system. It is considered whether the qualified
and experienced manpower is available for development and implementation of the
system.
Management feasibility: This is where it is determined whether the proposed project will
be acceptable to management. If management does not accept a project or gives a
negligible support to it, the project is deemed non-feasible.
References:
https://www.easyagile.com/blog/software-development-methodologies/
https://en.wikipedia.org/wiki/Extreme_programming
https://bcisnotes.com/thirdsemester/system-analysis-and-design/fact-finding-techniques-fact-
finding/
https://www.mbaknol.com/management-information-systems/feasibility-analysis-in-system-
development-process/