AGILE PRINCIPLES AND SCRUM
FRAMEWORK
COMP6100001 - SOFTWARE ENGINEERING
SESSION 03
UNIVERSITAS BINA NUSANTARA
SUBJECT MATTER EXPERT
Kenny Jingga, S.Kom., M.T.
SESSION 03 – AGILE PRINCIPLES AND SCRUM FRAMEWORK
LEARNING OBJECTIVES
At the end of this session, students will be expected to be able to:
• Understand the Principles of Agile and Lean Methodologies
• Explain the Core Components of the Scrum Framework
• Analyze the Benefits and Challenges of Scrum Implementation
• Compare Scrum with Other Agile Frameworks
SESSION 03 – AGILE PRINCIPLES AND SCRUM FRAMEWORK
CONTENT OUTLINE
• Lean Production
• Agile Manifesto and Principles
• Agile Methodology
• Kaizen Cycle
• Agile Framework: Scrum
• Scrum Roles: Product Owner, Scrum Master, Development Team
• Scrum Artifacts: Product Backlog, Sprint Backlog, Increment
• Scrum Events: Sprint Planning, Daily Stand-up, Sprint Review, Sprint Retrospective
• Benefits and Challenges of Implementing Scrum
• Other Agile Frameworks
LEAN PRODUCTION
TOYOTA PRODUCTION SYSTEM (TPS)
Late 1940s
• Build only what is needed, only when it is needed
• Use the “pull” system to avoid overproduction (Kanban)
• Stop to fix problems, to get quality right from the start (Jidoka)
• Workers are multi-skilled and understand the whole process; take ownership
• Enabling teams to have autonomy and control to change/improve quickly/continuous
improvement (Kaizen)
AGILE MANIFESTO AND PRINCIPLES
EVOLUTION TO AGILE MANIFESTO
1986
https://hbr.org/1986/01/the-
new-new-product-development- 1990 2001
game
AGILE MANIFESTO AND PRINCIPLES
12 AGILE PRINCIPLES
1. Customer satisfaction through early and continuous delivery.
2. Welcome changing requirements.
3. Deliver working software frequently.
4. Close, daily cooperation between business people and developers.
5. Projects built around motivated individuals.
6. Face-to-face conversation as the best form of communication.
7. Working software as the primary measure of progress.
8. Sustainable development pace.
9. Continuous attention to technical excellence and good design.
10. Simplicity—the art of maximizing the amount of work not done.
11. Self-organizing teams.
12. Regular reflection on how to become more effective.
AGILE METHODOLOGY
KAIZEN CYCLE
FOR CONTINUOUS IMPROVEMENT
THE PROCESS
AGILITY AND THE COST OF CHANGE
AGILE FRAMEWORK: SCRUM
SCRUM
• Originally proposed by Schwaber and Beedle
• Scrum—distinguishing features
– Development work is partitioned into “packets”
– Testing and documentation are on-going as the product is constructed
– Work occurs in “sprints” and is derived from a “backlog” of existing requirements
– Meetings are very short and sometimes conducted without chairs
– “demos” are delivered to the customer with the time-box allocated
AGILE FRAMEWORK: SCRUM
SCRUM
SCRUM ROLES
PRODUCT OWNER
Responsibilities:
• Defines the product vision.
• Manages the Product Backlog.
• Prioritizes needs based on stakeholder input and
business value.
• Ensures the team delivers value to the business.
Skills Needed:
• Strong communication and negotiation skills.
• Understanding of customer needs and market trends.
SCRUM ROLES
SCRUM MASTER
Responsibilities:
• Facilitates Scrum events and processes.
• Removes impediments to the team's progress.
• Coaches the team in Scrum practices.
• Serves as a servant leader to the Development Team.
Skills Needed:
• Knowledge of Agile and Scrum principles.
• Strong facilitation and conflict resolution skills.
SCRUM ROLES
DEVELOPMENT TEAM
Responsibilities:
• Self-organizing professionals who do the work of
delivering a potentially releasable Increment.
• Cross-functional with all skills necessary to create the
product Increment.
Characteristics:
• Typically consists of 3-9 members.
• Collective ownership and accountability.
SCRUM ARTIFACTS
PRODUCT BACKLOG
• The product backlog is all the features for the
product, an ordered list of everything that is known to
be needed in the product.
• Characteristics:
• Dynamic; evolves as the product and environment
do.
• Items include features, functions, requirements,
enhancements, and fixes.
SCRUM ARTIFACTS
SPRINT BACKLOG
• The sprint backlog is all the features that will be
worked on for that sprint, the set of Product Backlog
items selected for the Sprint, plus a plan for delivering
the product Increment.
• Characteristics:
• Created during Sprint Planning.
• Owned and managed by the Development Team.
• These should be broken down into discrete tasks:
• Fine-grained
• Estimated
• Assigned to individual team members
• Acceptance criteria should be defined
• User stories are often used
SCRUM ARTIFACTS
INCREMENT
• The sum of all the Product Backlog items completed
during a Sprint and the value of the increments of all
previous Sprints.
• Characteristics:
• Must be in useable condition regardless of whether
the Product Owner decides to release it.
SCRUM EVENTS
SCRUM MEETINGS
• Sprint Planning Meeting
• Entire Team decides together what to tackle for that sprint
• Daily Scrum Meeting
• Quick Meeting to touch base on:
• What have I done? What am I doing next? What am I stuck on/need help?
• Sprint Retrospective
• Review sprint process
• Sprint Review Meeting
• Review product
SCRUM EVENTS
SPRINT PLANNING
• Purpose:
• Define what can be delivered in the Sprint.
• Plan how the work will be achieved.
• Time-box:
• Maximum of 8 hours for a one-month Sprint.
• Activities:
• What: The Product Owner presents the desired
Product Backlog items.
• How: The Development Team plans the work
necessary to deliver the Increment.
SCRUM EVENTS
DAILY STAND-UP (DAILY SCRUM)
• Purpose:
• Synchronize activities and create a plan for the next
24 hours.
• Time-box:
• 15 minutes.
• Questions Addressed:
• What did I do yesterday that helped the
Development Team meet the Sprint Goal?
• What will I do today to help the Development Team
meet the Sprint Goal?
• Do I see any impediment that prevents me or the
Development Team from meeting the Sprint Goal?
SCRUM EVENTS
SPRINT REVIEW
• Purpose:
• Inspect the Increment and adapt the Product
Backlog if needed.
• Time-box:
• Maximum of 4 hours for a one-month Sprint.
• Activities:
• Demonstration of the Increment.
• Feedback from stakeholders.
• Discussion of what to do next.
SCRUM EVENTS
SPRINT RETROSPECTIVE
• Purpose:
• Plan ways to increase quality and effectiveness.
• Time-box:
• Maximum of 3 hours for a one-month Sprint.
• Activities:
• Inspect how the last Sprint went regarding people,
relationships, processes, and tools.
• Identify and order major items that went well and
potential improvements.
• Create a plan for implementing improvements.
USER STORIES
USER STORIES
USER STORY CARDS
• Size: 3”x5”
“As a [role], I want [function], so that [value]
USER STORIES
CONVERSATION
• What must a developer do to implement this user story?
USER STORIES
CONFIRMATION
• How can we tell that the user story has been achieved?
• It’s easy to tell when the developer finished the code
• But, how do you tell that the customer is happy?
USER STORIES
HOW TO EVALUATE USER STORY?
BENEFITS AND CHALLENGES OF IMPLEMENTING SCRUM
BENEFITS AND CHALLENGES
Benefits:
• Increased Transparency: Regular meetings and artifacts make progress visible.
• Flexibility and Adaptability: Ability to respond to changes quickly.
• Improved Quality: Continuous testing and integration.
• Higher Customer Satisfaction: Regular feedback and involvement.
• Team Empowerment: Teams are self-organizing and make decisions.
Challenges:
• Cultural Shift: Requires a change in mindset and company culture.
• Role Misunderstandings: Confusion over responsibilities can hinder progress.
• Resistance to Change: Team members or management may resist new processes.
• Requires Discipline: Consistency in following Scrum practices is essential.
• Scaling Issues: Applying Scrum to large projects or organizations can be complex.
OTHER AGILE FRAMEWORKS: KANBAN
KANBAN BOARDS
OTHER AGILE FRAMEWORKS: KANBAN
DESCRIPTION
• The Kanban method is a lean methodology that describes methods for improving any process or workflow, focused on
change management and service delivery
• 6 core practices:
– Visualizing workflow using a Kanban board
• The Kanban board is organized into columns representing the development stage for each element of software
functionality. The cards on the board might contain single user stories or recently discovered defects on sticky
notes and the team would advance them from “to do,” to “doing,” and “done” as the project progresses.
– Limiting the amount of work in progress (WIP) at any given time
• Developers are encouraged to complete their current task before starting another. This reduces lead time,
improves work quality, and increases the team’s ability to deliver software functionality frequently to their
stakeholders.
– Managing workflow to reduce waste
• Understanding the current value flow, analyzing places where it is stalled, defining changes, and then
implementing the changes.
– Making process policies explicit
• (e.g., write down your reasons for selecting items to work on and the criteria used to define “done”).
– Focusing on continuous improvement
• Creating feedback loops where changes are introduced based on process data and the effects of the change on
the process are measured after the changes are made
– Make process changes collaboratively
• Involve all team members and other stakeholders as needed.
OTHER AGILE FRAMEWORKS: XP PROGRAMMING
AGILE FRAMEWORK: XP PROGRAMMING
• XP Planning
– Begins with the creation of “user stories”
– Agile team assesses each story and assigns a cost
– Stories are grouped to for a deliverable increment
– A commitment is made on delivery date
– After the first increment “project velocity” is used to help define subsequent delivery dates for other
increments
• XP Design
– Follows the KIS principle
– Encourage the use of CRC cards
– For difficult design problems, suggests the creation of “spike solutions”—a design prototype
– Encourages “refactoring”—an iterative refinement of the internal program design
• XP Coding
– Recommends the construction of a unit test for a store before coding commences
– Encourages “pair programming”
• XP Testing
– All unit tests are executed daily
– “Acceptance tests” are defined by the customer and executed to assess customer visible functionality
OTHER AGILE FRAMEWORKS: XP PROGRAMMING
AGILE FRAMEWORK: XP PROGRAMMING
OTHER AGILE FRAMEWORKS: DEVOPS
AGILE FRAMEWORK: DEVOPS
• DevOps was created by Patrick DeBois to combine Development and Operations. DevOps attempts to
apply agile and lean development principles across the entire software supply chain.
• The DevOps approach involves several stages that loop continuously until the desired product exists:
– Continuous development
• Software deliverables are broken down and developed in multiple sprints with the increments
delivered to the quality assurance14 members of the development team for testing
– Continuous testing
• Automated testing tools are used to help team members test multiple code increments at the same
time to ensure they are free of defects prior to integration.
– Continuous integration
• The code pieces with new functionality are added to the existing code and to the runtime
environment and then checked to ensure there are no errors after deployment.
– Continuous deployment
• At this stage the integrated code is deployed (installed) to the production environment, which might
include multiple sites globally that need to be prepared to receive the new functionality.
– Continuous monitoring
• Operations staff who are members of the development team help to improve software quality by
monitoring its performance in the production environment and proactively looking for possible
problems before users find them.
OTHER AGILE FRAMEWORKS: DEVOPS
AGILE FRAMEWORK: DEVOPS
REFERENCES
• Titus Winters, Tom Manshreck, and Hyrum Wright. (2020).
Software Engineering at Google: Lesson Learned from
Programming Over Time. 1st. O’Reilly Media. California. ISBN:
978-1492082798.
• Roger Pressman and Bruce Maxim. (2020). Software
Engineering: A Practitioner's Approach. 9th E. McGraw- Hill.
New York. ISBN: 9781259872976.
• Multimedia : Video Water Fall, V model,
http://www.youtube.com/watch?v=KaPC0gsEQ68
• Software Engineering Incremental Model,
http://www.youtube.com/watch?v=9cBkihYP1rY
• The Strengths and Weaknesses of Extreme Programming,
http://www.youtube.com/watch?v=LkhLZ7_KZ5w
• Agile project management tutorial: What is agile project
managemen, http://www.youtube.com/watch?v=MJR-
EgHTA4E