You are on page 1of 33

ASSIGNMENT 01 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing

Unit number and title Unit 09: Software Development Life Cycle

Submission date 15/02/2022 Date Received 1st submission 15/02/2022

Re-submission Date 19/02/2022 Date Received 2nd submission 19/02/2022

Student Name Nguyen Hoang Viet Student ID GCH210639

Class GCH1101 Assessor name Do Quoc Binh

Student declaration
I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I understand that making a
false declaration is a form of malpractice.

Viet
Student’s signature
Nguyen Hoang Viet

Grading grid
P1 P2 P3 P4 M1 M2 D1 D2
❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:

Internal Verifier’s Comments:

Signature & Date:


Contents
Task 1 – SDLC model....................................................................................................................................................................................................... 4
1. Describe the SDLC models ............................................................................................................................................................................................ 4
1.1 Waterfall model .......................................................................................................................................................................................................... 4
1.2 V-model..................................................................................................................................................................................................................... 7
1.3 Prototyping model ....................................................................................................................................................................................................... 9
1.4 Scrum model ............................................................................................................................................................................................................ 11
2. Discuss the suitability of each of the SDLC models for the project .................................................................................................................................... 13
3. Identify some risks and discuss an approach to manage ................................................................................................................................................... 17
3.1 Risk Management process .......................................................................................................................................................................................... 17
3.2 Risk Management Matrix for Tune Source ................................................................................................................................................................... 21
Tables 4 - Risk Management Matrix for Tune Source .......................................................................................................................................................... 23
Task 2 – Feasibility study ................................................................................................................................................................................................ 23
1.Discuss the purpose of conducting a feasibility study for the project. ................................................................................................................................. 23
2. Discuss how the three feasibility criteria (technical, economic, organizational) are applied to the project ............................................................................... 25
2.1 Technical Feasibility ............................................................................................................................................................................................ 25
2.3 Organizational Feasibility ..................................................................................................................................................................................... 27
3. Alternative technical solutions using the alternative matrix. ............................................................................................................................................. 28
Task 1 – SDLC model

1. Describe the SDLC models

1.1 Waterfall model

Figure 1 – Waterfall model (System Analysis & Design, Alan Dennis,2012)

The Waterfall model is a sequential software development model, in which development is seen as flowing steadily downwards (like a waterfall)
through the phases of requirement gathering and analysis, design, implementation, testing, and maintenance. Each phase must be completed before the
next phase can begin and there is no overlapping between the phases.
The requirement gathering and analysis phase involves meeting with stakeholders to gather requirements for the software and documenting them in a
requirement specification document. The design phase involves creating a detailed plan for how the software will be implemented, including the
architecture, user interface design, and database design.

The implementation phase involves actually building the software, coding the designs created in the previous phase. The testing phase involves evaluating
the software to ensure it meets the requirements and identify any defects or issues.The maintenance phase is concerned with fixing any issues or problems
that arise and making changes or improvements to the software as needed. This phase may continue for the lifetime of the software.
The Waterfall model is well suited to projects with well-defined and understood requirements, where there is no need for significant changes during the
development process. This model is also well suited to projects with a clear, linear development process and a large budget and timeline. However, this
model can be inflexible and doesn't allow for changes or iteration during the development process, so it may not be the best choice for projects with
rapidly changing or evolving requirements. (System Analysis & Design, Alan Dennis,2012)

Waterfall Model Advantages:

• The Waterfall Model is easy to understand and use.


• It provides a clear structure, which is particularly helpful for inexperienced staff members.
• Milestones are well-defined, allowing for easy tracking of progress.
• The model helps to establish stable project requirements.
• It is a good fit for projects where quality is a top priority, and cost and schedule are less important.
• The model offers strong management control by facilitating planning, staffing, and tracking.

Waterfall Model Disadvantages:

• All project requirements must be identified upfront, which can be challenging in practice.
• Deliverables for each phase are considered "frozen," meaning they cannot be modified after the phase is complete.
• The model can create a false sense of progress, as the focus is on completing each phase before moving on to the next one.
• It does not reflect the problem-solving nature of software development, which often requires iteration and adjustment.
• Integration of different components of the project happens all at once, which can be overwhelming.
• There is little opportunity for customer input and feedback until later in the development process, which can be problematic if changes are
needed.

. (System Analysis & Design, Alan Dennis,2012)


1.2 V-model

Figure 2 – V-Model (System Analysis & Design, Alan Dennis,2012)

The V-Model is a sequential software development model that represents a graphical representation of the systems development life cycle (SDLC) in
the shape of a “V”. It is a well-structured methodology that combines the testing and development process in an integrated and synchronized manner.
The V-Model consists of two main phases: the left side represents the development phase, while the right side represents the testing phase.

The development phase is divided into several stages such as Requirements Gathering, System Design, Detailed Design, Implementation and
Integration, and System Testing. Each stage produces deliverables that serve as input for the next stage.
The testing phase is divided into various stages including Unit Testing, Integration Testing, System Testing, and Acceptance Testing. The testing stage
mirrors the development phase and starts with Unit Testing, which validates individual software components. Integration Testing verifies the
integration of all software components into a system. System Testing validates the software as a whole, ensuring that it meets the functional and non-
functional requirements. Finally, Acceptance Testing confirms that the system is ready for release and that it meets the expectations of the end-users.

