You are on page 1of 37

o

Question 1

What is traditional software development? How is agile different from this? Answer in 500

words or above.

Solution to question 1

Traditional software development methodologies, like Waterfall, V-Model, and RUP, are

classified as heavyweight methodologies because they follow a sequential process of steps,

and they require a well-defined set of requirements at the beginning of the project[1].

The four stages of traditional software development methods are requirements gathering and

analysis, design and architecture, development, testing and deployment. Each phase has its

own set of deliverable and documentation that must be completed before moving on to the

next phase. The success of a project using traditional software development methods depends

on knowing all the requirements upfront, making it challenging to implement changes during

the development process. However, this approach makes it easier to determine the costs, set a

schedule, and allocate resources accordingly.

One of the advantages of traditional software development methodologies is that they provide

a structured approach to software development that can help reduce the risk of failure.

However, they can also be inflexible and may not be suitable for projects where requirements

are likely to change or evolve over time.


In summary, traditional software development methodologies have several disadvantages,

including limited flexibility in accommodating changes in requirements, lack of intermediate

evaluations to ensure alignment with business requirements, high documentation costs,

limited reusability of components, and the potential for inefficiencies and wasted effort if

projects are scrapped. Additionally, traditional methodologies are most suitable for projects

with well-defined and stable requirements, and may not be the best fit for large projects with

moderate or evolving requirements.

Through incremental and iterative development, where each iteration produces a functioning

increment of the program, agile development approaches seek to enhance software

development. Agile methodologies place a high priority on working software, customer

collaboration, and adapting to changes in strategies, procedures, and tools. Different agile

development methodologies are available, each with its own set of guiding concepts and

procedures. Scrum, Extreme Programming (XP), and Lean Software Development are some

of the most well-known agile techniques.

The highest priority for agile development approaches is business Return on Investment

(ROI)[2]. In the traditional development life cycle, development teams typically engage with

stakeholders in the initial stages of the process to gather specific requirements. Subsequently,

the design phase is initiated, followed by the coding phase. Testing is only conducted once all

coding is completed, and the stakeholders are shown the final product only if the testing

phase proceeds smoothly. However, this conventional approach has its drawbacks. One major

limitation is that the system is built as a single entity, resulting in potential setbacks if issues

arise during testing. In such cases, the entire module might need to be rolled back for
troubleshooting. Additionally, the traditional SDLC often fails to accurately capture

stakeholders' desired system features, as their requirements may not be fully known during

the earlier phases. Consequently, the implemented features may not align with stakeholders'

actual needs. After the product is launched and available to users, there may be adjustment

requests from stakeholders, leading to software degradation due to compatibility and integrity

problems resulting from multiple changes implemented by different parties. These issues are

more pronounced in larger systems. Therefore, from a commercial perspective, the

conventional SDLC is not an adequately effective technique..

The Agile SDLC follows an iterative approach that avoids the "up-front" requirement

gathering phase of the traditional SDLC. Stakeholders are not required to provide all

requirements in detail at the beginning of a project as they often struggle to choose which

features should be included in the system. Instead, customers can interact with the system

through frequent software demonstrations and releases, which allows them to obtain

sufficient information about the current system release and provide feedback to improve the

requirements provided earlier. The iterative approach of Agile SDLC allows for the start of

work even before all requirements are clear, and customers can postpone decisions until a

later iteration when more data or technology will be available to optimize the option. This

approach enables the team to respond to change quickly, thereby minimizing the risk of

project failure. Agile SDLC, therefore, provides an effective technique from a commercial

standpoint by delivering value to customers early and often, reducing the risk of project

failure and improving customer


Table. 1: Comparison of Agile and Traditional Approaches[4]

The provided diagram illustrates the conventional Waterfall approach to software

development, where the project progresses linearly through a series of events from

conception to production. In contrast, the contemporary Agile methodology prioritizes

flexible, iterative, and team-centered development. Both approaches aim to enhance the

