[go: up one dir, main page]

100% found this document useful (1 vote)
1K views57 pages

ASE 2 Coursework

This report summarizes the project management of developing an online auction platform. It covers project scope, schedule, budget, risks, team structure, work breakdown structure, Gantt chart, network diagram, milestones, and a maintenance plan. The project aims to provide an auction system for various goods using an agile development approach and sprints.

Uploaded by

Shihan Mohamed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
1K views57 pages

ASE 2 Coursework

This report summarizes the project management of developing an online auction platform. It covers project scope, schedule, budget, risks, team structure, work breakdown structure, Gantt chart, network diagram, milestones, and a maintenance plan. The project aims to provide an auction system for various goods using an agile development approach and sprints.

Uploaded by

Shihan Mohamed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

London Metropolitan University, Faculty of Computing

CS6003ES Advanced Software Engineering


Coursework Assignment, Semester 2 (part 2), 2021/22
Module Leader: Dr. Lochandaka Ranathunga

Part 2 weighting: 30% in total

STUDENT ID NUMBERS: 20048289, 20048292, 20048285, 20048080

NAMES: Yousuf, Thanush, Shihan, Yasura

Submission deadline: 13th January 2022

The electronic version of your group report must indicate all group members’ ID number,
Surname and First name in the first page or at the beginning of program file (as comments).

If you think there is a good reason for late submission, such as illness, and you have supporting documentary evidence
then you should follow the “mitigating circumstance” procedures outlined in the Red Book, otherwise assignments
will NOT be accepted by the module Organizer after the due date.

PLAGIARISM

You are reminded that there exist regulations concerning plagiarism. Extracts from these
regulations are printed overleaf. Please sign below to say that you have read and understand these
extracts:

(Signature:)______________________________________________________________

This header sheet should be attached to the assignment specification and to the work you
submit. No work will be accepted without it.
ESOFT METRO CAMPUS

ADVANCED SOFTWARE
ENGINEERING (CS6003ES)
COURSEWORK 2

Project Plan Report

The Sams and Sams Auction Platform

Mohammed Faseel Mohammed Yousuf (20048289)

Thanushvar Sathyaseelan (20048292)

Yasura Malshan (20048285)

Shariff Khan Shihan Mohamed (20048080)

Date Due: January 13th, 2022

Date Submitted: January 13th, 2022

Advanced Software Engineering – Coursework 2 Page 2 of 57


Acknowledgement

We've put forth a lot of work to finish this project. Working as a team and having so much support
and advice from so many individuals and organizations helped a lot. We want to thank each and
every one of them from the bottom of our hearts.

We are grateful to ESOFT Metro Campus for overseeing our project and providing us with the
necessary resources.

This is an excellent time to get started on this project. Also, we'd like to express our sincere
gratitude to Dr. R.Lochandaka for his help and support with the project's completion.

Our appreciation and respect also extend to our project development colleagues, and those who
contributed to the success of the project have graciously lent us their expertise.

Advanced Software Engineering – Coursework 2 Page 3 of 57


Abstract

Sams & Sams (Pvt) Ltd. intends to provide an online auction platform for buying and selling a
wide range of goods. The products will be auctioned off using an online auction system, which is
a web-based application that allows people to buy and sell items through an online auction.

Auctioneers may create an auction in the application and auction anything they desire, such as
electronics, books, furniture, fashion items, jewelry, and so on. Bidders will be able to register and
bid on any available item.

This project summarizes the development of the proposed system from a management perspective
managing the budget, costs, human resources, technical resources, and other factors ensuring
smooth delivery of the project.

Advanced Software Engineering – Coursework 2 Page 4 of 57


Table of Contents
1. Introduction ................................................................................................................................. 9

2. Generic Report .......................................................................................................................... 10

3. Overview (Project Summary) ................................................................................................... 16

3.1. Purpose and Scope ............................................................................................................. 16

3.2. Objectives ........................................................................................................................... 17

3.3. Assumptions ....................................................................................................................... 17

3.4. Constraints.......................................................................................................................... 18

3.5. Project Deliverables ........................................................................................................... 18

3.6. Schedule and Budget Summary ......................................................................................... 18

3.6.1. Schedule Summary ...................................................................................................... 19

3.6.2. Budget Summary ......................................................................................................... 20

3.7. Risk Management ............................................................................................................... 21

4. Project Organizational Structure ............................................................................................... 22

4.1. Description of the team structure ....................................................................................... 22

4.2. Organizing the project through sprint cycles (Modules of CI/CD) and identification of team
member responsibilities for software processes, activities and tasks. ...................................... 32

5. Work Breakdown Structure (WBS) .......................................................................................... 37

5.1. Rationale for Work Breakdown Structure (WBS) ............................................................. 38

Advanced Software Engineering – Coursework 2 Page 5 of 57


5.2. Gantt Chart ......................................................................................................................... 43

5.3. Network Diagram ............................................................................................................... 44

5.4. Milestones .......................................................................................................................... 48

5.5. Rationale for Milestones .................................................................................................... 49

5.6. Use of Project Management Software ................................................................................ 52

6. Project Maintenance Plan ......................................................................................................... 53

Conclusion .................................................................................................................................... 55

References and Bibliography ........................................................................................................ 56

Advanced Software Engineering – Coursework 2 Page 6 of 57


Table of Figures

Figure 3.1 Schedule Summary ...................................................................................................... 19

Figure 4.1 Team Structure ............................................................................................................ 22

Figure 4.2 Resource Allocation .................................................................................................... 36

Figure 5.1 Work Breakdown Structure ......................................................................................... 37

Figure 5.2 Gantt Chart .................................................................................................................. 43

Figure 5.3 Network Diagram ........................................................................................................ 44

Figure 5.4 Network Diagram 2 ..................................................................................................... 47

Figure 5.5 Milestones.................................................................................................................... 48

Figure 5.6 Microsoft Project Usage .............................................................................................. 52

Advanced Software Engineering – Coursework 2 Page 7 of 57


List of Tables

Table 3.1 Resource Allocation and Cost....................................................................................... 20