One of the benefits of the V-Model is that it ensures the thorough testing of the software at each stage, reducing the risk of bugs and defects. The V-
Model also supports traceability of requirements, making it easier to track changes and make modifications to the software as needed.
However, the V-Model can be rigid and may not be suitable for projects with rapidly changing requirements, as it requires that each phase be completed
before the next phase can begin. It also may result in longer development cycles and increased costs due to the rigorous testing that is required. (System
Analysis & Design, Alan Dennis,2012)

. Advantages:

• The V model emphasizes planning for verification and validation of the product early in the product development process, which can help to
ensure high product quality.
• Each deliverable in the V model is required to be testable, which can help to ensure that the product meets all requirements.
• Project management can track progress easily by using the well-defined milestones of the V model.
• The V model is a relatively easy and straightforward approach to use.

Disadvantages:

• The V model does not handle concurrent events or activities well, which can be a limitation in complex projects.
• The V model does not handle iterations or phased development easily, which can make it difficult to adapt to changes in project requirements.
• The V model does not easily accommodate dynamic changes in project requirements, which can be a limitation in projects where requirements
may change frequently.
• The V model does not explicitly contain risk analysis activities, which can be a limitation in projects where managing risk is critical.

. (System Analysis & Design, Alan Dennis,2012)


1.3 Prototyping model

Figure 3 – Prototyping model (System Analysis & Design, Alan Dennis,2012)

Prototyping is a software development model that focuses on creating a working prototype of the final product, rather than a comprehensive design. The
aim of this model is to quickly develop a minimum viable product that can be tested and refined in response to user feedback. The prototyping model is
often used when the requirements for the final product are not clear, or when the solution is complex and requires exploration.
The prototyping model is an iterative process that begins with the creation of a rough, low-fidelity prototype. This prototype is then tested and evaluated
by users to gather feedback and identify areas for improvement. Based on this feedback, the prototype is refined and improved until it meets the needs
of the stakeholders. The process is repeated until a high-fidelity prototype is created that serves as the basis for the final product.

One of the key benefits of the prototyping model is that it allows for early identification and resolution of potential problems. This can save significant
time and resources in the long run, as it minimizes the risk of having to make major changes to the final product later in the development process.
Additionally, the use of prototypes enables developers to explore and experiment with different approaches to solving a problem, which can lead to more
creative and innovative solutions.
Another benefit of the prototyping model is that it allows for collaboration between developers, stakeholders, and users. By working together, they can
ensure that the final product meets the needs of all parties involved and that it is usable, accessible, and effective.
It is important to note that the prototyping model is not appropriate for all software development projects. It is best suited for projects where the
requirements are not well-defined or where the solution is complex and requires exploration. Additionally, it is more time-consuming and resource-
intensive than other software development models, as multiple iterations are required to produce a high-fidelity prototype. (System Analysis & Design,
Alan Dennis,2012)

Advantages:

• With the Prototyping model, customers can visualize and interact with system requirements as they are being gathered, which can help to
ensure that the final product meets all needs and requirements.
• The iterative and interactive nature of the Prototyping model allows developers to learn from customer feedback and adjust the product
accordingly.
• The Prototyping model can result in a more accurate end product, with unexpected requirements accommodated.
• The flexible design and development process of the Prototyping model allows for adjustments and modifications as needed.
• The steady, visible signs of progress produced by the Prototyping model can help to manage expectations and build customer confidence.
• Interaction with the prototype can stimulate awareness of additional needed functionality.

Disadvantages:

• There is a risk that the Prototyping model can result in abandoning structured program development in favor of "code-and-fix" development,
which can lead to poor quality code.
• The Prototyping model can have a bad reputation for promoting "quick-and-dirty" methods, which can also lead to poor quality code.
• The overall maintainability of the final product may be overlooked during the development process.
• The customer may become attached to the prototype and want it delivered as the final product, even if it is not suitable for production use.
• The development process with the Prototyping model may continue indefinitely if scope creep occurs, and the project scope is not well-defined.
. (System Analysis & Design, Alan Dennis,2012)
1.4 Scrum model

Figure 4 – Scrum model (System Analysis & Design, Alan Dennis,2012)

Scrum is an Agile framework for software development that is used to manage complex projects. The Scrum model is based on the principles of
transparency, inspection, and adaptation. The main goal of the Scrum model is to provide a way for software development teams to work together in an
Agile manner and to ensure that projects are delivered on time and within budget. The Scrum model consists of several key elements, including Scrum
Teams, Scrum Master, Product Owner, Sprint, Sprint Backlog, Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective.

Scrum Teams are cross-functional teams that consist of developers, designers, testers, and other stakeholders. These teams work together to develop
software and are responsible for delivering high-quality products. The Scrum Master is the person responsible for overseeing the Scrum process and
making sure that everyone on the team is following the guidelines. The Product Owner is the person who represents the stakeholders and is responsible
for setting the priorities and making sure that the team is working on the right things.