efficiency of managing software development projects, but they operate in distinct manners.

The diagram also presents a comparison of key project variables, including cost, time,

quality, and others, as depicted in the accompanying picture.


The main project variables like cost, time, quality etc., can be compared as shown in the

following picture[6]
Question 2

Is Scrum Master the decision maker regarding the work to be done in the next sprint?

Elaborate on your answer

Solution:

No.

The Scrum Master is not the decision maker regarding the work to be done in the next sprint.

In the Scrum framework, the decision-making authority for the work to be done in the next

sprint lies with the Development Team, which is a self-organizing and cross-functional group

of individuals who collaborate to deliver a potentially releasable product increment at the end

of each sprint.

The role of the Scrum Master is to facilitate the Scrum process and help the Development

Team and the Product Owner work together effectively. The Scrum Master is responsible for

removing any obstacles that are preventing the Development Team from delivering the

product increment and ensuring that the Scrum framework is understood and implemented

correctly.

In summary, while the Scrum Master plays a critical role in facilitating the Scrum process,

the decision-making authority for the work to be done in the next sprint lies with the

Development Team, in collaboration with the Product Owner.


The diagram below shows the daily task performed by the scrum master[7].

Question 3

Mention the challenges involved in developing Agile software.

Solution;

Developing Agile software can present a number of challenges, some of which are:

1) Resistance to change: Adopting an Agile methodology requires a shift in mindset and work

practices that can be difficult for individuals and organizations that are used to more
traditional software development processes. Resistance to change can hinder the adoption of

Agile and slow down progress.

2) Lack of clarity: Agile development is characterized by its flexibility and adaptability,

which can sometimes lead to a lack of clarity around project requirements, goals, and

timelines. This can make it difficult to plan and estimate work accurately and can cause

delays and miscommunications.

3) Communication and collaboration: Agile development relies heavily on communication

and collaboration between team members, stakeholders, and customers. Ensuring that

everyone is on the same page and working towards a common goal can be a challenge,

especially if team members are geographically dispersed or have different communication

styles.

4) Scalability: Agile methodologies are well-suited to small, self-organizing teams, but can be

difficult to scale up to larger, more complex projects. Ensuring that Agile practices are

implemented consistently across multiple teams and departments can be challenging.

5) Technical debt: Agile development prioritizes delivering working software quickly and

frequently, which can sometimes lead to a build-up of technical debt. Managing technical

debt is an ongoing challenge in Agile development and requires a focus on maintaining code

quality and refactoring as needed.

Continuous improvement: Agile methodologies emphasize continuous improvement and

adaptation, which requires a willingness to reflect on and learn from past experiences.
Creating a culture of continuous improvement can be challenging, especially in organizations

that are resistant to change or have a fixed mindset

Question 4

Explain in detail the process and workflow of the following agile frameworks and how

companies are benefited out of this

a. Agile Scrum methodology

b. Kandan

c. Extreme programming

Solution;

A) The Agile Scrum methodology is a project management solution based on

incremental development. Each sprint, lasting two to four weeks, focuses on

implementing the most critical features and delivering a Potentially Shippable

Product. The visual representation below depicts the Agile Scrum framework,

showcasing its approach and structure.


To ensure consistency, a process must adhere to a specific set of guidelines referred to as a

"process framework." For example, the XP framework emphasizes pair programming, while

the Scrum process framework utilizes development cycles called Sprints.

What sets the Scrum process apart from other agile approaches are its specific concepts and

practices organized into three categories: roles, artifacts, and time boxes. These elements

form the foundation of the Scrum process and contribute to its effectiveness in managing

software development projects.


When using the agile Scrum methodology, the key benefits to the companies include the

following:

When using the agile Scrum methodology, the key benefits to the companies include the

following:

I. Adaptability & Flexibility

You have the freedom to adjust the requirements based on feedback from the client and

end users since the requirements (consisting of features, user stories, and other backlog

items) are purposefully maintained high-level at the beginning. This results from the
team's flexibility to redefine and re-plan following each sprint and release, allowing them