Table 4.1 Employee Information .................................................................................................. 35

Table 5.1 Calculation of ES, EF, LS, LF and Slack ..................................................................... 46

Table 5.2 Milestones ..................................................................................................................... 49

Table 6.1 Maintenance Schedule .................................................................................................. 54

Advanced Software Engineering – Coursework 2 Page 8 of 57


1. Introduction

This report highlights the project management activities of the development of the Sams and Sams
auction system, which includes scope management, time management, human resource
management, task breakdown, resource allocation, cost estimation, etc.

Technology has a tremendous influence on people's lives in today's globe. In January 2021, there
were 4.66 billion active internet users worldwide, accounting for 59.5 percent of the global
population. 92.6 percent of the total (4.32 billion) utilized mobile devices to access the internet.
Technology has a significant influence on everything from education to business. Businesses are
expanding their activities online to boost income and acquire additional benefits.

Sams & Sams (Pvt) Ltd. plans to offer an online auction platform where people may purchase and
sell various items. The products will be sold using an online auction system, which is a web-based
application that allows users to buy and sell items through an online auction. They may buy and
sell everything they desire, including gadgets, books, furniture, fashion goods, jewelry, and so on.
Bidders will be able to register and bid on any available item, and auctioneers will be able to
auction their items using this app.

This project plan includes information on the objectives and scope of the project and a detailed
description. This project plan was designed for the development of Sams & Sams Pvt Ltd's auction
platform system. Each team member, including the project manager, will have specific
responsibilities as part of the group. The project's work will be organized into structures such as
Gantt project charts and organizational hierarchies at the end of the research, which is expected to
take eight weeks. This report depicts the report's inspection and maintenance.

This report outlines how the project is managed during the system development process in the
tasks below.

Advanced Software Engineering – Coursework 2 Page 9 of 57


2. Generic Report

Date of Issue - 25/07/2021

Issuing Organization - XYZ Company

Withdrawing Organization - The Sams & Sams (Pvt) Ltd

Glossary

PM

Project Manager

The project manager is in charge of the project's everyday operations and must be capable of
handling all six project aspects: scope, schedule, finances, risk, quality, and resources.

SM

Scrum Master

By assuring that the Scrum framework is followed, the scrum master assists in facilitating effective
scrum to the team. They are dedicated to the scrum ideas and practices, but they should also be
adaptable and open to chances for the team to enhance their workflow.

SRS

Software Requirement Specification

A software requirements specification (SRS) is a document that explains what the program will
accomplish and how it will work. It also abstracts the functionality that the product must deliver
to meet all stakeholders' requirements (business and users). It also defines the purpose of the
product and describes the architecture to be constructed.

Advanced Software Engineering – Coursework 2 Page 10 of 57


SDP

Software Development Plan

Software Development Plan is a process that tries to increase software delivery predictability. It
entails gathering requirements, planning and designing the product, and, in some instances,
research and development into areas where the project has unknowns or risks.

IEEE

Institute of Electrical and Electronics Engineers

The "Institute of Electrical and Electronics Engineers," or "I triple E," is an acronym for "Institute
of Electrical and Electronics Engineers." The IEEE is a professional organization that creates,
defines, and evaluates standards in the fields of electronics and computer science.

SE

Software Engineer

Software engineers build and develop computer applications and programs to tackle real-world
issues. Professionally, to design, implement, test, maintain, and evaluate software programs,
software engineers apply software engineering principles.

ISO

International Organization for Standardization

ISO (International Organization for Standardization) is a non-profit organization that produces


standards to assure the quality, safety, and efficiency of products, services, and systems. Each
certification has its own set of standards and requirements, as well as a number classification.

Advanced Software Engineering – Coursework 2 Page 11 of 57


WBS

Work Breakdown Structure

A work breakdown structure (WBS) is a strategy for completing a complicated, multi-step project
in project management. It's a strategy for breaking down huge tasks into smaller chunks and
achieving them faster and efficiently. The objective of a work breakdown structure is to make a
complicated project more manageable.

Milestones

Project milestones are specific points in the project's schedule that show vital achievements or the
realization of a significant stage in the project. Project milestones are substantial for assuring
effective and efficient management and keeping the team on track.

UI

User interface

UX

User experience

Software implementation

This method is a way for integrating a software-based service or component into the workflow of
an organization or an individual end-user in a methodical and organized manner.

Database

The database is an electronically organized collection of data that is also accessed and stored
electronically.

Advanced Software Engineering – Coursework 2 Page 12 of 57


CSS

Cascading Style Sheet

CSS is a language for defining how Web pages are presented, including colors, layout, and fonts.
It enables the presentation to be adjusted for different types of devices, such as huge displays, tiny
screens, or printers. CSS may be utilized with any XML-based markup language and is not
dependent on HTML.

MVC

Model View Controller

Model-View-Controller (MVC) is a software design pattern that is often used to construct user
interfaces, data, and control logic. It stresses the distinction between the business logic and the
appearance of the software. This "separation of concerns" permits a more efficient division of work
and better maintenance.

HTML

Hypertext Markup Language

HTML (Hypertext Markup Language) is the coding that organizes a web page's structure and
content. Content might be organized using paragraphs, a list of bulleted points, or graphics and
data tables, for example.

SQL

Structured Query Language

SQL (Structured Query Language) is a standardized programming language for handling relational
databases and executing various functions on the data contained inside them. After the introduction
of SQL in the late 1970s and early 1980s, SQL became the de facto standard programming
language for relational databases.

Advanced Software Engineering – Coursework 2 Page 13 of 57


NodeJS

Because of its single-threaded nature, Node.js is best suited for non-blocking, event-driven servers.
It was created with real-time, push-based architectures in mind and is utilized for standard web
pages and back-end API applications.

ExpressJs

Express.js, or simply Express, is a back-end web application framework for Node.js that was
distributed under the MIT License as free and open-source software. It is intended for the
development of web applications and APIs. It's been dubbed Node.js' de facto standard server
framework.

GCP