The Sprint is a time-boxed period, usually two to four weeks, in which the team works on a specific set of tasks. The Sprint Backlog is a list of all the
tasks that the team needs to complete during the Sprint. Sprint Planning is the process of deciding what tasks to work on during the Sprint and how to
accomplish them. The Daily Scrum is a daily meeting where the team reviews progress and plans for the next day.

The Sprint Review is a meeting where the team demonstrates the work that has been completed during the Sprint. The Sprint Retrospective is a
meeting where the team reflects on the Sprint and identifies ways to improve the process for the next Sprint. The goal of the Sprint Retrospective is to
ensure that the team is continuously improving and making progress.

Scrum is a flexible and iterative model that allows teams to respond to changing requirements and to make changes to the product as needed. It provides
a structure for teams to work together effectively and to deliver high-quality products. The Scrum model has been widely adopted by software
development organizations and has proven to be a successful approach for managing complex projects. (System Analysis & Design, Alan Dennis,2012)

Advantages:

• The Scrum model is highly flexible and adaptable, making it well-suited for complex and rapidly changing projects.
• The incremental and iterative nature of the Scrum model allows for continuous feedback and improvement, leading to a final product that better
meets the needs of the stakeholders.
• Scrum teams are self-organizing and cross-functional, allowing for better collaboration and knowledge sharing.
• The Scrum model promotes transparency, with daily meetings and frequent reviews helping to keep everyone on the same page and aware of
progress and issues.
• Scrum teams are empowered to make decisions and solve problems independently, which can lead to increased motivation and productivity.
• The Scrum model emphasizes working software as the primary measure of progress, ensuring that the end product is functional and meets the
needs of the stakeholders.

Disadvantages:
• The Scrum model can be challenging for teams that are not used to self-organizing or working in a highly collaborative environment.
• The frequent meetings and communication required by the Scrum model can be time-consuming and disruptive to some team members.
• The Scrum model relies heavily on the Product Owner to provide clear and concise requirements, and a lack of clear requirements can lead to
confusion and delays.
• The Scrum model may not be well-suited for projects with strict deadlines or regulatory requirements, as the incremental and iterative nature of
the model can make it difficult to predict when the project will be complete.
• The Scrum model requires a significant amount of planning and coordination to ensure that the different parts of the project are synchronized
and working together effectively.
• The Scrum model may not be suitable for large teams or projects with highly specialized roles, as the cross-functional nature of Scrum may
lead to a lack of expertise in specific areas.

2. Discuss the suitability of each of the SDLC models for the project

When it comes to developing software projects, there are several different software development models that can be used to manage the process. These
models provide a structure for managing software development projects and help to ensure that the project is delivered on time and within budget. The
four most commonly used software development models are the Waterfall model, V-Model, Prototyping model, and Scrum model. The Tune Source
project is aimed at increasing sales by enabling the sale of digital music downloads to customers both through in-store kiosks and over the internet
using the company's website. The system will have several key functionalities such as search for music in the digital music archive, listen to music
samples, purchase individual downloads, establish a customer subscription account, and purchase music download gift cards. The project has been
deemed as a strategic system by the marketing department, as offering digital music downloads is critical to remaining competitive in the market niche.
There are some criteria to evaluate the model suitable for the project. In software development there isn’t best method only the most suitable method
Figure 5 - Selecting the Appropriate Development Methodology (System Analysis & Design, Alan Dennis,2012)