plenty of leeway to adjust as needed.

II. Creativity & Innovation

Instead of working in separate "silos," Scrum enables integrated teams of developers,

designers, testers, and business/functional specialists to collaborate. This interdisciplinary

cooperation encourages creativity and innovation as well as more novel approaches to

challenges that arise.

III. Lower Risks & Costs

Based on a survey, it was found that in traditional waterfall projects, a significant number

of features deployed were never utilized or demanded by consumers due to scope creep

and feature bloat. In contrast, with the Scrum methodology, there is a relentless focus on

pruning the release backlog at the end of each sprint to promptly remove these

unnecessary features and minimize associated costs. The use of short time boxes in Scrum

enables incremental delivery and reduces the likelihood of risks arising during the sprint.

IV. Quality Improvement

When Scrum incorporates engineering methodologies like continuous exploration,

continuous integration, continuous delivery, test-driven development, DevOps, and

relentless test automation, it results in the generation of code, products, and processes of

significantly higher quality. These practices contribute to the success of Scrum as the

most popular methodology in software development. The utilization of these

methodologies brings several advantages to the end product offered to stakeholders.


V. Employee Satisfaction

The issue of delivering a fixed scope, fixed schedule project with a team is solved with

the ability to change the scope and still provide outcomes. The team operates at a

sustainable speed that keeps employees happy of their work and prevents them from

working long hours feverishly re-planning and retesting features.

VI. Customer Satisfaction.

Customers frequently lack the understanding of a system's operation until they use it,

which is one of the obstacles of software development for them. Customers may see what

they are receiving earlier in the process and be assured that it is what they genuinely need

or anticipate by delivering working functionality in modest increments.

A) Kandan

The Agile Kanban methodology is a popular approach to managing work in an Agile

framework. It is based on the principles of the Kanban system, which is a visual system for

managing work and improving efficiency. Agile Kanban combines the principles of Kanban

with the flexibility and adaptability of Agile to create a powerful methodology that can be

used in a variety of contexts. Kanban is one of these lean software development

methodologies that focuses on just-in-time delivery of functionality and managing the

amount of work in progress (WIP).


Implementing Kanban involves setting steps and practices that support the method’s six

practices:

1) Visualization of workflow.

2) Limiting work in progress (WIP).

3) Managing flow.

4) Making process policies explicit.

5) Implementing feedback loops.

6) Improving collaboratively, evolving experimentally.

The Kanban board and cards

The majority of the system's activities, including visualizing work, restricting work-in-

progress (WIP), and regulating flow, all revolve around the Kanban board. For software
development teams, a Kanban board can be physical, although it is typically digital,

especially if team members work remotely all the time or sometimes.

Task-based work is pushed onto the Kanban board and is symbolically represented by a

colored card. Task-based work is sometimes referred to as user stories for Agile development

teams. The capability of the development team should be reflected in the amount of tasks

pulled onto the Kanban board, which will reduce WIP.

Boards are broken down into columns that represent different stages of a task’s completion.

The simplest Kanban board structure has just three columns:

I. To do

II. In progress

III. Complete
Companies can benefit from using the Agile Kanban methodology in several ways:

a) Increased visibility: Agile Kanban provides a visual representation of the workflow,

which helps to increase visibility and transparency.

b) Improved flow: By managing the flow of work, the team can improve efficiency and

reduce waste.

c) Better communication: Agile Kanban encourages collaboration and communication,

which can lead to better decision-making and improved outcomes.

d) Flexibility: Agile Kanban is a flexible methodology that can be used in a variety of

contexts, making it ideal for teams that need to adapt to changing requirements or

priorities.

e) Continuous improvement: Agile Kanban includes practices that encourage continuous

improvement, which can lead to higher-quality work and better outcomes over time.

Overall, Agile Kanban is a powerful methodology that can help companies manage work

more efficiently, improve outcomes, and adapt to changing requirements or priorities.