Google Cloud Platform

Google Cloud Platform is a pool of cloud computing services offered by Google that run on the
same infrastructure as Google's internal products such as Google Search, Gmail, Google Drive,
and YouTube.

API

Application Programming Interface (API) is an intermediary that permits two applications to


communicate with each other.

NPM

Node Package Manager

Application Programming Interface (API) is basically an intermediary that facilitates the


communication between different applications.

Advanced Software Engineering – Coursework 2 Page 14 of 57


HTTPS

HyperText Transfer Protocol Secure

Hypertext Transfer Protocol Secure is a Hypertext Transfer Protocol enhancement. It is broadly


used on the Internet and is employed for secure communication over a computer network. The
Transport Layer Security (TLS) or Secure Sockets Layer (SSL) protocol encrypts the
communication protocol in HTTPS.

Buyer

Someone who interacts with the application from a buyer perspective

Seller

Someone who interacts with the application from a seller's perspective.

Admin

Someone who is authorized to manage the system.

Advanced Software Engineering – Coursework 2 Page 15 of 57


3. Overview (Project Summary)
3.1. Purpose and Scope

The Sams and Sams is now delivering services to its buyers and sellers through manual processes.
Currently, when a buyer wishes to submit a bid, he may either phone the call center and give them
the product SKU number and bid amount, or he can go in person. The buyer's offer will then be
placed by the call center. If a seller wants to bring their products to the auction, they must fill out
a form and leave their product in the condition that it is required for physical inspection. Sams &
Sams Pvt Ltd earns a 2% sales commission after a successful order. Since this entire process is
manual, the ultimate need for Sams and Sams Pvt Ltd is to automate this complete process for
them.

To attain the following goals, Sams & Sams has opted to automate the foregoing procedures.

• Buyers will receive better and faster service.


• Improved seller services.
• Maximize Sams and Sams Pvt return on investment (ROI).
• Boost overall efficiency, effectiveness and productivity.
• Compliance enhancement.
• Improving the scalability with financial insight.

The project's scope must include the following functional areas

• Built-in internal Wallet integrated with an external facilitator.


• Manage payments and transactions internally in the application.
• Generate useful reports providing accurate insights and information to assist in decision
making in all levels of the hierarchy.
• Facilitating real time bidding and allowing the moderators to detect fraud and take
corrective actions.
• Providing the bidders with the ability of requesting an item for physical inspection.
• Providing internal messaging service in the application to facilitate communication
between the users.

Advanced Software Engineering – Coursework 2 Page 16 of 57


• Allowing the users to report on fraudulent users and consequently allowing the moderators
to review such reports and take corrective actions like block listing.
• Track and monitor both the order status and the shipping status within the application.
• Automatically calculating the shipping charges by comparing the buyer’s and seller’s
locations.
• Delivering a smooth mechanism for the users to browse the application both as a buyer
(bidder) and a seller (auctioneer).

3.2. Objectives

The goal of the proposed project is to make online services more profitable and reliable in the
purchase process.

• Deliver an efficient system to the Sams and Sams.


• Ensure auctioneers are able to list their products.
• Ensure bidders are able to bid on the listed products.
• Ensure bidders are able to order the auction products won by them.
• Ensure the company generates a revenue within the system.

3.3. Assumptions

The following assumptions are made in the project.

• The application is accessed using a modern web browser.


• End-users of the system are quite familiar with the English Language.
• End-users are aware of the auction/bidding business domain.
• End-users are aware of the ecommerce shopping.
• End-users have some sort of technical knowledge.
• Project delays will occur if revisions to draft deliverables are not identified within the
timeframe indicated in the project timetable.
• As new information and issues become available, the Project Plan may be revised.

Advanced Software Engineering – Coursework 2 Page 17 of 57


• The project manager will make sure that project team members are accessible to execute
project tasks and objectives as needed.

3.4. Constraints

The following constraints are imposed in the project.

• The project's finance sources are restricted, and there is no contingency.


• The project must be finished within 34 days, with limited resources.
• The system's development will be hampered by the lack of essential software, such as
testing tools for concurrency control and a large number of virtual users.
• Natural Disaster.
• Acts of war.
• Country's inflation.
• Change in Political laws.
• Change in company law.
• Change in configuration during implementation.

3.5. Project Deliverables

The following are the deliverables of the project.

• A working model of the application.


• User documentation and system documentation.
• User training.

3.6. Schedule and Budget Summary

• Since the project needs to be completed within 34 days, the scheduling has to be as precise
as possible.
• The project is divided into 2 sprints, each assigned with 10 days.

Advanced Software Engineering – Coursework 2 Page 18 of 57


• The number of days allocated to the project is 33 days, including the additional time for
any unfortunate happenings.
• A budget of Rs. 6,000,000 was allocated, which only accounts for the employee salary and
not any other additional costs involved.

3.6.1. Schedule Summary

Figure 3.1 shows the schedule summary of the project.

Figure 3.1 Schedule Summary

Advanced Software Engineering – Coursework 2 Page 19 of 57


3.6.2. Budget Summary

Table 3.1 shows the resource and cost allocation of the project.

Pay per hour Total


Member Role Hours Worked
(Rs.) (Rs.)

Project Manager - Part Time 74 7,000 518,000

Backend Engineer - Full Time 210 6,000 1,260,000

Frontend Engineer - Full Time 210 6,000 1,260,000

QA Tester - Full Time 185 6,000 1,110,000

Business Analyst - Part Time 72 6,000 432,000

DevOps Engineer - Part Time 24 6,000 144,000

Tech Lead - Part Time 96 6,000 576,000

E-Commerce Consultant - Other 28 4,000 112,000

Information Security Officer - Other 52 4,000 208,000

Total 5,620,000

Table 3.1 Resource Allocation and Cost

Advanced Software Engineering – Coursework 2 Page 20 of 57


3.7. Risk Management

The process of discovering, analyzing, and controlling dangers to a project is known as risk
management. Financial uncertainties, legal obligations, strategic management failures, accidents,
and natural disasters are only some of the hazards or risks that might arise.

