Title page
Contents
Executive Summary.................................................................................................... 3
Introduction of the Case Study................................................................................... 4
Requirement Gathering Techniques Used...................................................................4
Business Requirements Using Agile Methodology......................................................4
UML Diagrams............................................................................................................ 6
UML (Unified Modeling Language) diagrams are essential in visualizing the
system architecture and interactions. Below are the needed UML diagrams:......6
Use Case Diagram................................................................................................ 6
Class Diagram...................................................................................................... 7
Sequence Diagram............................................................................................... 8
Communication to the Stakeholders...........................................................................8
References................................................................................................................ 11
Enhancements Made:............................................................................................... 11
Executive Summary
This document is a detailed functional requirement specification document for a
web application project management tool for Builders, a medium construction
company. The application is basically designed to be an up to date, more efficient
digital practice to the old method of project management convert that is mostly
done via spreadsheet and paper-based solutions. All projects will be fully accessible
from any internet-enabled device along the lines of planning, scheduling, budget
tracking, and communication.
The document contains the methodologies of requirement gathering such as
surveys and interviews that were used to ensure that the application is relevant for
the users. There are submitted Five user stories with acceptance criteria reflecting a
deep understanding of Agile methodology, and also, three UML diagram Use Case,
Class, and Sequence that illustrate the system architecture and interaction. Finally,
the communication strategy in engaging stakeholders during the development
process is presented making sure alignment and collaboration.
Introduction of the Case Study
Ever since construction Builders was formed, it has been a solid construction
company for 15 years. This company has handled many projects, from home to big
commercial buildings. Over the years, it experienced growth through project
management but has used manual methods that are inefficient, leading to delays,
miscommunication, and challenge in tracking progress and budgets.
All these prompted Builders to install an online application for project management
that was supposed to keep track of various kinds of construction projects in real-
time. The major attributes of this application are to get real-time updates, better
communication among the different stakeholders of a particular project and improve
oversight at a higher level. With the addition of advanced technology, Builders will
streamline its activities for project management, save unnecessary administration
overhead, and realize timelines and budgets for projects.
Requirement Gathering Techniques Used
To ensure that the application fulfills the needs of its users, two fundamental
requirement gathering techniques were used:
1. Interviews : Structured interviews were held with project managers,
project engineers, and administrative staff to obtain qualitative insights into
their specific needs and expectations. Through the interviews, shortcomings
such as lacking in tracking progress or achievements, report generation, and
managing budgets were noted as problems in existing project management
approaches. The stakeholders also brought out ‘wish lists’ of requirements
that included visual dashboards, automatic updates, and communication
improvement tools. The interviews gave insight into one‘s responsibilities and
the tools and features needed to help them cope with their issues.
2. Surveys : To substantiate the results derived from the interviews and gain a
wider perspective on the use of the tools and on the administration of the
projects, a larger group of end users of the tools and projects was targeted.
Questions sought to locate features most frequently adopted, levels of
satisfaction with the features, and how often the tools were used. Emerging
from the survey were trends in the preferences of the users with particular
emphasis to the areas to be improved which included task management,
communication and interface. This wider approach complemented the
interviews by ensuring that the application is designed with consideration of
key issues which cut across different users.
Business Requirements Using Agile
Methodology
User Stories : An important feature of the Agile methodology is the user story
that gives clear and simple representations of requirements by a user.
1. User Story 1
As a project manager, I want to be able to generate and view project plans such
that the associated tasks are scheduled and tracked well.
Acceptance Criteria:
The project manager can add a new project plan title and description.
The project plan includes deadlines, and team members assigned.
The project manager can also add and delete tasks as it demands.
It is possible for all users to save the project plan for execution at a later
stage.
The application has a graphic unique timeline that displays the entire process
plan of the project.
2. User Story 2:
I would like to propose changes to the status of some activities as a project
engineer, and that the manager be able to see the changes live.
Acceptance Criteria:
The project engineer can change the status of tasks, for example, Not
Started, In Progress, Completed.
The status gets updated in the project dashboard right away.
The project engineer receives confirmation of the status update.
The application records the history of status changes for accountability.
3. User Story 3:
As a project manager, I want to analyze the project budgets so that I can effectively
manage expenses.
Acceptance Criteria:
The project manager has the option to impute budget estimates and
expenses.
The application of the course can bring budget reports the comparison of
estimates with actuals.
The project manager has the choice of turning on budget alerts for
overspending.
The application includes the visual graphs that shows the budget trends.
4. User Story 4:
As a team member, I want to communicate with other team members using the
application to collaborate effectively as a team member.
Acceptance Criteria:
Team members can send messages within the application.
Notifications are sent for new messages.
Team members can view message history.
The application allows for file sharing and attachments within messages.
5. User Story 5:
Being a project manager, I desire to compile project reports in order to keep
stakeholders informed of my work progress.
Acceptance Criteria:
Reports pertaining to the status of the project, its budget, or its scheduled
deadlines can be created by the project manager.
It is achievable to undertake a report export in PDF format.
The project manager is able to change parameters of the report (e.g., certain
dates, a certain phase of the project).
The application provides an overview dashboard which displays KPIs.
UML Diagrams
UML diagrams provide a modeling requirement and deliver specification designs
according to the way a system relates and behaves.
Use Case Diagram
This diagram Use Case, as shown below, depicts interactions between users, called
actors and the system, highlighting essential functionalities that the application is
going to offer.
Class Diagram
The Class diagram will give an overview of the system. It will include classes along
with their attributes and methods showing their relationships. It will present classes
such as Project, Task, User, and Budget with details about their interactions.
Sequence Diagram
The Sequence diagram details the interactions between objects in a specific use
case. For this document, we will focus on the use case of updating task status.
Selected Use Case: Updating Task Status
Communication to the Stakeholders
Every bright project needs effective and efficient communication with its
stakeholders. The following gives a list of project stakeholders, their roles, and the
communication methods that can be employed to communicate with them.
Stakeholders
Project Sponsor: CEO of Builders (approves requirements)
The CEO is the main project sponsor who gives strategic directions and approves
key requirements. They guarantee that the project falls within the framework of the
organization’s vision and provides funds necessary for the successful
accomplishment of the project.
Project Manager
A project manager is accountable for overseeing the entire project development life
cycle, ensuring the application meets the business objective. He or she necessarily
articulates the requirement to the development team and the stakeholders and also
monitors problems to the extent that it does not hamper the progression of the
project.
Software Architect
Overall, the software architect is responsible for the high-level design of the system,
which is required to be scalable, secure and feasible in a technical sense. He works
with the development team to promote best practices and makes important
technical choices to enhance the reliability and performance of the system.
Software Developers
Developers are in charge of constructing the application as per the requirements
and system blueprints. They write, debug, and maintain the code and work closely
with testers so that the system operates as it is expected to do.
Tester
Developers will build the application based on the requirements and system design.
They write, debug and maintain the code in collaboration with testers in order to
make sure that the system functions as designed.
End-Users
End users include managers of projects and project engineers as well as other
ordinary workers who would operate the application frequently and the comments
from such users assist in enhancing the features of the system.
Communication Strategy
Project Sponsor: The project will always be in track with the organizational
goals, as the project sponsor will receive regular updates through sprint reviews and
feedback sessions There will be short as well as long reviews of the sprints and the
different challenges that were faced and the future suggestions that were made
with the project. The project sponsor will be in the position to give the thoughts and
the approvals along the way. Strategic input helps in estimation of which features
are prioritized , how resources are utilized and their confirmation that the project
will work for the company.
Project Manager: The project manager will have his session with the team
members during the week to review how the project is going, what the risks are,
and what the plans are for future sprints. These meetings will be on scope changes,
resource distributions, and any problems that have arisen so as make sure that the
completion date will still be achieved. Another element in which the project
manager will concentrate on is the use of the centralized control board which will
display all the updates from the staff on what stage the tasks are together with the
budgets and the timelines of the activities. This board will be made available to all
shareholders, and it will create a view that will facilitate timely decisions. In
addition, the project manager can update the team or follow-up outside meetings
through instant messaging or sending regular emails as a means to provide the
necessary daily information and reports.
Software Architect: The software architect will be doing semimonthly meetings
to discuss the design of the system, progress made and to tackle architectural
issues. During the discussion sessions there will be also working with the
development team to remove technical barriers and prove that the implementation
meets the requirements in design principles such as scalability, performance, and
security. Moreover, the architect will be preparing papers and formulating design
standards in order to assist the developers in the course of the project. She
maintains constant contact with the crew to check not only whether the application
is possible but also if there are no risks of incorrect implementation.
Software Developers: There will be daily stand-up meetings among the
developers to track progress at the individual and team level. The developers will
discuss their completed work, plans for the day, and issues being currently faced
during these meetings. This will help develop collaboration and transparency. Code
review sessions will be periodically arranged to ensure high-quality code and catch
problems early. Developers will closely collaborate with the software architect and
tester to meet functional as well as technical requirements. In addition to stand-ups,
the developers will also have access to shared resources, such as a task board and
repositories, through which coordination and workflow management will be possible
in an efficient way.
Tester: Quality assurance can benefit considerably from the input that tester will
bring with an active engagement in sprint review with feedback on functionalities as
well as usability of a particular feature. Bugs found should be reported and kept
traceable until its rectification as well as seeing all those problems completely
solved before delivery, so the bug fix goes to plan without causing significant delay
for efficiency in processing. In addition, the tester shall produce detailed test reports
that offer insight into system performance, security vulnerabilities, and usability
concerns. Therefore, their feedback will be indispensable to ensure the delivery of a
reliable and user-friendly application.
End-Users: End-Users during the entire project will ensure that the application
meets the needs of its users. Also. Feedback sessions will be conducted after every
sprint, allowing the users to test the new features developed and comment on
usability and functionality of those features. These will be both structured activities
such as usability testing and free flow discussions gathering diverse viewpoints.
Surveys and feedback forms will supplement these sessions to obtain input from a
more extensive population of users. This kind of sustained involvement ensures that
the user needs are at the forefront of the project and also help the team improve
incrementally with the help of realistic usage scenarios.
This strong communication strategy engenders collaboration, brings into focus
transparency, and pools all stakeholders toward efficiently executing the project's
objectives.
References
Sommerville, I., 2016. Software Engineering. 10th ed. Boston: Pearson.
Agile Alliance, 2021. What is Agile? [online] Available at:
https://www.agilealliance.org/agile101/ [Accessed 20 Oct. 2023].
Booch, G., Rumbaugh, J. and Jacobson, I., 2005. The Unified Modeling Language
User Guide. 2nd ed. Boston: Addison-Wesley.
Enhancements Made:
Comprehensiveness: More elaborate user stories with extra acceptance
criteria to address more aspects of user needs.
Insightfulness: This report gave deeper insights into the problems that
Builders face and how the application solves these problems.
Innovation: Introduced innovative features into user stories, such as visual
timelines and budget trend graphs, to improve user experience.
UML Diagrams: This report has shown the significance of UML diagrams
and their role in visualization