B) Extreme programming

Extreme Programming (XP) is an agile software development process that places a strong

emphasis on customer satisfaction, teamwork, and adaptability. It was developed by Kent

Beck in the late 1990s, and the software development sector has subsequently embraced it.
To enhance software quality and responsiveness to shifting client needs, XP adheres to a set

of practices and principles. The following are some essential traits of extreme programming:

 Iterative Development: The XP framework encourages the use of brief development

cycles known as "iterations" or "sprints." A limited number of features are built,

tested, and integrated into the software throughout each iteration.

 Customers or stakeholders are involved in the development process on a regular basis.

They give input, specify requirements, and rank features to make sure the product

satisfies their needs.

 Continuous planning is encouraged by XP, as is constant adaptability. Regular

reviews and adjustments are made to requirements and priorities to account for

developments and fresh perspectives.

 Small Development Teams: XP supports the formation of autonomous, self-contained

groups of programmers, testers, and clients. The team's ability to communicate and

work together effectively is crucial to success.

 Pair programming involves two programmers sharing a workstation. In order to

promote knowledge exchange, improve code quality, and lower mistakes, one person

creates the code while the other continuously examines it.


 TDD: XP places a strong emphasis on creating automated tests before creating the

code. Tests are regularly run to make sure the code works as intended and act as a

specification for the expected behavior.

 XP encourages the regular incorporation of code updates into a common repository.

This keeps a dependable and continuously operating system and aids in the early

identification of integration concerns.

 Refactoring is encouraged by XP, which entails enhancing the internal organization of

the code without altering its outward behavior. This procedure assures the

maintainability and quality of the code.

 Collective Code Ownership: The upkeep and enhancement of the codebase is the

responsibility of the whole team. As a result, shared knowledge is promoted and

individual ownership-related bottlenecks are avoided.

 Sustainable tempo: To prevent burnout and promote a good work-life balance for

team members, XP stresses maintaining a sustainable tempo of work.


The figure below shows the XP methodology
Question 5

a. Critically evaluate the approach the agile project team takes in managing stakeholders

and communicating with them.

Solution

The approach an agile project team takes in managing stakeholders and communicating with

them includes the following key aspects:

Agile techniques place a strong emphasis on stakeholders' active participation throughout the

project. Stakeholders are regularly involved in interactions to obtain needs, offer comments,

and help the team make choices. They are seen as essential members of the team.

Agile teams integrate stakeholders in the planning process through collaborative planning. To

extract requirements, rank features, and define the project scope, they lead workshops,

meetings, or conversations. The requirements and aspirations of stakeholders are recognized

and taken into account thanks to this collaborative planning.

Agile projects employ iterative development cycles, in which workable software increments

are provided at the conclusion of each iteration. This enables early-stage stakeholders to

observe observable progress and offer criticism. In order to maintain continual alignment

with stakeholder expectations, the team then incorporates the input into following iterations.
Agile teams build regular communication channels to update stakeholders of the project's

advancement, modifications, and difficulties. Stakeholders have the chance to keep informed

and offer valuable advice at daily stand-up meetings, sprint reviews, and demos. In order to

enable continuing contact, communication solutions including project management software,

collaboration platforms, and instant messaging are also used.

Visibility of Transparent Work: Agile approaches encourage transparency by giving

stakeholders access to the team's work. Sharing information regarding task boards, burndown

charts, and other pertinent data is part of this. Stakeholders may grasp the state of the project,

make wise decisions, and spot any problems or risks with the support of transparent work

visibility.

input and Validation in Collaboration: Agile teams aggressively solicit input from

stakeholders to confirm their comprehension of requirements and guarantee alignment. User

acceptability testing (UAT), frequent demos, and feedback sessions are used to get input. The

product is improved through an iterative feedback cycle, which also makes sure it lives up to

stakeholder expectations.

Agile projects undertake regular retrospectives to evaluate the project's cooperation,