The process of detecting the project-specific risk is known as risk assessment. The steps involved
include risk identification, analysis, prioritization, and resolution. With the project's progress, the
information managed inside the Project Plan will most likely alter. Therefore, it's vital to remember
that any changes to the Project Plan will influence the following criteria.

• Time
• Available Resources
• Project Quality

The goal of the Initial Risk Assessment is to identify, describe, prioritize, and record a risk
mitigation strategy for those hazards that can be recognized before the project's commencement.

Throughout the project's life cycle, the Risk Assessment will be monitored and updated monthly,
with monthly assessments included in the status report and other reports, and available to change
by the Project Manager. In addition, because project leadership must agree on mitigation
approaches (based on the risk's assessed impact, the project's capacity to bear the risk, and the
feasibility of reducing the risk), time must be set aside at each Steering Committee meeting to
identify new risks and discuss mitigation strategies.

Advanced Software Engineering – Coursework 2 Page 21 of 57


4. Project Organizational Structure
4.1. Description of the team structure

The project's organizational structure is crucial in determining people's hierarchy, roles,


workflows, and reporting systems. It is a business component that plays a critical function in
directing and shaping how a company does business. Figure 4.1 shows the team structure of the
project.

Figure 4.1 Team Structure

Project-based organizational structure is the most appropriate project organizational structure for
this project. A modest number of people are employed in the auction project. However, there are
those that work in management, design, development, and testing. They hold varied jobs within
those areas. All members of the team contact the project manager directly but however it is
encouraged to communicate with each member directly to sort out issues and clarifications as per
the Scrum framework. After this project is completed, all human resources will be allocated to a
new project.

All the planning activities and task allocation has been done taking into account all aspects of the
team structure.

Team consists of,

• Project Manager
• Backend Engineer
• Frontend Engineer
Advanced Software Engineering – Coursework 2 Page 22 of 57
• QA Tester
• Tech Lead
• Business Analyst
• DevOps Engineer
• Information Security Officer
• E-Commerce Consultant

Project Manager

Member Name - Team (Yousuf, Thanush, Shihan, Yasura)

Position - Project Manager

Salary; Rs. 7000/hr

Description

The project manager is in charge of the day-to-day operations of the project and must be able to
handle all six project aspects: scope, schedule, finances, risk, quality, and resources.

The project manager is in charge of the project's inception, planning, monitoring, regulating, and
closing. Throughout the project life cycle, the project manager should assess the risks. Risks come
unexpectedly due to uncertainty; thus, he should make risk mitigation his top priority.

By enabling all participants to voice their ideas and concerns, the project manager should be able
to reduce risks or decrease the impact of the identified hazards. The following are the other
responsibilities.

Roles

• Work planning and organizing.


• Administers a project's day-to-day operations.
• Creates and sends frequent status reports to the project team.

Advanced Software Engineering – Coursework 2 Page 23 of 57


• Ensures that the team's objectives and duties are appropriately written and approved in
detail.
• Manage issues and risks.

Responsibilities

• Keeping track of job completion.


• Planning timeline for the project.
• Creating financial plan.
• Analyzing the risks.
• Breaking down initiatives into tasks.
• Documentation.

Backend Engineer

Member Name - Max Verstappen

Position - Backend Engineer

Salary- Rs. 6000/hr

Description

A backend developer is in charge of building the system’s server side using server-side
technologies. Backend engineers usually work in teams or groups.

Roles

• Existing systems must be maintained and upgraded.


• Writing and implementing code that is well structured, efficient, and effective.
• Identify areas in existing programs that might be improved, and then implement those
modifications.
• Implementing procedures for quality assurance including writing unit tests.
Advanced Software Engineering – Coursework 2 Page 24 of 57
Responsibilities

• Assuring that all of the assigned system requirements are met.


• After the product has been delivered, maintain the system.
• Collaborate collaboratively with analysts, designers, engineers and other members of the
team.

Frontend Engineer

Member Name - Lewis Hamilton

Position - Frontend Engineer

Salary; Rs. 6000/hr

Description

A frontend engineer is critical to an application’s success. The frontend engineer's job is to make
application user-friendly and functioning. Frontend engineers typically use languages like HTML,
CSS, and JavaScript to design templates and generate components and pages.

It is the role of front-end designers to provide a user-friendly interface. In order to ensure user-
friendliness, color schemes and navigation panels should conform with commercial online
standards. The interface of the proposed application is to be created using HTML5, CSS, and
Bootstrap.

Roles

• Creating visual components inside a web application that is visible to the end-user.
• Bend the science of programming with the art of design.
• Converting UI/UX design wireframes into real code.
• Required to be a good team player to achieve tight deadlines while adhering to design
specifications.

Advanced Software Engineering – Coursework 2 Page 25 of 57


Responsibilities

• Improving the interactivity and the overall user experience of the application.
• Bringing concepts to life with HTML, JavaScript, and CSS.
• Actively maintaining the codebase of the client application.
• Rectifying both functional and user interface issues identified in the client application.
• Ensuring the application is adaptable to a wide range of screen sizes.
• Actively participating in the software development process.

QA Tester

Member Name - Fernando Alonso

Position - Tester

Salary - Rs. 6000/hr

Description

The Quality Assurance (QA) Tester is responsible for identifying issues in the running software
by using different testing activities. They must be able to review and analyze system specifications,
write automation scripts, execute test scripts and report the identified defects to the team.

Roles

It entails running a program or system component in order to assess one or more interesting
properties. In addition to identifying faults, gaps, or missing requirements, software testing aids in
identifying genuine needs. It can be done manually or with the help of automated software.

Responsibilities

• Compile a list of quality standards.


• Participate in the review of deliverables.

Advanced Software Engineering – Coursework 2 Page 26 of 57


• Execute the results of the performance test run.
• Collaborate closely with other team members specially the engineers.

Tech Lead

Member Name - Sergio Perez

Position- Tech Lead

Salary - Rs. 6000/hr

Description

At a software or technology company, a technical lead is a specialist who manages a team of


