Course Index:
Introduction: Software Development (SDLC)
|
Different
Methodologies - Software Development
|
Predictive Vs Adaptive Methodologies
|
Why Agile?
|
Agile Principles
|
Comparison between Different Agile Methods
|
Introduction to Scrum
|
Scrum Roles and Tasks
|
PM Vs Scrum Master
|
Scrum Events
|
Scrum Artifacts
|
Estimation in Scrum
|
Scrum Metrics
|
Scrum of Scrum
|
Responsibilities of PO and SM
|
Agile Disadvantages
|
Scrum Management Tools - Comparison
|
JIRA Board
|
Scrum Revision
|
Introduction:
Software Development (SDLC)
Different
Methodologies - Software Development
Predictive
Vs Adaptive Methodologies
Why Agile?
•
Change is Embraced
•
End-goal can be Unknown
•
Faster, high-Quality Delivery
•
Strong Team Interaction
•
Customers are Heard
•
Continuous Improvement
Agile Manifesto and Principles
- Manifesto
•
Individuals and interactions over processes and tools
•
Working software over comprehensive documentation
•
Working
software is more useful and welcome than just presenting documents to clients
in meetings
•
Customer collaboration over contract negotiation
•
Requirements
cannot be fully collected at the beginning of the software development cycle,
therefore continuous customer or stakeholder involvement is very important.
•
Responding to change over following a plan
•
Agile
methods are focused on quick responses to change and continuous development.
- Principles
•
Customer
satisfaction by early and continuous delivery of valuable software
•
Welcome
changing requirements, even in late development
•
Working
software is delivered frequently (weeks rather than months)
•
Close,
daily cooperation between business people and developers
•
Projects
are built around motivated individuals, who should be trusted
•
Face-to-face
conversation is the best form of communication (co-location)
•
Working
software is the principal measure of progress
•
Sustainable
development, able to maintain a constant pace
•
Continuous
attention to technical excellence and good design
•
Simplicity—the
art of maximizing the amount of work not done—is essential
•
Best
architectures, requirements, and designs emerge from self-organizing teams
Regularly, the team
reflects on how to become more effective, and adjusts accordingly
Comparison between different Agile methods
Characteristic
|
XP
|
Scrum
|
FDD
|
Crystal
|
Development Style
|
Iterative Increments
|
Iterative Increments
|
Iterative Increments
|
Iterative Increments
|
Project Team Size
|
Fewer than twenty people (small team)
|
All size
|
Large Team
|
All size
|
Team Distribution
|
Co-located
|
Co-located and Distributed team
|
Co-located and Distributed team
|
Co-located
|
Customer Involvement
|
Involved
|
Customer involvement through the role of product owner
|
Customer involved through reports
|
Customer involved through releases
|
Level of Documentation
|
Basic and as little as possible
|
Basic and anything of value
|
Vital
|
Basic documentation
|
Iteration Time Period
|
One to six weeks
|
Two to four weeks
|
Two days to two weeks
|
Depending on Crystal method
|
Introduction
to Scrum
Scrum Roles and Tasks
ROLE – Scrum Master
Ensures the project
team is working on the correct tasks and has everything needed to complete
their work
TASKS
•
Interacts
daily with the project team to ensure progress is made
•
Ensures
that the team’s established software development processes are followed
•
Ensures
each team member is assigned tasks
•
Removes
blocking issues so team members can accomplish their tasks
•
Coordinates
with the product owner to ensure requirements are available and prioritized
•
Coordinates
with the project manager to ensure the team’s progress is accurately
communicated
ROLE – Product Owner
Owns the vision and
requirements for the project, thus controlling what the team works on.
TASKS
•
Works
with external stakeholders to define overall project requirements
•
Documents
requirements and their priorities
•
Communicates
with the scrum master on the list of requirements and their priorities
•
Clarifies
requirement questions and expectations
ROLE - Analyst
Serves as the
conduit between the product owner and the project team so that everyone
understands each other
TASKS
•
Works
with the product owner to define requirements within the product’s environment,
budget and scope
•
Documents
business and system requirements
•
Translates
technical issues for product owner and external stakeholders
•
Provides
clarification on requirements for the project team
ROLE – QA Lead
Leads and provides
direction to the QA team.
TASKS
•
Provides
direction on the activities of the team.
•
Establishes
the testing processes for the entire team
•
Coordinates
with the scrum master to ensure the team is working on the correct items
•
Coordinates
with the product owner, analyst or design team to determine deviation from
requirements or as-designed feature
ROLE – QA Team
Tests the product to
ensure quality specifications are met.
TASKS
•
Creates
test cases
•
Tests
the product (manual or automated)
•
Logs
defects
ROLE – Design Lead
Leads and provides
direction to the design team
TASKS
•
Provides
design direction and vision for the project
•
Coordinates
with the scrum master to ensure the team is working on the correct items
ROLE – Design Team
Provides visual
design assets for the product.
TASKS
•
Creates
visuals that can be used to apply the proper design for the product
•
Creates
assets that will be used within the product
•
Provides
support to the dev / QA teams to ensure designs are followed
ROLE – Project manager
Keeps track of the
budget, schedule and scope
of the project and
communicates status to all
Stakeholders
TASKS
•
Works
with stakeholders to define budget, schedule and scope of the project
•
Ensures
the team is working toward its goals and remains on track for project delivery
•
Collects
status and communicates it with the entire team and stakeholders
•
Organizes
and drives meetings with the team and third parties to ensure all dependencies
are understood and met
•
Mitigates
issues that will impact the budget, schedule or scope of the project
ROLE – Dev Lead
Leads and provides
direction to the dev team
TASKS
•
Provides
direction on the architecture of the project (or works with the architecture
team), coding standards and what tasks each developer works on
•
Establishes
the development processes for the entire team
•
Coordinates
with the scrum master to ensure the team is on the right track.
ROLE – Dev Team
Develops the product
according to desired specifications.
TASKS
•
Implement
requirements and change requests
•
Fix
defects
Coordinate with the
product owner, analyst or design team for clarification on requirements
Project
Manager vs Scrum Master
Scrum
Events
Scrum
Artifacts
Estimation
in Scrum
Scrum
Metrics
Scrum
of Scrum
•
What has your team accomplished since our last meeting?
•
What problems occurred, if any, that negatively affected your team?
•
What does your team want to accomplish before we meet again?
•
What output from your team in future sprints, do you see as possibly
interfering with the work of other teams?
•
Does your team see any interference problems coming from the work of
other teams?
Responsibilities of PO and SM
Product Owner's Responsibilities
- Voice of
the Stakeholders, represents the business
- Manages
stakeholder relationships, communications & expectations
- Accountable
for the vision, scope and scale of the product
- Defines key
features of the product & success criteria
- Continuously
refines requirements
- Sets
delivery schedule by managing the backlog – creates and updates the
release plan, including prioritization
- Accountable
for the project success
- Decides on
release date, content and budget
- Accepts and
rejects work in the sprint reviews
- Takes
advice from the team on Backlog Dependencies
- Single
point of contact for the product (including New requirements Prioritizing
backlog items)
Scrum Master's Responsibilities
- Responsible
for helping the team deliver work to the Product Owner
- Makes sure
the team can meet its commitments by removing any impediments they face,
including Managing dependencies, escalating blockers that they cannot
remove themselves
- Facilitates
process & meetings (e.g. Reviews, Stand Ups, Planning, Estimation,
Scheduling, Prioritization)
- Makes sure
the team is fully functional, productive and improving quality
- Shields the
team from distractions and interferences (including the Product Owner)
- Enables
close co-operation across all roles and functions, removes barriers
- Responsible
for reporting progress, including producing standard outward-facing
artefacts
Agile Disadvantages
•
Disadvantages
•
Relatively New
•
People are afraid of what they do not know
•
People tend to know what they are getting
upfront before they commit budget
•
Difficult to scale for large projects where
Documentation is essential
•
Needs experience and skill if not to degenerate
into
•
code-and-fix
•
If not managed well, the execution can be too
Agile
Scrum Management Tools – Comparison
Scrum
Revision
No comments:
Post a Comment