stakeholder management, and progress. These meetings offer the chance to pinpoint problem

areas, resolve any communication or stakeholder-related issues, and modify the strategy as

necessary. Changing Stakeholder Needs Adaptation: Agile approaches are intended to be

adaptable and quick to change. The group adjusts proactively to shifting stakeholder
demands, market circumstances, or organizational goals. The team is able to alter plans and

priorities as necessary thanks to regular communication and engagement with stakeholders,

which maintains stakeholder satisfaction. The agile project team plans to promote

cooperation, including stakeholders, and keep lines of communication open throughout the

project lifecycle by using these techniques. This strategy makes it easier to meet the demands

of stakeholders, incorporate their comments, and keep the project on track with their

expectations.

b. What mistakes project manager can do and how are these mistakes be avoided?

Project managers can make various mistakes that can have a negative impact on the project's

success Here are some common mistakes and suggestions on how to avoid them:

Project scope creep and project drift can result from unclear project goals and scope

definitions. To avoid this, project managers should engage closely with stakeholders to set

clear and quantifiable project objectives. They should record the scope, acquire stakeholder

approval, and routinely examine and revise it as needed.

Poor Planning and estimating: Poor planning and imprecise estimating can result in missed

deadlines, overruns on the budget, and issues with resource allocation. Project managers

should spend time outlining tasks, dependencies, and resource needs as part of thorough

project planning. To secure their competence and dedication, they should include the project

team in the estimating process.


Ineffective Communication: Poor communication can result in misunderstandings, delays,

and lack of stakeholder engagement. Project managers should develop excellent

communication channels, assure frequent updates, and actively engage stakeholders. They

should promote honest and open communication among team members and immediately

resolve any disputes or problems.

Failure to Manage Risks: Project risks can cause unforeseen problems and project failure if

they are ignored or addressed insufficiently. Project managers should identify and analyze

risks early on, devise risk mitigation techniques, and prepare contingency plans. Regular risk

monitoring and prompt mitigation steps are needed to limit the effect of hazards.

Poor resource management can lead to overworked team members, burnout, and below-

average productivity. To ensure a balanced distribution, project managers should accurately

assess resource requirements, plan resource allocation, and monitor workload. They should

also give help and handle any resource restrictions or issues swiftly.

Ignoring Team Dynamics and Morale: Neglecting team dynamics and morale can lead to

poor productivity, lack of motivation, and greater turnover. Project managers should promote

a supportive work environment, promote teamwork, and resolve any disputes or issues as

soon as they arise. Recognizing and recognizing team members' efforts may increase morale

and team effectiveness.


Stakeholders are not sufficiently involved, which can result in misplaced expectations and a

lack of support for the project. Project managers should actively involve stakeholders

throughout the project, ensure their needs are understood, and regularly seek their input and

feedback. The success of a project depends on developing trusting relationships and

controlling stakeholder expectations.

Lack of Monitoring and Control: Failing to monitor project progress and lacking control over

project activities can result in missed milestones and deviations from the project plan. Project

managers should build effective monitoring tools, track progress against the plan, and execute

corrective actions when needed. Regular project status reviews and updates help keep things

under control by identifying problems early on.

Project managers should continually improve their project management abilities, get input

from stakeholders and team members, and draw lessons from prior projects in order to avoid

making these errors. In order to enable efficient project execution and communication, they

should also make use of project management best practices, frameworks, and tools.

Question 6

a. What is software estimation and why it is important during software project

management?

Solution
The process of estimating the work, time, and resources needed to execute a software project

is known as software estimate. It entails examining the project requirements, decomposing

them into tasks, and calculating the amount of work required to execute each job. For the

following reasons, estimation is essential during software project management:

Estimation aids in the development of realistic project plans and timetables. It enables project

managers to deploy resources efficiently, identify project checkpoints, and establish realistic

deadlines. Accurate estimations allow for efficient resource management and help to keep the

project on schedule.

Budgeting and cost control: Estimation is a key component of both processes. Project