technical employees. They frequently lead software development or software engineering teams,
as well as address technical difficulties related to software development, engineering activities,
and product launches.

Roles

• Strong leadership skills


• Strong communication skills
• Expert technical knowledge
• Relevant management skills

Responsibilities

• Lead the software team.


• Organize the development team.
• Facilitate the environment.
• Motivate the team members.
• Provide help during development.

Advanced Software Engineering – Coursework 2 Page 27 of 57


Business Analyst

Member Name - Daniel Riccardio

Position - Business Analyst

Salary - Rs. 6000/hr

Description

Requirements Engineering (RE) is the process of defining, documenting, and maintaining


requirements in the engineering design process. In software engineering and systems engineering,
it is a frequent function.

The primary task of a business analyst is to translate clients' ambiguous, incomplete needs and
wants into business requirements specifications. Clients and developers sign specifications like a
contract. To determine the customer's explicit needs, a business analyst must use a variety of
requirements collecting techniques. As a result, the position of the Business Analyst is crucial in
the software development life cycle. Accurate software requirements are critical to the project's
success.

Roles

• Analyze the customer requirements.


• Validate the requirements.
• Have an in-depth technical knowledge.

Responsibilities

• Researching and analyzing business problems


• Determining the anticipated business value
• Outlining nonfunctional requirements
• Creating functional requirements
• Developing the primary backlog

Advanced Software Engineering – Coursework 2 Page 28 of 57


DevOps Engineer

Member Name - Sebastian Vettel

Position - DevOps Engineer

Salary - Rs. 6000/hr

Description

DevOps is a combination of cultural principles, processes, and technologies that increase an


organization's ability to deliver high-speed applications and services, allowing it to evolve and
improve products more quickly than traditional software development and infrastructure
management methods. Installing and maintaining the application is the responsibility of the
DevOps Engineer. The DevOps Engineer will also handle L1, L2 level support questions

Roles

• To communicate effectively.
• Enhance visibility throughout the CI/CD pipeline.
• Monitor cloud technology changes.

Responsibilities

• Manage some part of the project.


• Improve the IT infrastructure in addition to designing.
• Performance testing.
• Automation.

Advanced Software Engineering – Coursework 2 Page 29 of 57


Information Security Officer

Member Name - Ayrton Senna

Position - Information Security Officer

Salary - Rs. 4000/hr

Roles

• Analyze for threats.


• Expert analytical skills.
• Manage and mitigate risks.
• Penetration skills.
• Web security awareness.

Responsibilities

• Determining vulnerabilities in the application and the network.


• Formulating and enforcing a complete plan to secure the application and the network.
• Monitoring network usage to assure adherence to security policies.
• Keeping up with evolutions in information technology security standards and threats.
• Conducting penetration tests to discover any defects.
• Teaming with the other team members to improve the overall security.
• Reporting any security infringements and violations and estimating their damage.
• Enlighten team members around developing secure software and the finest conventions for
information security.

Advanced Software Engineering – Coursework 2 Page 30 of 57


E-commerce Consultant

Member Name - Carlos Sainz

Position – E-commerce Consultant

Salary - Rs. 4000/hr

Roles

E-commerce consultants are experts and possess and immerse knowledge in the ecommerce world.
An e-commerce consultant is responsible for studying a company's operations and developing an
e-commerce development and marketing strategy, as well as tracking progress toward targets and
adjusting the strategy as circumstances change.

Advanced Software Engineering – Coursework 2 Page 31 of 57


4.2. Organizing the project through sprint cycles (Modules of CI/CD) and
identification of team member responsibilities for software processes, activities
and tasks.

Table 4.1 shows the roles, skills, and payment of each team member.

Pay per
Employee Name Role Skills
hour (Rs.)

Team (Yousuf, Project Manager • Effective communication 7,000


Thanush, Shihan, • Negotiation
Yasura) • Scheduling and time
management
• Risk management
• Leadership skills
• Technical skills
• Company and technology
awareness
• Good collaboration and
exemplary commitment with the
team.

Max Verstappen Backend Engineer • Backend programming languages 7,000


• Knowledge of popular backend
frameworks
• Data structures and algorithms
• Databases and cache
• Data normalization
• Usage of servers
• Knowledge in APIs

Advanced Software Engineering – Coursework 2 Page 32 of 57


Pay per
Employee Name Role Skills
hour (Rs.)

• Version control and version


control systems
• Problem-solving
• Good communication and
interpersonal skills
• GitHub and JIRA tools

Lewis Hamilton Frontend • HTML, CSS 7,000


Engineer • JavaScript programming
language
• Frontend framework and libraries
• Version control
• Cross-browser and device testing
• Web performance optimization
• Search Engine Optimization

Sergio Perez QA Tester • Critical thinking 7,000


• Flexibility
• Immediate to learn
• Collaboration and social skills
• Preparing and running the tests
• Documenting the tests
• Composing defect reports
• Following sign-off procedures
• Analytical reasoning
• Business mapping
• Using a global perspective

Advanced Software Engineering – Coursework 2 Page 33 of 57


Pay per
Employee Name Role Skills
hour (Rs.)

• Using automation tools such as


Selenium
• Running cross-browser testing

Sebastian Vettel DevOps Engineer • Version Control 6,000


• Continuous integration servers
• Configuration management
• Deployment automation
• Containers
• Infrastructure orchestration
• Monitoring and analytics
• Testing and cloud quality tools

Sergio Perez Tech Lead • Establish trust within the team 6,000
• Communication skills
• Leadership qualities
• Strong vision into the project and
for the company
• Top management skills
• Able to motivate the people
• Able to manage the people
• Strong domain knowledge
• Strong technical knowledge

Daniel Riccardio Business Analyst • Commercial awareness 6,000


• Communication skills
• Interpersonal skills

Advanced Software Engineering – Coursework 2 Page 34 of 57


Pay per
Employee Name Role Skills
hour (Rs.)

• Time management skills


• Organization skills
• Problem-solving skills
• Analytical skills
• Technical knowledge
• Writing skills
• Documentation skills

