Professional Documents
Culture Documents
Asm1 SDLC 1
Asm1 SDLC 1
Unit number and title Unit 09: Software Development Life Cycle
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:
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)
• 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.
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.
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
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.
• 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.
- 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.
Therefore, based on these factors, PHP is a highly feasible option for the Tune Source project and the project is technically feasible
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
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
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]