managers may calculate the related costs, such as labor, infrastructure, and tooling costs, by

evaluating the effort needed for each activity. This data facilitates the creation and monitoring

of budgets and enables efficient cost control throughout the course of the project.

Estimation aids in identifying possible risks and uncertainties in the project and aids in risk

mitigation. Project managers can pinpoint areas that could be vulnerable to delays or

difficulties by examining the projected effort for various activities. They may then

proactively prepare for risk mitigation techniques, assign extra resources, and modify the

project plan as necessary.

Resource Allocation: Estimation offers information on the project's resource needs. Based on

the projected effort, project managers may evaluate the number of team members, their
qualifications, and the length of their engagement. This makes it easier to allocate resources

effectively and guarantees that assignments are given to the correct individuals with the

relevant capabilities.

Management of Customer Expectations: Accurate estimate aids in managing customer

expectations. Project managers may manage expectations with stakeholders and clients by

giving reasonable schedules and delivery dates based on estimation. Effective communication

is made possible, and any potential misunderstandings or disappointments about project

timeframes are avoided.

Making decisions: Estimation is a crucial component in making decisions. Estimation data

may be used by project managers to compare various project possibilities, weigh trade-offs,

and come to wise judgments. Estimation enables project managers to assess the viability of

project plans and, if necessary, modify tactics.

In conclusion, software estimating is crucial for successful planning, resource allocation,

budgeting, risk reduction, expectation management, and decision-making during software

project management. The cornerstone for effective project execution is accurate estimating,

which also aids in completing software projects within their allotted budgets, timelines, and

scopes.

b. How can a project manager improve their estimation accuracy? What options are

available to them?
To improve estimation accuracy, project managers can consider the following options and

strategies:

Analysis of Historical Data: To spot patterns and trends, project managers might examine

historical project data, including previous estimates and actual performance. This study can

aid in determining the causes of estimation deviations and offer guidance for next

estimations.

Expert input: Enlisting the assistance of knowledgeable team members and subject matter

experts helps improve estimation accuracy. Participants with the necessary experience can

offer insightful information about the difficulty of the work, anticipated difficulties, and

reasonable effort estimates.

Task Division: Dividing project tasks into smaller, easier-to-manage components enhances

estimating precision. Complex jobs can be broken down into smaller parts for a more detailed

examination and estimation. This method makes it less likely that crucial facts will be missed

and offers a more accurate evaluation of effort.

Techniques for estimating: Using tried-and-true methodologies and techniques for estimating,

such as Function Point Analysis, Use Case Points, or Story Points, can increase accuracy.

These methods offer organized frameworks for calculating effort and assessing requirements

while taking into account numerous elements including functionality, complexity, and risk.
Project managers can use an iterative estimating strategy rather to depending on a single

estimation at the start of a project. As additional information becomes available and

uncertainties are minimized during the project lifespan, they can adjust and update estimates.

Reference and Comparative estimating: Project managers can increase estimating accuracy

by comparing the demands and duties of the present project with those of comparable earlier

endeavors. They can use lessons gained, spot possible problems, and modify estimates by

looking at previous projects.

Project managers should take into account potential risks and uncertainties throughout the

estimating phase. Estimation accuracy can be increased by including a contingency buffer for

probable risks and uncertainties. This buffer can take into account unknowns and unforeseen

circumstances, resulting in a more accurate prediction.

Reviews of the estimate process and results should be done on a regular basis by project

management. Refining estimating methods, updating assumptions, and improving accuracy in

upcoming projects are all aided by analysis of estimation accuracy and the identification of

improvement areas.
Collaboration-enhancing estimating: Including the project team in the estimating process

promotes teamwork and makes use of their combined skills. More accurate estimations may

be achieved by including team members in estimating conversations and allowing them to

share their ideas and viewpoints.

Continuous Learning and Improvement: By constantly learning and developing, estimation

accuracy may be improved. Project managers should evaluate the results of their estimating,