• Unclear Requirements - In a project with unclear requirements, it is crucial to have a flexible and adaptive development approach. It can be
challenging to fully understand user requirements by talking about them and explaining them in written reports when they are unclear. In order
for users to truly understand what a new system is capable of and how to best apply it to their needs, they normally need to interact with it. When
user requirements are unclear, system prototyping and throwaway prototyping are typically more appropriate because they give users interactive
prototypes early in the SDLC. Agile development might also be appropriate if there is access to on-site user input. (System Analysis & Design,
Alan Dennis,2012)
The Waterfall model is not ideal in the case of Tune Source because it is based on a sequential and rigid approach, where changes are difficult to
accommodate. On the other hand, the Prototyping model or the Scrum model can be useful as they allow for iteration and collaboration between
the development team and the stakeholders to clarify and refine the requirements.
• Unfamiliar Technology - In a project that involves unfamiliar technology, it is important to have a development approach that allows for
exploration and experimentation. Applying the new technology early in the methodology will increase the likelihood of success when the system
will make use of new application that the analysts and programmers are unfamiliar with (for example, the first Web development project with
Ajax). Risks increase if the system is designed without some knowledge of the underlying technology because the tools might not be sufficient
for the job. Throwaway prototyping explicitly encourages developers to produce design prototypes for high-risk areas, making it particularly
suitable for situations where there is a lack of technological familiarity. Additionally, iterative development is advantageous because it offers the
chance to thoroughly research the technology before the design is finalized. The early prototypes that are built typically only scratch the surface
of the new technology, so while one might think that system prototyping would also be appropriate, it is much less so. Typically, the developers
don't find problems or weaknesses with the new technology until many prototypes and months have passed. . (System Analysis & Design, Alan
Dennis,2012)
The Waterfall model is not well suited for this as it requires detailed planning and design before development can begin. The Prototyping model
or the Scrum model can be useful in Tune Source project as it allow for early testing and iteration to gain a better understanding of the
technology and its capabilities.
• Complex Systems - For complex systems, it is important to have a development approach that breaks down the complexity into manageable
chunks and allows for collaboration and communication among the development team and stakeholders. Complex systems require in-depth
analysis and design that is careful. System prototyping is not appropriate for such in-depth analysis and design, but throwaway prototyping is.
While complex systems can be handled by waterfall methodologies, some important issues might be missed if users can't access the system or
early prototypes. We have noticed that project teams that use iterative development methodologies tend to focus less on the analysis of the entire
problem domain than they might if they were using other methodologies, despite the fact that these methodologies allow users to interact with
the system early in the process. . (System Analysis & Design, Alan Dennis,2012)
The Waterfall model may not be ideal in the case of Tune Source as it assumes that all requirements can be defined and completed in a
sequential manner. The V-Model or the Scrum model can be useful in Tune Source project as it provide a structured and iterative approach to
developing complex systems.
• Reliable Systems - For reliable systems, it is important to have a development approach that emphasizes thorough testing and quality assurance.
Typically, a key consideration in system development is system reliability. Reliability, though, is only one of many variables. Depending on the
application, reliability may be essential in some cases (e.g., for medical devices or missile control systems) but only important in others
(e.g.,games,Internet video). The V-model emphasis on testing makes it useful when reliability is a concern. Throwaway prototyping is most
suitable when system reliability is a top priority because it enables the project team to test a variety of design concepts before finalizing the design
through thorough analysis and design phases. Because careful analysis and design phases are necessary to create dependable systems, system
prototyping is typically not a good option when reliability is important. (System Analysis & Design, Alan Dennis,2012)
The Waterfall model can be useful in Tune Source project as it has a clear and well-defined testing phase. The V-Model or the Scrum model
can also be useful as they provide a structured approach to testing and quality assurance and allow for iteration and improvement as needed.
• Short Time Schedule - In a project with a short time schedule, it is important to have a development approach that is efficient and minimizes
rework. Short timeframe projects are well suited for RAD methodologies because those methodologies are made to accelerate development.
When there is a limited amount of time, iterative development and system prototyping are excellent options since they best allow the project team
to modify the system's functionality in light of a delivery date. Remove the functionality from the version or prototype that is currently being
developed to readjust the project schedule if it starts to slowdown. When time is limited, waterfall-based methodologies are the worst option
because they do not allow for simple schedule changes. . (System Analysis & Design, Alan Dennis,2012)
The Waterfall model may not be ideal in Tune Source project as it requires a significant amount of time for planning and design before
development can begin. The Prototyping model or the Scrum model can be useful in this case as they allow for rapid iteration and a more
flexible approach to development.
• Schedule Visibility - For projects with a need for schedule visibility, it is important to have a development approach that provides transparency
and regular progress updates. The Scrum model can be useful as it provides regular progress updates and allows for adaptation and course
correction as needed.

Here is the tables Comparison of Waterfall, V-Model, Prototyping, and Scrum models for Tune Source project
Usefulness in developing
Waterfall V-Model Prototyping Scrum
systems
Unclear Requirements Good Good Excellent Good
Unfamiliar Technology Poor Good Excellent Good
Complexity Good Good Excellent Excellent
Reliability Good Good Good Excellent
Short Time Schedule Poor Good Good Excellent
Schedule Visibility Good Excellent Excellent Excellent
Tables 1 - Comparison of Waterfall, V-Model, Prototyping, and Scrum models for Tune Source project

In my opinion, the scrum model appears to be the most suitable option for the Tune Source project. The need for rapid development, deployment, and
frequent feedback are best addressed using an agile approach like scrum. The Scrum model is a good choice for projects because of complex
requirements, as it provides a flexible approach to accommodate changes. This model is also suitable for projects with a short time schedule like Tune
Source as it provides a rapid development process, and it is also suitable for projects with schedule visibility as it provides regular status updates. The
Scrum model is also excellent for projects that need reliability as it provides regular feedback and testing. However, the tight deadline and well-defined
requirements may also make the prototyping model a suitable option. The waterfall and V-model, while suitable for projects with well-defined
requirements and strict quality control, are not as well suited for projects with rapidly changing requirements like the Tune Source project.

3. Identify some risks and discuss an approach to manage

3.1 Risk Management process


Definition: Risk management is a systematic process that helps organizations identify, assess and prioritize potential risks that might affect the
achievement of their goals and objectives. The purpose of risk management is to minimize the negative impact of those risks on an organization’s
performance, reputation and overall well-being. A clear and structured risk management process is essential for organizations to achieve long-term
success and stability.
Here is the table Software risk management plan items (According to Barry W. Boehm in “A Spiral Model of Software Development and
Enhancement”)
Tables 2 - Software risk management plan items