Ayrton Senna Information • Analytical skills 4,000


Security Officer • Communication skills
• Detail oriented
• Threat assessing skills

Carlos Sainz E-commerce • Strong e-commerce domain 4,000


Consultant knowledge
• Strong communication skills
• Grasp and keep up with new
trends in e-commerce swiftly

Table 4.1 Employee Information

Advanced Software Engineering – Coursework 2 Page 35 of 57


Figure 4.2 shows the resource allocation for team members.

Figure 4.2 Resource Allocation

Advanced Software Engineering – Coursework 2 Page 36 of 57


5. Work Breakdown Structure (WBS)

A work breakdown structure (WBS) is a critical project deliverable that divides the team's work
into manageable chunks. The Project Management Body of Knowledge (PMBOK) describes the
work breakdown structure as a "deliverable oriented hierarchical decomposition of the work to be
completed by the project team." As each work breakdown structure level gives more depth and
detail, the scope is graphically broken down into digestible chunks that a project team can grasp
(Brotherton, et al., 2008).

Figure 5.1 shows the Work Breakdown Structure of the project.

Figure 5.1 Work Breakdown Structure

Advanced Software Engineering – Coursework 2 Page 37 of 57


5.1. Rationale for Work Breakdown Structure (WBS)

Feasibility Study

A feasibility study examines all of a project's pertinent aspects, including economic, technical,
legal, and scheduling issues, to determine the project's chances of success.

Form Project Team

The project team consists of the project manager and a group of people who collaborate on a
project to achieve its goals. It comprises the project manager, engineers, designers, and additional
people who may or may not be directly involved in project management but perform project-
related tasks.

User Story Workshop

Workshops for user stories are about cooperation as much as they are about needs. Workshops are
designed to bring the brightest minds together to work on identifying the correct requirements for
a specific solution, and they achieve exactly that when done well.

User Story Walkthrough and sign off

The proof they're seeking is a documented sign-off, and it's the conclusion of the narrative. When
a story is signed off, it becomes a legally binding contract between the business and the customer.

Create Product Backlog

A project backlog is a prioritized and well-organized list of deliverables that fall inside the project's
scope. It's usually a comprehensive list that breaks down the tasks that must be done.

Advanced Software Engineering – Coursework 2 Page 38 of 57


Story Estimation and Prioritize

In Agile project management, the story point estimate replaces task estimation in terms of time or
money. The minor jobs are weighted and estimated at a single point, and then further tasks are
weighed and calculated for that task.

Create Project Timeline

A project timeline is a visual illustration of the project's deliverables. It provides a brief yet
comprehensive visual portrayal of a project from beginning to end. A complete timetable creates
a roadmap for the project with milestones, tasks, dependencies, and delivery dates.

Draft Resource Plan

The process of identifying, predicting, and assigning various types of company resources to
projects at the appropriate time and cost is known as resource planning. It also guarantees that
resources are used efficiently and effectively across the organization.

Plan Project Budget

A project budget comprises the total projected costs required in completing the project in a defined
time period. It is typically used to estimate the costs of each phase of the project and make
necessary financial and overall project decisions.

Sprint Planning – Sprint 1

Sprint planning is a scrum event that initiates the sprint. Sprint planning aims to figure out what
can be accomplished in a given sprint and how it will be done. The What – The product owner
explains the sprint's aim (or goal) and how backlog items contribute.

Advanced Software Engineering – Coursework 2 Page 39 of 57


Design - Sprint 1

Based on the requirements, the software is architectured in this agile phase. It is a very vital process
since it directly affects the implementation.

Implementation - Sprint 1

In the implementation, the engineers translate the detailed requirements and designs into system
and software components. This process involves testing individual units of the application by the
engineers.

Testing - Sprint 1

Testing must be done often and early in Agile development. As a result, testing occurs as features
are added rather than waiting for development to be completed before beginning testing. Tests are
prioritized in the same way that user stories are. In each iteration, testers try to complete as many
tests as possible.

Review – Sprint 1

The goal of a sprint review is to show off the whole team's hard work, including designers,
developers, and the product owner. Building an agile team necessitates sharing in the success.

Sprint Planning – Sprint 2

Sprint planning is a scrum event that starts the sprint. Sprint planning aims to figure out what can
be accomplished in a given sprint and how it will be done. The What – The product owner explains
the sprint's aim (or goal) and how backlog items contribute.

Design - Sprint 2

Based on the requirements, the software is architectured in this agile phase. It is a very vital process
since it directly affects the implementation.

Advanced Software Engineering – Coursework 2 Page 40 of 57


Implementation - Sprint 2

In the implementation, the engineers translate the detailed requirements and designs into system
and software components. This process involves testing individual units of the application by the
engineers.

Testing - Sprint 2

Testing must be done often and early in Agile development. As a result, testing occurs as features
are added rather than waiting for development to be completed before beginning testing. Tests are
prioritized in the same way that user stories are. In each iteration, testers try to complete as many
tests as possible.

Review – Sprint 2

The goal of a sprint review is to show off the whole team's hard work, including designers,
developers, and the product owner. Building an agile team necessitates sharing in the success.

Final System and acceptance testing

A quality assurance (QA) team assesses how the different components of an application interact
in the entire, integrated system or application during system testing, also known as system-level
tests or system-integration testing.

Acceptance Testing is a type of software testing in which the acceptability of a system is assessed.
The main goal of this test is to determine whether the system complies with the business
requirements and whether it is suitable for delivery.

Deploy into production

Software deployment is the strategy of rolling out the completed software to the end-user. Prior to
the deployment, comprehensive testing must be done to ensure all the defects have been identified
and corrected.

Advanced Software Engineering – Coursework 2 Page 41 of 57


The deployment can be done both manually and via an automated strategy. Nowadays, automated
deployments are more frequent than manual deployments since it is much more efficient.
Therefore, for this project, it is proposed to use automated deployment.

Advanced Software Engineering – Coursework 2 Page 42 of 57


5.2. Gantt Chart