get input from the team and other stakeholders, and apply what they have learnt to their

future estimation procedures.

Project managers may gradually increase the accuracy of their estimations by putting these

ideas into practice. It is crucial to understand that estimating presents a number of intrinsic

difficulties in software projects. As a result, it's crucial to concentrate on ongoing

development and modify estimating strategies in light of project-specific aspects.

Question 7

a) To calculate the velocity of the project, we sum up the Story Points completed in each

sprint. Let's calculate the velocity based on the provided Story Points:

Sprint 1: 2 + 8 + 13 + 5 = 28

Sprint 2: 5 + 8 + 5 + 5 + 13 = 36

Sprint 3: 2 + 5 + 8 + 5 + 8 = 28

Sprint 4: 5 + 2 + 8 + 2 + 13 + 5 = 35
Velocity = Sum of Story Points completed / Number of Sprints

Total completed Story Points = 28 + 36 + 28 + 35 = 127

Number of Sprints = 4

Velocity = 127 / 4 = 31.75 (approximately)

Therefore, the velocity of the project, based on the provided Story Points, is approximately

31.75.

b) The kind of figures utilized as Story Points in the aforementioned team are significant

since they accurately represent the relative difficulty or complexity of the user stories or tasks

being measured. Typically, Fibonacci numbers (1, 2, 3, 5, 8, 13, etc.) or t-shirt sizes (XS, S,

M, L, XL) are used as a scale to give story points. In order to authentically depict the

uncertainty and challenge of estimating effort, these values are purposefully non-linear.

Teams can concentrate on relative sizes rather than absolute quantities with the use of such

figures. It promotes team talks so that everyone is aware of and on the same page regarding

the difficulty and effort required to complete certain jobs. Additionally, it prevents the

erroneous accuracy that may result from using precise numbers (such as 10, 20, or 30) and

provides more latitude for revising predictions in accordance with team expertise and project

dynamics.

c) To calculate the number of sprints required to complete the project, we need to determine

the remaining Story Points and divide them by the velocity. Let's calculate:

Total Story Points completed in the provided sprints: 127


Remaining Story Points: 180

Story Points remaining = Total Story Points - Completed Story Points

Story Points remaining = 180 - 127

Story Points remaining = 53

Number of sprints required = Story Points remaining / Velocity

Number of sprints required = 53 / 31.75 (approximately)

Therefore, based on the given information, approximately 1.67 (rounded to 2) additional

sprints would be required to complete the project.

Question 8

a. User Stories defined according to the User Story Template:

As a customer, I want to log in/signup to the site so that I can access my account.

As a customer, I want to be able to collect payment so that I can purchase the products.

As a customer, I want to rate the products so that I can give feedback to the owner.

As a customer, I want to buy products so that I can purchase the items I like.

As a guest, I want to check the platform so that I can see the products and feel confident

buying clothes here.


As an owner, I want to list products along with descriptions and price so that customers can

see the products available for purchase.

As an owner, I want to remove products so that I can delete products that are no longer

available.

As an owner, I want to edit prices so that I can provide discounts to customers and update the

prices.

As a customer, I want to call support so that I can discuss my concerns and get help if

needed.

As a customer, I want to store my Bank Card for future payments so that I can easily make

future purchases.

b. The baseline User Story can be identified as User Story 5 - "As a guest, I want to check the

platform so that I can see the products and feel confident buying clothes here." This story is

relatively simple compared to the others and can be used as a baseline to rate the rest.

c. The allocated Story Points using Fibonacci Numbers with descriptions are as follows:

As a customer, I want to log in/signup to the site so that I can access my account. - 3 Story

Points (Moderate)

As a customer, I want to be able to collect payment so that I can purchase the products. - 8

Story Points (Complex)


As a customer, I want to rate the products so that I can give feedback to the owner. - 2 Story

Points (Simple)

As a customer, I want to buy products so that I can purchase the items I like. - 5 Story Points

(Moderate)