There are 5 step of Risk Management process:


● Step 1 Risk identification: This step involves identifying potential risks that the organization may face. The risks can be identified through a
brainstorming session, reviewing historical data, or through the use of various risk identification tools such as SWOT analysis, Ishikawa
diagrams, etc. An example illustration of risk identification is a flowchart showing how potential risks are identified and documented.
● Step 2 Risk Assessment: This step involves analyzing the likelihood and impact of the identified risks. The likelihood and impact of the risks
are determined based on the probability of the risk occurring and the potential consequences. A simple illustration of risk assessment is a matrix
that displays the likelihood and impact of each risk on a scale.
● Step 3 Risk Prioritization This step involves ranking the identified risks in order of priority based on the likelihood and impact. The risks that
have a higher likelihood of occurring and a greater potential impact are given higher priority. A Gantt chart is an example illustration that can
be used to show the prioritization of risks.
● Step 4 Risk Mitigation : In this step, organizations develop and implement strategies to reduce the likelihood or impact of risks. This may
involve reducing exposure to the risk, transferring the risk to another party, or developing contingency plans.
● Step 5 Risk Monitoring and Review: In this step, organizations monitor risks and review the effectiveness of their mitigation strategies. This
helps to ensure that risks are being effectively managed and that any new risks are identified and addressed.
Here is a A prioritized top-ten list of software risk items (According to Barry W. Boehm in “A Spiral Model of Software Development and
Enhancement ”)

Tables 3 - A prioritized top-ten list of software risk item


Explanation some risk and relate to Tune Source

• Personnel shortfalls: This risk refers to a lack of adequate resources, such as skilled developers, project managers, or other key personnel,
needed to complete a software development project. This can cause delays, reduce the quality of the deliverables, or increase the cost of the
project. For example, if a key developer is unavailable to complete a critical task, the project may be delayed or the quality of the deliverables
may be impacted. In the Tune Source project, personnel shortfalls can occur if the team responsible for developing the digital music download
system lacks the necessary skills or experience. For example, if the team is inexperienced in developing e-commerce systems, they may struggle
to create the necessary functionality for searching for, previewing, and purchasing digital music downloads. This could lead to delays and cost
overruns, which could have a negative impact on the project's success

• Unrealistic schedules and budgets: This risk relates to an overly optimistic view of what is possible within a specific time frame or budget
range.. This can result in missed deadlines, increased costs, or reduced quality of the deliverables. For example, if a project is planned with an
unrealistic schedule, it may be impossible to complete all the tasks within the given time frame, leading to missed deadlines and increased costs.
An unrealistic schedule and budget can be a significant risk in the Tune Source project. Given the tight timeline for bringing the digital music
download system to market, it's critical that the project is completed on time and within budget. If the project's schedule or budget is not
realistic, it could lead to delays and increased costs, which could negatively impact the project's success.

• Developing the wrong software functions: This risk involves the development of software features that do not meet the requirements or
expectations of the stakeholders. This can result in a product that does not meet the customer's requirements or that has to be redesigned, leading
to increased costs and delays. For example, if a software development team builds functions that are not aligned with the customer's
requirements, the customer may reject the deliverables and require additional work, leading to increased costs and delays.There is a risk that the
Tune Source team may develop the wrong software functions if they misunderstand the customer's needs and requirements. For example, if the
team develops a system that only allows customers to purchase individual downloads, they may miss out on revenue from customer
subscriptions and music download gift cards. To mitigate this risk, it's important that the team works closely with the customer to understand
their requirements and develop a system that meets their needs .

• Continuing stream of requirement changes: This risk refers to changes in the software requirements that occur during the development
process. These changes can result in additional costs, delays, and reduced quality of the deliverables. For example, if a customer makes multiple
changes to the requirements during the development process, the development team may have to spend additional time and resources to
incorporate the changes, leading to increased costs and delays. In the Tune Source project, there is a risk that the customer's requirements may
change over time, leading to a continuing stream of requirement changes. This can create significant challenges for the development team, as
they may need to make changes to the system after it has already been developed. This could lead to delays and increased costs, which could
have a negative impact on the project's success. To mitigate this risk, it's important that the customer is engaged throughout the project and that
the development team has the flexibility to make changes to the system as needed.

3.2 Risk Management Matrix for Tune Source