Figure 5.2 shows the Gantt chart of the project indicating tasks, durations, starting and finish times.

Figure 5.2 Gantt Chart

Advanced Software Engineering – Coursework 2 Page 43 of 57


5.3. Network Diagram

Figure 5.3 shows the network diagram of the project indicating the critical path in red color.

Figure 5.3 Network Diagram

Advanced Software Engineering – Coursework 2 Page 44 of 57


Since this network diagram in the picture above is blurry and ambiguous, Table 5.1 below depicts
the collection of tasks that include ES, EF, LS, LF, and Slack Calculation, as well as a more precise
form of a network diagram (Figure 5.4) that includes ES, EF, LS, LF, and the Duration.

Calculation of Early Start, Early Finish, Latest Start, Latest Finish and Slack

Task Name Duration ES EF LS LF Slack

A Feasibility Study 1 0 1 0 1 0

B Form Project Team 1 1 2 2 3 1

C User Story Workshop 2 1 3 1 3 0

D User story Walkthrough 1 3 4 3 4 0

E Create product backlog 1 4 5 4 5 0

F Story Estimation 1 5 6 5 6 0

G Create Project Timeline 1 6 7 7 8 1

H Draft Resource Plan 2 6 8 6 8 0

I Plan Project Budget 2 8 10 8 10 0

J Sprint Planning 1 10 11 10 11 0

K Design 2 11 13 17 19 6

L Implementation 8 11 19 11 19 0

M Testing 5 11 16 14 19 3

N Review 1 19 20 19 20 0

O Sprint Planning 1 20 21 20 21 0

Advanced Software Engineering – Coursework 2 Page 45 of 57


P Design 2 21 23 27 29 6

Q Implementation 7 21 28 22 29 1

R Testing 8 21 29 21 29 0

S Review 1 29 30 29 30 0

T Final System and acceptance Testing 2 30 32 30 32 0

U Deploy into production 1 32 33 32 33 0

Table 5.1 Calculation of ES, EF, LS, LF and Slack

Advanced Software Engineering – Coursework 2 Page 46 of 57


ES T EF T: Task ES: Early Start LS: Latest Start

LS D LF D: Duration EF: Early Finish LF: Latest Finish

Figure 5.4 Network Diagram 2

Advanced Software Engineering – Coursework 2 Page 47 of 57


5.4. Milestones

A project milestone is a management instrument for determining a specific point in a project's


timeline. These milestones can be used to determine the start and end of a project and the
conclusion of a key phase of work. Milestones can be used to define literally anything that has
commenced or been completed, although they are most generally used as a scheduling tool.

You can see how a milestone might be influential in scheduling if it concentrates on vital progress
milestones in a project. Milestones cut off portions of a project to make it less frightening, similar
to how tasks break down a more extensive project into smaller parts. Figure 5.5 shows the project
milestones in a timeline.

Figure 5.5 Milestones

Table 5.2 shows the project milestones and their corresponding dates.

Milestone Date

Project Commencement 2021/07/25

Team Formation 2021/07/26

Product Backlog Freeze 2021/07/30

Advanced Software Engineering – Coursework 2 Page 48 of 57


Project Plan 2021/08/03

Sprint 1 Completion 2021/08/13

Sprint 2 Completion 2021/08/23

User Acceptance 2021/08/25

Deployment 2021/08/26

Project Completion 2021/08/26

Table 5.2 Milestones

5.5. Rationale for Milestones

The main goal of project management is to keep track of milestones and ensure that they are met.

The Project Manager will need to pay extra attention to this. This assignment allows the Project
Manager to quickly determine if the project is on track or whether it requires more attention due
to its criticality.

Project Commencement

The project's first milestone is project commencement, which also implies the very first step or the
start of the project. This milestone marks the project's initial phase, and every other activity in a
traditional or any software development life cycle is followed after the project commencement
milestone.

Advanced Software Engineering – Coursework 2 Page 49 of 57


Team Formation

The second milestone is the formation of the team. This is a very crucial milestone and one of the
necessary steps in any software development lifecycle.

Product Backlog Freeze

The third milestone is the Product backlog freeze. This usually happens once the requirements are
gathered, and some of the designs and project scope reports are made. The phrase "the Sprint
Backlog is frozen" means that no new items (stories) may be added or withdrawn from the Sprint
Backlog during the Sprint. During the Sprint, it may be essential to get further information, justify,
or clarify some of the items, which should be done in the presence of the Product Owner.

Project Plan

The fourth milestone is the project plan. The project plan is a formal document that specifies the
aims and objectives of the entire project and individual tasks and what success looks like. It should
include additional information and deliverables related to the project, such as communication
strategies, in addition to the aim of the project.

The plan is finalized and detailed in multiple project plan reports at this point.

Sprint 1 Completion

This is the fifth in a series of milestones. In which a set of system components are completed. The
customer will obtain a partially functional system at this point, and the project team will have
thoroughly tested and evaluated this Sprint. The other Sprint measure that is commonly examined
in combination with Sprint Target Completion is Sprint Completion. It's significant because it
demonstrates the Scrum Team's general ability to meet their Sprint goals, even when work is added
after the Sprint has begun.

Advanced Software Engineering – Coursework 2 Page 50 of 57


Sprint 2 Completion

This is the sixth in a series of milestones. It is a vital milestone as the customer will obtain a fully
functional system. The QA tester will have thoroughly tested the fully operational system, and the
team will have reviewed this Sprint.

User Acceptance

This is the seventh, User Acceptance Testing (UAT) is a sort of testing in which the end-user or
customer verifies and accepts the software system before it is moved to the production
environment. After functional, integration, and system testing, UAT is performed in the final step
of testing.

Deployment

This is the eighth milestone which is the deployment. All of the operations that go into making a
software system usable are referred to as software deployment. The whole deployment process is
made up of a number of interconnected operations with various transitions in between. These
actions might take place on either the production or consumer side or both.

Project Completion