As a guest, I want to check the platform so that I can see the products and feel confident

buying clothes here. - 1 Story Point (Very Simple - Baseline)

As an owner, I want to list products along with descriptions and price so that customers can

see the products available for purchase. - 13 Story Points (Very Complex)

As an owner, I want to remove products so that I can delete products that are no longer

available. - 3 Story Points (Moderate)

As an owner, I want to edit prices so that I can provide discounts to customers and update the

prices. - 2 Story Points (Simple)

As a customer, I want to call support so that I can discuss my concerns and get help if

needed. - 3 Story Points (Moderate)

As a customer, I want to store my Bank Card for future payments so that I can easily make

future purchases. - 5 Story Points (Moderate)

Acceptance Criteria for each User Story can be defined by the project team based on the

requirements and expectations of the stakeholders.

Question 9
Create User Story mapping for the ‘Mobile Banking System’. You can use open-source tools such as Miro

or Trello of your choice. Your Tasks: • Consider the given topic as a Theme. • Find out 3 Epics for the

given theme. Further split them into user stories and tasks. • Give a brief explanation of the story mapping

you have created

https://trello.com/invite/b/M0lufaZJ/ATTIa2e4797aa387c151400df18334df37a229D11C96/

story

Theme: Mobile Banking System

Epics:

User Authentication

Account Management

Transaction Processing

User Story Mapping:

Epic 1: User Authentication

User Story 1: As a user, I want to be able to register for a mobile banking account.

User Story 2: As a user, I want to be able to log in securely to my mobile banking account.

User Story 3: As a user, I want to be able to reset my password if I forget it.

Epic 2: Account Management

User Story 4: As a user, I want to view my account balance and recent transactions.
User Story 5: As a user, I want to transfer funds between my own accounts.

User Story 6: As a user, I want to link external bank accounts for easy transfers.

User Story 7: As a user, I want to add/edit beneficiaries for fund transfers.

User Story 8: As a user, I want to set up and manage recurring payments.

User Story 9: As a user, I want to request account statements.

Epic 3: Transaction Processing

User Story 10: As a user, I want to make bill payments to registered payees.

User Story 11: As a user, I want to initiate fund transfers to other bank accounts.

User Story 12: As a user, I want to receive real-time notifications for account activities.

User Story 13: As a user, I want to view and manage my debit/credit card details.

User Story 14: As a user, I want to apply for new banking products (e.g., loans, credit cards).

Explanation:

The user story mapping above represents the 'Mobile Banking System' theme with three

identified epics: User Authentication, Account Management, and Transaction Processing.

Each epic is broken down into user stories that capture the specific functionality or feature

desired by the users. The user stories can further be divided into tasks during the sprint

planning phase. This user story mapping provides a high-level overview of the user

requirements and helps in visualizing the flow of features in the mobile banking system. It
allows the development team to prioritize and plan the implementation of the user stories

based on their importance and dependencies.

References

[1] Nikiforova, O., Nikulsins, V., Sukovskis, U.: Integration of MDA Framework into the

Model of Traditional Software Development. In: Frontiers in Artificial Intelligence and

Applications, Databases and Information Systems V, vol. 187, pp. 229–239. IOS Press,

Amsterdam (2009)

[2]Rico, David F. What is the ROI of agile vs. traditional Methods. 2008.
[3]Cho, Juyun. Issues and Challenges of agile software development with SCRUM. Issues in

Information System.

VOL IX, No. 2. 2008.

[4]Martin, R.C., Agile Software Development, Principles, Patterns and Practice. Prentice

Hall. 2002

[5] Thanh (Bruce) Pham, Agile Vs. Waterfall in Software Development. 25 Jan 2019

[6]Indusree Mavuru, Traditional vs. Agile Software Development Methodologies. Posted by

KPI Partners News Team on Fri, Jun 22, 2018

[7] Izhar Alam, Scrum Master | PSM Certification | Scrum Certification on February 1, 2023.

You might also like