Risk Frequency Severity Category Mitigation Plan
Hire additional personnel
or outsource some of the
work to contractors who
have the necessary skills.
Provide additional training
Medium to current personnel to
1. Personnel shortfalls High Human
increase their skills and
knowledge. Schedule
regular personnel
performance evaluations to
identify areas of weakness
that need improvement.
Conduct regular reviews of
2. Unrealistic schedules project schedules and
High High Financal
and budgets budgets to ensure that they
are realistic and achievable.
Adjust schedules and
budgets as needed to ensure
that project goals are met.
Prioritize tasks to ensure
that the most critical tasks
are completed first.
Develop contingency plans
for unexpected problems
that may arise.
Develop clear and detailed
requirements for the
software. Review
requirements regularly to
ensure that they are up-to-
date and meet the needs of
the project. Conduct regular
3. Developing the wrong
High High Technical reviews of the software
software functions
design and implementation
to ensure that it meets the
requirements. Provide
adequate testing and quality
assurance to ensure that the
software is correct and
meets project goals.
4. Continuing stream of Develop a clear and
High Medium Technical
requirement changes detailed change
management process to
handle changes to
requirements. Review
changes regularly to ensure
that they are appropriate
and necessary. Prioritize
changes to ensure that the
most critical changes are
implemented first. Update
schedules and budgets as
needed to accommodate
changes. Communicate
changes to all stakeholders
to ensure that everyone is
aware of the impact of the
changes

Tables 4 - Risk Management Matrix for Tune Source

Task 2 – Feasibility study

1.Discuss the purpose of conducting a feasibility study for the project.


Definition of feasibility study: An evaluation of a proposed project's chances of success, such as a new product line or technological system, is known
as a feasibility study. To determine whether the project is worthwhile of investment, the study examines all pertinent project-related factors, including
technical, economic, and legal considerations. The study can also point out potential issues and issues that might develop if the project is pursued.

The purpose of conducting a feasibility study for the project:


The purpose of conducting a feasibility study is to determine if a project is worth pursuing and to identify potential problems and risks before
significant resources are committed. It is a critical step in the project planning process, helping project managers and stakeholders determine whether a
project is worth pursuing, and to identify any issues that may need to be addressed..Here is some reason of conducting a feasibility study :

- Assess the potential success of the project: A feasibility study helps to determine whether a project has the potential to succeed, based on factors
such as market demand, competition, and available resources.
- Identify potential problems and risks: A feasibility study can identify potential problems, risks, and constraints that may arise during the project,
such as technical challenges, regulatory requirements, or financial constraints.
- Estimate costs and benefits: A feasibility study can provide a rough estimate of the costs and benefits of the project, including the capital and
operating costs, as well as the potential return on investment.
- Gain support from stakeholders: A feasibility study can be used to gain support from stakeholders, such as investors, customers, and partners, by
demonstrating the viability and potential success of the project.
- Make informed decisions: A feasibility study provides important information that can be used to make informed decisions about whether to
proceed with a project, and how best to implement it.

The four main types of feasibility studies are technical feasibility, economic feasibility, schedule feasibility and operational feasibility.

- Technical feasibility involves evaluating the technology and systems needed for a project and determining if they are available, compatible and
capable of meeting project requirements. This includes assessing the availability of required hardware, software, personnel and other resources.
It also involves evaluating the technical feasibility of any new technology required for the project, and considering any potential risks or
limitations associated with these technologies.
- Economic feasibility evaluates the financial viability of a project. This involves calculating the costs of the project, and determining if the
expected benefits outweigh the costs. This can include a cost-benefit analysis, return on investment analysis, or an analysis of the payback
period. It also involves evaluating the potential risks and benefits of the project, and considering any financial impacts on the organization.
- Schedule feasibility evaluates the time frame and deadlines associated with the project. This includes determining if the project can be
completed within the available time frame, and identifying any risks or limitations that may impact the schedule. It also involves evaluating the
resources required for the project, and determining if they are available within the given time frame.
- Operational feasibility involves evaluating the ability of the organization to support and maintain the project once it is completed. This includes
evaluating the processes, systems and resources required for the project, and determining if they are compatible with the existing operations of
the organization. It also involves evaluating the potential impact of the project on the organization, and determining if the organization has the
capacity to support and maintain the project over the long term.

Overall, a feasibility study is a critical step in the project planning process, providing stakeholders with valuable insights into the viability of a project.
It helps organizations to determine if a project is worth pursuing, identify potential risks and problems, and make informed decisions about the
allocation of resources. By conducting a thorough feasibility study, organizations can increase the chances of project success and reduce the risk of
failure.

2. Discuss how the three feasibility criteria (technical, economic, organizational) are applied to the project

There are three primary criteria used to assess the feasibility of a project: technical, economic, and organizational. In this section, I'll discuss each of
these criteria in more detail and provide examples of how they are applied to projects.

2.1 Technical Feasibility


Technical feasibility refers to the ability of the project to be completed using available technology and resources. This includes evaluating the technical
requirements of the project, such as hardware, software, and infrastructure, and determining if these resources are readily available or can be obtained
in a timely and cost-effective manner.
For example, if a project involves the development of a new software application, the technical feasibility of the project would need to be assessed to
determine if the necessary software development tools and technologies are available and if the project team has the necessary technical expertise to
complete the project.
In addition to evaluating the availability of technology and resources, technical feasibility also includes an assessment of the project's technical risks,
such as the risk of data loss or theft, the risk of hardware or software failure, or the risk of security breaches. These risks must be carefully considered
and addressed in the project plan to ensure the project is completed successfully.

Technical feasibility on Tune Source project:


Our team has carefully evaluated several programming languages including Java, C#, and PHP to determine the best option for the Tune Source
project. After thorough research and analysis, we have decided to choose PHP for developing the Tune Source web application.
We have many software engineers with long experience working with PHP, and everyone in the team will easily accept this technology, which is
crucial in ensuring the technical feasibility of the project.Moreover, the team has already worked on many projects using PHP. Thus, deploying the
Tune Source project with PHP will help complete the project sooner, reducing operating costs. We can reuse components, modules of previous
projects, and apply them to Tune Source, which will help to save development time and reduce costs. This will help us improve the overall
development process and minimize the risk of technical errors.. One of the key advantages of PHP is that it is open source and has a large user
community, which means that there is a vast amount of documentation, tutorials, and support available. PHP is also highly versatile and can be used to
develop various web applications Additionally, PHP is compatible with several operating systems such as Windows, Linux, and Unix, which provides
flexibility in deployment. Moreover, PHP offers excellent integration with databases such as MySQL, which is ideal for Tune Source, as the platform
requires a robust database backend.

Therefore, based on these factors, PHP is a highly feasible option for the Tune Source project and the project is technically feasible

2.2 Economic Feasibility


Economic feasibility refers to the ability of the project to be completed within budget and to generate a positive return on investment. This includes
evaluating the costs and benefits of the project, such as the capital and operating costs, the potential revenue streams, and the expected return on
investment.
For example, if a project involves the development of a new product, the economic feasibility of the project would need to be assessed to determine if
the costs of development and production are reasonable and if the product is likely to generate enough revenue to generate a positive return on
investment.

In addition to evaluating the costs and benefits of the project, economic feasibility also includes an assessment of the project's financial risks, such as
the risk of cost overruns, the risk of decreased revenue, or the risk of market changes that could negatively impact the project's financial performance.
These risks must be carefully considered and addressed in the project plan to ensure the project is economically viable.
Economic feasibility study on Tune Source project

In terms of economic feasibility, using PHP will significantly reduce the development cost and thus help in achieving the break-even point faster. We
estimate that the payback period will be around one and a half years, which is a reasonable timeframe.

On the other hand, choosing Java or C# as the primary technology may not be the best option for the Tune Source project. The team doesn't have much
experience using Java, so it will take more time to get used to. Consequently, the completion time to get the break-even point may increase by 5-6
months. Similarly, the team has never used C# on a project before, so we would need to hire more software engineers to work on the project. This will
increase the cost of development and may delay the project's completion. Another significant advantage of using PHP is that it is an open-source
programming language. This means that there are no licensing costs, and it is entirely free to use. This will significantly reduce the total cost of
ownership, allowing us to allocate more resources to other areas of the project.

Therefore, based on these factors, PHP is a highly feasible option for the Tune Source project and the project is economic feasible

2.3 Organizational Feasibility


Organizational feasibility refers to the ability of the organization to effectively manage and complete the project. This includes evaluating the
organization's resources, such as personnel, facilities, and equipment, and determining if these resources are adequate to complete the project.

For example, if a project involves the development of a new manufacturing process, the organizational feasibility of the project would need to be
assessed to determine if the organization has the necessary personnel and equipment to develop and implement the new process, as well as the
necessary facilities to support it.

In addition to evaluating the availability of resources, organizational feasibility also includes an assessment of the organization's operational risks, such
as the risk of personnel turnover, the risk of facilities disruptions, or the risk of supply chain disruptions. These risks must be carefully considered and
addressed in the project plan to ensure the organization is able to effectively manage and complete the project.
Organizational feasibility study on Tune Source project
Organizational feasibility is another important factor that we have considered when selecting the programming language for Tune Source. In terms of
organizational feasibility, using PHP is the best option because the team has experience working with this technology. Moreover, the team can use
previous project experience, which will help complete the project faster and with more ease. Using PHP will not require any additional training or
hiring new developers, thus reducing the project's organizational cost. Additionally, by choosing PHP, we will be able to leverage the vast open-source
community that supports PHP. There are many libraries, frameworks, and resources available that we can use to develop the project. This will help us
improve the overall quality of the project and ensure that it meets the required standards.
Therefore, based on these factors, PHP is a highly feasible option for the Tune Source project and the project is organizational feasible

3. Alternative technical solutions using the alternative matrix.