This is the ninth and last milestone, which signifies the project's conclusion. Various companies
have different project competition tasks, and Sams and Sams must give end-user training, a user
manual, and other assistance. The project conclusion outlines how the project aim was met
successfully. It encompasses a project's last stages: product acceptance, final analysis, experience
assurance, and project closure. The project conclusion report summarizes these points.

Advanced Software Engineering – Coursework 2 Page 51 of 57


5.6. Use of Project Management Software

Microsoft Project

Microsoft Project has been used to create the Gantt Chart, Network Diagram, allocate tasks and
monitor the progress throughout the execution of the project. Figure 5.6 shows the usage of
Microsoft Project.

Figure 5.6 Microsoft Project Usage

Advanced Software Engineering – Coursework 2 Page 52 of 57


6. Project Maintenance Plan

Maintenance is critical to the work that must be done on a software program in order for it to
continue to perform consistently and safely. It does not include any new features. It isn't verifying
log files or ensuring backups have been completed (these are separate tasks).

It is working on the code and underlying platform to guarantee that everything is in working order
and is up to date, that it functions as expected by its users, and that the lights remain on—the dining
room table.

The maintenance plan for the Sams and Sams Auction System is shown below.

Corrective maintenance

Corrective maintenance of a software product may be required to fix flaws discovered while the
system is in use or to improve the system's performance.

Adaptive maintenance

Modifications and updates are required when consumers want the product to work on new
platforms, operating systems or to integrate with new hardware and software.

Perfective maintenance

A software product requires maintenance to support new features requested by consumers or


modify different system operations in response to client expectations.

Preventive maintenance

Modifications and updates are included in this form of maintenance to prevent future software
issues. Its purpose is to address minor issues at the time but might turn into major ones in the
future.

Advanced Software Engineering – Coursework 2 Page 53 of 57


Table 6.1 shows the maintenance schedule of the delivered system.

Name Weekly Monthly Quarterly Yearly Occasionally

Infrastructure maintenance

Configuration and update of the


server Operating System

Database backup and


maintenance

Malware detection and removal

Feature upgrades

Fixing of reported bugs

Incompatibility that has been


predicted

Software functionality and


usability

Table 6.1 Maintenance Schedule

Certain maintenance is frequently provided for free or for a limited time period, such as three
months. The majority of the quarterly maintenance is infrastructure maintenance, which is
recommended to be done as soon as any end-users notice any faults, which the team may then
report and repair.

As the systems can be attacked by malware or affected any other uncertain events, frequent data
backups are taken to ensure the data is secure.

Occasionally, the program will adapt to new technologies and operating systems.

Advanced Software Engineering – Coursework 2 Page 54 of 57


Conclusion

The advancements of e-commerce have set the benchmark for trading activities to be done online.
Lately, online auctions have received a considerable niche market. Therefore, the Sams and Sams
have decided to build an online auction platform. The development of the application was done in
Coursework 1 of Advanced Software Engineering, and this report highlights the management
activities of the complete development process.

We have obtained comprehensive knowledge about the Agile software development methodology
and Scrum framework in performing managerial activities throughout the project and preparing
this report. We had the opportunity to sharpen our knowledge in project management and the
coursework allowed us to explore and practice enterprise-level project management tools. Not only
have we increased our project and tool abilities, but we've also enhanced our overall IT skills in
the industry.

Also, it brought everyone's unique ideas and visions together as a team. We relished our way of
building the application and managing the whole software development lifecycle. It was definitely
a great experience for the whole team.

Advanced Software Engineering – Coursework 2 Page 55 of 57


References and Bibliography

Agilest, n.d.. Agile budgeting. [Online]


Available at: https://www.agilest.org/agile-project-management/budgeting/
[Accessed 14 November 2021].

Azure DevOps, 2021. Best practices for "light-weight" Agile project management. [Online]
Available at: https://docs.microsoft.com/en-us/azure/devops/boards/best-practices-agile-project-
management?view=azure-devops&tabs=agile-process
[Accessed 12 November 2021].

Beck, K. et al., 2001. Manifesto for Agile Software Development. [Online]


Available at: https://agilemanifesto.org/
[Accessed 11 November 2021].

Brotherton, S. A., Fried, R. T. & Norman, E. S., 2008. Applying the work breakdown structure to
the project management lifecycle. [Online]
Available at: https://www.pmi.org/learning/library/applying-work-breakdown-structure-project-
lifecycle-6979
[Accessed 18 November 2021].

Clarizen, T., 2021. What Are Project Milestones and How Do We Define Them?. [Online]
Available at: https://blog.planview.com/what-are-project-milestones/
[Accessed 20 November 2021].

Lavanya, N. & Malarvizhi, T., 2008. Risk analysis and management. [Online]
Available at: https://www.pmi.org/learning/library/risk-analysis-project-management-7070
[Accessed 17 November 2021].

Mar, K., 2011. Costing Agile projects: How to cost Agile projects. [Online]
Available at: https://scrumology.com/how-to-cost-agile-projects/
[Accessed 14 November 2021].

Advanced Software Engineering – Coursework 2 Page 56 of 57


Organ, C. & Bottorff, C., 2021. Work Breakdown Structure As A Project Management Tool.
[Online]
Available at: https://www.forbes.com/advisor/business/what-is-work-breakdown-structure/
[Accessed 18 November 2021].

Rigby, D., Sutherland, J. & Takeuchi, H., 2016. Embracing Agile. [Online]
Available at: https://hbr.org/2016/05/embracing-agile
[Accessed 12 November 2016].

RMIT, n.d.. Project risk management. [Online]


Available at: https://studyonline.rmit.edu.au/resources/how-to-manage-project-risk
[Accessed 16 November 2021].

Sliger, M., 2011. Agile project management with Scrum. [Online]


Available at: https://www.pmi.org/learning/library/agile-project-management-scrum-6269
[Accessed 12 November 2021].

Usmani, F. & PMP, 2021. Project Network Diagram In Project Management. [Online]
Available at: https://pmstudycircle.com/project-network-diagram/
[Accessed 22 November 2021].

Advanced Software Engineering – Coursework 2 Page 57 of 57

You might also like