Feasibility Criteria Wt Candidate 1 : Java Candidate 2: C# Candidate3: PHP
Functionality: 30% Our team doesn't have Our team has never used C# Many software engineers have long
"Describe to what much experience using on a project before, so they experience working with PHP, which
extentthe replacement java in previous projects would need to hire more means they will easily accept the
willbenefit the so it may take longer for software engineers to work solution. With the use of PHP, there
organizationand how well them to get used to it. The on the project. This will will be no need to hire additional
the systemwill function." team's lack of experience increase the cost of developers, unlike Java and C#, further
using Java could result in development and may delay reducing the development cost. As we
Political: additional training and the project's completion. have already worked with PHP in
"Description of ramp-up time, which may Score: 75 previous projects, it will be easier for
thesolutions will be well create organizational the team to get started with the
received both like from challenges. development process. it will take less
the perspective of Score: 80 time to train and get everyone up to
usermanagement, users speed, thus minimizing the risk of
andorganizations." delays.
Score: 90
Teachnical Feasibility 30% Because we have no Althought C# is known for Our team has already worked on many
experience using java so its speed and performance, projects using PHP. Thus, deploying the
Assessment of components, modules the project may be Tune Source project with PHP will help
maturity,availability (or have to build from completed more quickly, complete the project sooner, reducing
receptivity)and desirability scratch. However, because reducing operating costs in operating costs. We can reuse
of computertechnology Java is a widely-used the long run Moreover C# is components, modules of previous
needed toassist this language, there should be a popular language, there projects, and apply them to Tune
candidate. ample resources available should be ample resources Source, which will help to save
to support the team.The available to support the development time and reduce costs.
Assessment of thetechnical strength of java is stability team but our team has never This will help us improve the overall
expertiserequired to and performance. This used C# on a project before, development process and minimize the
develop,operate, and makes Tune Source better so they may need to hire risk of technical errors. Additionally, by
maintaincandidateNeed optimized. To be able to additional software choosing PHP, we will be able to
more technical updates. use this solution, everyone engineers, which could leverage the vast open-source
in the team needs more increase development costs community that supports PHP. There
time to get used to it. Score: 70 are many libraries, frameworks, and
Score: 85 resources available that we can use to
develop the project. This will help we
improve the overall quality of the
project
Score: 95
Economic Feasibility 30% Approximately: 18,000$ Approximately: 12,000$
• Costs for development: Approximately: 15,000$
Approximately: 1-1,5 years Approximately: 1,5-2years
• Payback time: Approximately: 1,5-2
years $ Approximately: 12,000$ Approximately: 15,000$
•The net present value
Approximately: 17,000$
Score: 65 Score: 85
Score: 75
Schedule 10% 6-7 months More than 7 months 5-6 months
Feasibility“Assessment of Score: 80 Score:70 Score:85
solution design and
implementationtime.
Total 100% 80 70 89,5

Tables 5 – Comparasion solution


(Total = ( score each candidate x Wt) / 100% , example : ((90 x 30%) + (95 x 30%) + (85 x 30%) + (85 x 10%) / 100%) = 89,5)

Conclusion: Based on the technical, economic, and organizational feasibility analysis, we believe that PHP is the most suitable programming language
for developing the Tune Source project. By leveraging the team's extensive experience with PHP, reusing components and modules from previous
projects, and taking advantage of the open-source community, we will be able to complete the project on time and within budget. Additionally, we can
avoid the need to hire additional developers and reduce the total cost of ownership, making PHP the best choice for the Tune Source project.
3. Components of a feasibility report

A feasibility report is a document that assesses the viability and potential success of a proposed project. According to Saunders et al. (2018), a
feasibility report typically includes the following components:

1. Introduction: This section provides an overview of the project and its objectives. It also sets the context for the report and explains why the
feasibility study is being conducted.
2. Background information: This section provides background information on the project, including any relevant history, regulations, or market
trends that may impact the project's feasibility.
3. Market analysis: This section assesses the potential demand for the project's products or services in the target market. It includes an analysis of
competitors, target customers, and market trends.
4. Technical feasibility: This section assesses the technical feasibility of the project. It includes an analysis of the project's technical
requirements, any potential limitations or challenges, and the availability of necessary resources.
5. Financial feasibility: This section assesses the financial feasibility of the project. It includes an analysis of the project's costs, revenue
projections, and potential return on investment.
6. Organizational feasibility: This section assesses the organizational feasibility of the project. It includes an analysis of the project's
management team, organizational structure, and resources needed to implement the project.
7. Conclusion: This section summarizes the findings of the feasibility study and provides recommendations for whether or not the project should
move forward.

In conclusion, a feasibility report is a comprehensive document that assesses the viability of a proposed project. It typically includes an introduction,
background information, market analysis, technical feasibility, financial feasibility, organizational feasibility, and a conclusion. (Saunders et al., 2018).
Reference
1. Alan Dennis, System Analysis & Design, January 18, 2012
[Accessed at 15 February 2022]
2. Barry W. Boehm, A Spiral Model of Software Development and Enhancement
[Accessed at 15 February 2022]
3. Ft. Belvoir , Risk Assessment Techniques, Defense Systems Management College, Va. 22060, July 1983.
[Accessed at 15 February 2022]
4. goelshubhangi8, Introduction to Java available at: https://www.geeksforgeeks.org/introduction-to-java/
[Accessed at 15 February 2022]
5. BillWagner , A tour of the C# language,2013 available at: https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/
[Accessed at 15 February 2022]
6. harsh.agarwal0 , PHP | Introduction,2022 available at: https://www.geeksforgeeks.org/php-introduction/
[Accessed at 15 February 2022]
7. Saunders, M., Lewis, P., & Thornhill, A.(2018). Research methods for business students. Pearson.
[Accessed at 15 February 2022]

You might also like