SlideShare a Scribd company logo
1 of 50
2015 – OpenArc Campus – BIT UCSC
IT4305- Rapid Software Development
Upekha Vandebona
upe.vand@gmail.com
Ref- Essential Scrum :Practical Guide to the Most Popular Agile Process, Kenneth S. Rubin
Introduction
 Remember
 Agile and traditional, plan-driven, sequential
development are appropriate to use on different classes
of problems.
 One pure form of traditional, plan-driven development;
frequently goes by the term waterfall.
Plan-driven (contd.)
 Attempt to plan-for and anticipate up-front all of the
features a user might want in the end product, and to
determine how best to build those features.
 The idea here is that the better the planning, the better
the understanding, and therefore the better the
execution.
 Often called as sequential processes because
practitioners perform, in sequence, a complete
requirements analysis followed by a complete design
followed in turn by coding/building and then testing.
Plan-driven (contd.)
 Works well if you are applying it to problems that are
well defined, predictable, and unlikely to undergo any
significant change.
 The problem is that most product development efforts
are anything but predictable, especially at the
beginning. Developing a business application rarely
goes as planned.
Agile
 Agile Manifesto
(Beck et al. 2001),
 lean product
development
(Reinertsten 2009b;
Poppendieck and
Poppendieck 2003),
 “The Scrum Guide”
(Schwaber and
Sutherland 2011)
Leverages product development to create
innovative solutions.
Embrace Helpful Variability
 A recipe can be change into a different recipe by
changing just a single factor.
 Some amount of variability is necessary to produce a
different product each time.
 Loan Handling System to Lease Handling System
 Student Management to Student Performance System
Employ Iterative and
Incremental Development (contd.)
“Build some of it before you build all of it.”
 Break the product into smaller pieces so that we can
build some of it, learn how each piece is to survive in
the environment in which it must exist, adapt based
on what we learn, and then build more of it.
 Drawbacks
 In the presence of uncertainty it can be difficult up front
to determine (plan) how many improvement
passes(iterations) will be necessary.
 Risk missing the big picture (we see the trees but not the
forest)
• Don’t work on a phase at a time; work on a feature at a time.
So, by the end of a iteration we have created a valuable
product increment.
• An increment is integrated and tested with any previously
developed features;
• At the end of the iteration, get feedback on the newly
completed features within the context of already completed
features, which allows us to adapt.
 We can choose different features to work on in the
next iteration or alter the process we will use to build
the next set of features.
 In some cases, we might learn that the increment,
though it technically fits the bill, isn’t as good as it
could be.
 When that happens, we can schedule rework for a
future iteration as part of our commitment to iterative
development and continuous improvement.
Employ IID (contd.)
Leverage Variability through Inspection,
Adaptation, and Transparency
 Generate early and frequent feedback to ensure that
the right product is built and that the product is built
right.
 To do this Transparency is a must. Transparency makes
inspection possible, which is needed for adaptation.
 Transparency: all of the information that is
important to producing a product must be
available to the people involved in creating the
product.
 Transparency also allows everyone concerned to
observe and understand what is happening. It leads to
more communication and it establishes trust.
Reduce All Forms of Uncertainty
Simultaneously (contd.)
 End uncertainty (what uncertainty) — uncertainty
surrounding the features of the final product
 Means uncertainty (how uncertainty) — uncertainty
surrounding the process and technologies used to develop
a product
 In particular environments or with particular products
there might also be customer uncertainty (who
uncertainty). For example, start-up organizations
(including large organizations that focus on novel
products) may only have assumptions as to who the actual
customers of their products will be. This uncertainty must
be addressed or they might build brilliant products for the
wrong markets.
Reduce All Forms of Uncertainty
Simultaneously (contd.)
 Simultaneously addressing multiple types of
uncertainty is facilitated by iterative and incremental
development and guided by constant inspection,
adaptation, and transparency.
 Such an approach allows us to opportunistically probe
and explore our environment to identify and learn
about the unknown unknowns (the things that we
don’t yet know that we don’t know) as they emerge.
Constantly balance the desire for prediction with the
need for adaptation.
Keep Options Open
 Never make a premature decision.
 Last Responsible Moment (LRM) :
 Do not make important and irreversible decisions until
the last responsible moment. The moment when the
cost of not making a decision becomes greater than the
cost of making a decision
 Wait until we have more information so that we
can make a more informed decision.
Accept That You Can’t Get It Right
Up Front
 Acknowledge that we can’t get all of the requirements
or the plans right up front. In fact, we believe that
trying to do so could be dangerous because we are
likely missing important knowledge, leading to the
creation of a large quantity of low-quality
requirements.
 Produce some requirements and plans up front, but
just sufficiently, and with the assumption that we will
fill in the details of those requirements and plans as we
learn more about the product we are building.
Favor an Adaptive, Exploratory
Approach
 Favors a more adaptive, trial-and error approach based
on appropriate use of exploration.
 Prototyping
 Tools and technologies have gotten better and the cost
of exploring has come way down.
 When faced with uncertainty, rather than trying to
predict it away, we use low-cost exploration to buy
relevant information that we can then use to make an
informed, reasonable step forward with our solution.
The feedback from our action will help us determine if
and when we need further exploration.
Embrace Change in an
Economically Sensible Way (contd.)
 A change made during analysis might cost $1; that
same change made late during testing might cost
$1,000.
 Why is this so? If we make a mistake during analysis
and find it during analysis, it is an inexpensive fix. If
that same error is not found until design, we have to
fix not only the incorrect requirement, but potentially
parts of our design based on the wrong requirement.
 This compounding of the error continues through
each subsequent phase, making what might have been
a small error to correct during analysis into a much
larger error to correct in testing or operations.
Embrace Change in an
Economically Sensible Way (contd.)
 Assume that change is the norm. We believe that we
can’t predict away the inherent uncertainty that exists
during product development by working longer and
harder up front. Thus, we must be prepared to
embrace change.
 Keep the cost-of-change curve flat for as long as
possible
Balance Predictive Up-Front Work
with Adaptive Just-in-Time Work
 Acknowledge that it is not possible to get requirements
and plans precisely right up front. It doesn’t mean we
should do no requirements or planning work up front.
 Agile is about finding balance—balance between
predictive up-front work and adaptive just-in-time
work
 The balance point should be set in an economically
sensible way to maximize the amount of ongoing
adaptation based on fast feedback and minimize the
amount of up-front prediction, while still meeting
compliance, regulatory, and/or corporate objectives.
We acquire validated learning when we obtain
knowledge that confirms or refutes an assumption that
we have made.
Validate Important Assumptions
Fast
 Assumptions represent a significant development risk.
In Scrum, we try to minimize the number of important
assumptions that exist at any time.
 Don’t let important assumptions exist without
validation for very long.
 The combination of IID along with a focus on low-cost
exploration can be used to validate assumptions fast.
 As a result, if we make a fundamentally bad assumption
when using Scrum, we will likely discover our mistake
quickly and have a chance to recover from it.
Leverage Multiple Concurrent
Learning Loops (contd.)
 Important form of learning happens only after features
have been built, integrated, and tested, which means
considerable learning occurs toward the end of the
effort.
 Late learning provides reduced benefits because there
may be insufficient time to leverage the learning.
 Constant learning is a key to our success.
 Identify and exploit feedback loops to increase
learning.
Leverage Multiple Concurrent
Learning Loops (contd.)
• Steps
 Make an assumption (or set a goal),
 Build something (perform some activities),
 Get feedback on what we built, and then
 Use that feedback to inspect what we did relative to
what we assumed.
 Then make adaptations to the product, process, and/or
our beliefs based on what we learned.
Organize Workflow for Fast
Feedback
 Strive for fast feedback, because it is critical for
helping truncate wrong paths sooner and is vital for
quickly uncovering and exploiting time-sensitive,
emergent opportunities.
 Feedback-generating activities that occur a long time
after development have unfortunate side effects.
 Ensure that feedback-generating activities occur in
close time proximity to the original work. Fast
feedback provides superior economic benefits because
errors compound when we delay feedback, resulting in
exponentially larger failures.
WIP: Work that has been started but not yet finished.
During product development WIP must be
recognized and properly managed.
Use Economically Sensible Batch
Sizes
Recognize Inventory and Manage
It for Good Flow
 High cost of inventory, also known as work in process
or WIP
 Our goal is to find the proper balance between just
enough inventory and too much inventory.
 If we sit on a lot of inventory and then something
changes, we experience one or more forms of
significant waste.
 To minimize risks, manage inventory in an
economically sensible way—keep some inventory on
hand but use a healthy dose of just-in-time inventory
management.
Focus on Idle Work, Not Idle
Workers (contd.)
 Idle work is far more wasteful and economically
damaging than idle workers.
 Idle work is work that we want to do (such as building
or testing something) but can’t do because something
is preventing us.
 Perhaps we are blocked waiting on another team to do
something, and until that team completes its work, we
can’t do ours.
 Or maybe we just have so much work to do that it can’t
all be done at once. In this case, some of the work sits
idle until we become available to work on it.
Focus on Idle Work, Not Idle
Workers (contd.)
Many product development organizations focus more on
eliminating the waste of idle workers than on the waste of idle
work.
For example, in traditional thinking, if I hire you to be a tester, I
expect you to spend 100% of your time testing. If you spend less
than 100% of your time testing, I incur waste (you’re idle when
you could be testing). To avoid this problem, I will find you
more testing work to do—perhaps by assigning you to multiple
projects—to get your utilization up to 100%.
“Watch the baton, not the runners”
Focus on Idle Work, Not Idle
Workers (contd.)
 This approach reduces one form of waste (idle-worker
waste) while simultaneously increasing another form
of waste (idle-work waste). And, most of the time, the
cost of the idle work is far greater than the cost of an
idle worker.
 Find the bottlenecks in the flow of work and focusing
our efforts on eliminating them is a far more
economically sensible activity than trying to keep
everyone 100% busy.
Consider Cost of Delay
 Financial cost associated with delaying work or
delaying achievement of a milestone.
 When capacity utilization increases, queue size and
delay also increase.
Measure progress by what we have delivered and
validated, not by how we are proceeding according
to the predefined plan or how far we are into a
particular phase or stage of development
Adapt to Real-Time Information
and Replan
 Goal is to rapidly replan and adapt to the stream of
economically important information that is continuously
arriving during the development effort.
 Do not to conform to some plan, some up-front
prediction of how we thought things might go.
 We believe that unbridled faith in the plan will
frequently blind us to the fact that the plan might be
wrong
 Plan-driven, sequential process, the plan is the
authoritative source on how and when work should occur.
As such, conformance to the plan is expected.
Measure Progress by Validating
Working Assets
 Measure progress by building working, validated assets
that deliver value and that can be used to validate
important assumptions. This gives us the feedback to
know what the right next step is.
 It’s not about how much work we start; it’s all about
what customer-valuable work we finish.
 Sequential, plan-driven development effort is
demonstrated by completing a phase and being
permitted to enter the next phase. Yet in the end, the
product we created in full accordance with the plan
might deliver far less customer value than anticipated.
Focus on Value-Centric Delivery
 Agile is a customer-value-centric form of development. It is
based on a prioritized, incremental model of delivery in
which the highest-value features are continuously built and
delivered in the next iteration. As a result, customers get a
continuous flow of high-value features sooner.
 Value is generated by delivering working assets to
customers, by validating important assumptions, or by
acquiring valuable knowledge. We believe that the
intermediate artifacts provide no perceived customer value
and are merely a means to an end if they themselves cannot
be used to generate important feedback or acquire
important knowledge.
Performance-related characteristics we expect
Go Fast but Never Hurry
 One core goal is to be nimble, adaptable, and speedy.
By going fast, we deliver fast, we get feedback fast, and
we get value into the hands of our customers sooner.
Learning and reacting quickly allow us to generate
revenue and/or reduce costs sooner.
 Do not, however, mistake going fast for being hurried.
Time is of the essence, but we don’t rush to get things
done. Hurrying will likely come at the expense of
quality.
Karate
Build In Quality
 Quality isn’t something a testing team “tests in” at the end;
it is something that a cross-functional team owns and
continuously builds in and verifies in every iteration. Each
increment of value that is created is completed to a high
level of confidence and has the potential to be put into
production or shipped to customers
 During plan-driven development, the belief is that through
careful, sequential performance of work we get a high-
quality product. However, we can’t actually verify this
quality until we do the testing of the integrated product,
which occurs during a late phase of the process.
Employ Minimally Sufficient
Ceremony (contd.)
 Ceremony : Unnecessary formality
Employ Minimally Sufficient
Ceremony (contd.)
 Set the ceremonial bar at a low level, one that is
minimally sufficient or good enough.
 Agile isn’t anti-documentation. Adopt an economic
perspective and carefully review which documents we
create.
 Avoid work that adds no short-term or long-term
economic value. In Agile, we believe that time and
money are better spent delivering customer value.
Thank You
2015 April 05

More Related Content

What's hot

Introduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumIntroduction to Agile Project Management and Scrum
Introduction to Agile Project Management and Scrum
Voximate
 

What's hot (17)

Sprint backlog
Sprint backlogSprint backlog
Sprint backlog
 
Scrum team and efficiency
Scrum team and efficiencyScrum team and efficiency
Scrum team and efficiency
 
Scrum presentation jyoti
Scrum presentation jyotiScrum presentation jyoti
Scrum presentation jyoti
 
The Essence of Sprint Planning : Presented by Sprint Planning
The Essence of Sprint Planning : Presented by Sprint PlanningThe Essence of Sprint Planning : Presented by Sprint Planning
The Essence of Sprint Planning : Presented by Sprint Planning
 
Introduction to Agile Project Management and Scrum
Introduction to Agile Project Management and ScrumIntroduction to Agile Project Management and Scrum
Introduction to Agile Project Management and Scrum
 
Scaling Agile - Agility Defined
Scaling Agile - Agility DefinedScaling Agile - Agility Defined
Scaling Agile - Agility Defined
 
Scrum agile process
Scrum agile processScrum agile process
Scrum agile process
 
Agile backlog management with Hansoft
Agile backlog management with HansoftAgile backlog management with Hansoft
Agile backlog management with Hansoft
 
Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process Understanding the Agile Release and Sprint Planning Process
Understanding the Agile Release and Sprint Planning Process
 
Agile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewAgile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft View
 
Scrum in an hour
Scrum in an hourScrum in an hour
Scrum in an hour
 
Agile and Scrum Basics
Agile and Scrum BasicsAgile and Scrum Basics
Agile and Scrum Basics
 
What Is A Sprint Planning Meeting
What Is A Sprint Planning MeetingWhat Is A Sprint Planning Meeting
What Is A Sprint Planning Meeting
 
Scrum and agile principles
Scrum and agile principles Scrum and agile principles
Scrum and agile principles
 
Agile project management tech gig
Agile project management   tech gigAgile project management   tech gig
Agile project management tech gig
 
Agile Project LifeCycle
Agile Project LifeCycleAgile Project LifeCycle
Agile Project LifeCycle
 
Dyl Resume 9
Dyl Resume 9Dyl Resume 9
Dyl Resume 9
 

Similar to Agile Features

Agile coaching exchange 24th september update on 30th september – john coleman
Agile coaching exchange 24th september update on 30th september – john colemanAgile coaching exchange 24th september update on 30th september – john coleman
Agile coaching exchange 24th september update on 30th september – john coleman
Orderly Disruption
 
Single Point Continuous Flo1
Single Point Continuous Flo1Single Point Continuous Flo1
Single Point Continuous Flo1
Charles Cooper
 

Similar to Agile Features (20)

Agile coaching exchange 24th september update on 30th september – john coleman
Agile coaching exchange 24th september update on 30th september – john colemanAgile coaching exchange 24th september update on 30th september – john coleman
Agile coaching exchange 24th september update on 30th september – john coleman
 
Why all deadlines are bad for quality
Why all deadlines are bad for qualityWhy all deadlines are bad for quality
Why all deadlines are bad for quality
 
Myths of Product Development
Myths of Product DevelopmentMyths of Product Development
Myths of Product Development
 
Applying agile principles a brief paper
Applying agile principles    a brief paperApplying agile principles    a brief paper
Applying agile principles a brief paper
 
Agile Software Development - Session 1
Agile Software Development - Session 1Agile Software Development - Session 1
Agile Software Development - Session 1
 
Agile and PRINCE2 - The Best of Both Worlds
Agile and PRINCE2 - The Best of Both WorldsAgile and PRINCE2 - The Best of Both Worlds
Agile and PRINCE2 - The Best of Both Worlds
 
From Zero To Agile
From Zero To AgileFrom Zero To Agile
From Zero To Agile
 
What is Lean UX?
What is Lean UX?What is Lean UX?
What is Lean UX?
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training
 
Process Evolution and Product Maturity
Process Evolution and Product MaturityProcess Evolution and Product Maturity
Process Evolution and Product Maturity
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Current Trends in Agile - opening keynote for Agile Israel 2014
Current Trends in Agile - opening keynote for Agile Israel 2014Current Trends in Agile - opening keynote for Agile Israel 2014
Current Trends in Agile - opening keynote for Agile Israel 2014
 
Understanding The Urge To Agility
Understanding The Urge To AgilityUnderstanding The Urge To Agility
Understanding The Urge To Agility
 
20 things you should know
20 things you should know20 things you should know
20 things you should know
 
The SOLUTION Model
The SOLUTION ModelThe SOLUTION Model
The SOLUTION Model
 
Agile concepts for quality and process engineers for slideshare
Agile concepts for quality and process engineers   for slideshareAgile concepts for quality and process engineers   for slideshare
Agile concepts for quality and process engineers for slideshare
 
Benefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementBenefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior Management
 
Managing business change projects with Agile
Managing business change projects with AgileManaging business change projects with Agile
Managing business change projects with Agile
 
QA in Agile World
QA in Agile WorldQA in Agile World
QA in Agile World
 
Single Point Continuous Flo1
Single Point Continuous Flo1Single Point Continuous Flo1
Single Point Continuous Flo1
 

More from Upekha Vandebona

More from Upekha Vandebona (20)

Software Engineering Ethics
Software Engineering EthicsSoftware Engineering Ethics
Software Engineering Ethics
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
 
Characteristics of Software
Characteristics of SoftwareCharacteristics of Software
Characteristics of Software
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Porter Forces and eBusiness Models
Porter Forces and  eBusiness ModelsPorter Forces and  eBusiness Models
Porter Forces and eBusiness Models
 
Porter Forces and eBusiness Strategies
Porter Forces and  eBusiness StrategiesPorter Forces and  eBusiness Strategies
Porter Forces and eBusiness Strategies
 
Revenue Models for e-Business on The Web
Revenue Models for e-Business on The WebRevenue Models for e-Business on The Web
Revenue Models for e-Business on The Web
 
Michael Porter’s Five Forces
Michael Porter’s Five ForcesMichael Porter’s Five Forces
Michael Porter’s Five Forces
 
eCommerce Business Strategies
eCommerce Business StrategieseCommerce Business Strategies
eCommerce Business Strategies
 
Supply Chain Management, Customer Relationship Management and Knowledge Manag...
Supply Chain Management, Customer Relationship Management and Knowledge Manag...Supply Chain Management, Customer Relationship Management and Knowledge Manag...
Supply Chain Management, Customer Relationship Management and Knowledge Manag...
 
eBusiness Roadmap
eBusiness RoadmapeBusiness Roadmap
eBusiness Roadmap
 
eBusiness Environment
eBusiness EnvironmenteBusiness Environment
eBusiness Environment
 
Direct to Customer Interaction through eBusiness
Direct to Customer Interaction through eBusinessDirect to Customer Interaction through eBusiness
Direct to Customer Interaction through eBusiness
 
eBusiness Benefits and Issues
eBusiness Benefits and IssueseBusiness Benefits and Issues
eBusiness Benefits and Issues
 
Orientation of eBusiness Applications
Orientation of eBusiness ApplicationsOrientation of eBusiness Applications
Orientation of eBusiness Applications
 
Professional and Ethical, Issues and Responsibilities
Professional and Ethical, Issues and ResponsibilitiesProfessional and Ethical, Issues and Responsibilities
Professional and Ethical, Issues and Responsibilities
 
Privacy and Civil Liberties
Privacy and Civil LibertiesPrivacy and Civil Liberties
Privacy and Civil Liberties
 
Organizational Context - Processes
Organizational Context - ProcessesOrganizational Context - Processes
Organizational Context - Processes
 
Professional Communication in Computing - Writing
Professional Communication in Computing - WritingProfessional Communication in Computing - Writing
Professional Communication in Computing - Writing
 
Professional Communication in Computing
Professional Communication in ComputingProfessional Communication in Computing
Professional Communication in Computing
 

Recently uploaded

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Recently uploaded (20)

Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 

Agile Features

  • 1. 2015 – OpenArc Campus – BIT UCSC IT4305- Rapid Software Development Upekha Vandebona upe.vand@gmail.com Ref- Essential Scrum :Practical Guide to the Most Popular Agile Process, Kenneth S. Rubin
  • 2. Introduction  Remember  Agile and traditional, plan-driven, sequential development are appropriate to use on different classes of problems.  One pure form of traditional, plan-driven development; frequently goes by the term waterfall.
  • 3. Plan-driven (contd.)  Attempt to plan-for and anticipate up-front all of the features a user might want in the end product, and to determine how best to build those features.  The idea here is that the better the planning, the better the understanding, and therefore the better the execution.  Often called as sequential processes because practitioners perform, in sequence, a complete requirements analysis followed by a complete design followed in turn by coding/building and then testing.
  • 4. Plan-driven (contd.)  Works well if you are applying it to problems that are well defined, predictable, and unlikely to undergo any significant change.  The problem is that most product development efforts are anything but predictable, especially at the beginning. Developing a business application rarely goes as planned.
  • 5. Agile  Agile Manifesto (Beck et al. 2001),  lean product development (Reinertsten 2009b; Poppendieck and Poppendieck 2003),  “The Scrum Guide” (Schwaber and Sutherland 2011)
  • 6. Leverages product development to create innovative solutions.
  • 7. Embrace Helpful Variability  A recipe can be change into a different recipe by changing just a single factor.  Some amount of variability is necessary to produce a different product each time.  Loan Handling System to Lease Handling System  Student Management to Student Performance System
  • 8. Employ Iterative and Incremental Development (contd.) “Build some of it before you build all of it.”  Break the product into smaller pieces so that we can build some of it, learn how each piece is to survive in the environment in which it must exist, adapt based on what we learn, and then build more of it.  Drawbacks  In the presence of uncertainty it can be difficult up front to determine (plan) how many improvement passes(iterations) will be necessary.  Risk missing the big picture (we see the trees but not the forest)
  • 9. • Don’t work on a phase at a time; work on a feature at a time. So, by the end of a iteration we have created a valuable product increment. • An increment is integrated and tested with any previously developed features; • At the end of the iteration, get feedback on the newly completed features within the context of already completed features, which allows us to adapt.
  • 10.  We can choose different features to work on in the next iteration or alter the process we will use to build the next set of features.  In some cases, we might learn that the increment, though it technically fits the bill, isn’t as good as it could be.  When that happens, we can schedule rework for a future iteration as part of our commitment to iterative development and continuous improvement. Employ IID (contd.)
  • 11. Leverage Variability through Inspection, Adaptation, and Transparency  Generate early and frequent feedback to ensure that the right product is built and that the product is built right.  To do this Transparency is a must. Transparency makes inspection possible, which is needed for adaptation.  Transparency: all of the information that is important to producing a product must be available to the people involved in creating the product.  Transparency also allows everyone concerned to observe and understand what is happening. It leads to more communication and it establishes trust.
  • 12.
  • 13.
  • 14. Reduce All Forms of Uncertainty Simultaneously (contd.)  End uncertainty (what uncertainty) — uncertainty surrounding the features of the final product  Means uncertainty (how uncertainty) — uncertainty surrounding the process and technologies used to develop a product  In particular environments or with particular products there might also be customer uncertainty (who uncertainty). For example, start-up organizations (including large organizations that focus on novel products) may only have assumptions as to who the actual customers of their products will be. This uncertainty must be addressed or they might build brilliant products for the wrong markets.
  • 15. Reduce All Forms of Uncertainty Simultaneously (contd.)  Simultaneously addressing multiple types of uncertainty is facilitated by iterative and incremental development and guided by constant inspection, adaptation, and transparency.  Such an approach allows us to opportunistically probe and explore our environment to identify and learn about the unknown unknowns (the things that we don’t yet know that we don’t know) as they emerge.
  • 16. Constantly balance the desire for prediction with the need for adaptation.
  • 17. Keep Options Open  Never make a premature decision.  Last Responsible Moment (LRM) :  Do not make important and irreversible decisions until the last responsible moment. The moment when the cost of not making a decision becomes greater than the cost of making a decision  Wait until we have more information so that we can make a more informed decision.
  • 18.
  • 19. Accept That You Can’t Get It Right Up Front  Acknowledge that we can’t get all of the requirements or the plans right up front. In fact, we believe that trying to do so could be dangerous because we are likely missing important knowledge, leading to the creation of a large quantity of low-quality requirements.  Produce some requirements and plans up front, but just sufficiently, and with the assumption that we will fill in the details of those requirements and plans as we learn more about the product we are building.
  • 20. Favor an Adaptive, Exploratory Approach  Favors a more adaptive, trial-and error approach based on appropriate use of exploration.  Prototyping  Tools and technologies have gotten better and the cost of exploring has come way down.  When faced with uncertainty, rather than trying to predict it away, we use low-cost exploration to buy relevant information that we can then use to make an informed, reasonable step forward with our solution. The feedback from our action will help us determine if and when we need further exploration.
  • 21. Embrace Change in an Economically Sensible Way (contd.)  A change made during analysis might cost $1; that same change made late during testing might cost $1,000.  Why is this so? If we make a mistake during analysis and find it during analysis, it is an inexpensive fix. If that same error is not found until design, we have to fix not only the incorrect requirement, but potentially parts of our design based on the wrong requirement.  This compounding of the error continues through each subsequent phase, making what might have been a small error to correct during analysis into a much larger error to correct in testing or operations.
  • 22. Embrace Change in an Economically Sensible Way (contd.)  Assume that change is the norm. We believe that we can’t predict away the inherent uncertainty that exists during product development by working longer and harder up front. Thus, we must be prepared to embrace change.  Keep the cost-of-change curve flat for as long as possible
  • 23.
  • 24. Balance Predictive Up-Front Work with Adaptive Just-in-Time Work  Acknowledge that it is not possible to get requirements and plans precisely right up front. It doesn’t mean we should do no requirements or planning work up front.  Agile is about finding balance—balance between predictive up-front work and adaptive just-in-time work  The balance point should be set in an economically sensible way to maximize the amount of ongoing adaptation based on fast feedback and minimize the amount of up-front prediction, while still meeting compliance, regulatory, and/or corporate objectives.
  • 25. We acquire validated learning when we obtain knowledge that confirms or refutes an assumption that we have made.
  • 26. Validate Important Assumptions Fast  Assumptions represent a significant development risk. In Scrum, we try to minimize the number of important assumptions that exist at any time.  Don’t let important assumptions exist without validation for very long.  The combination of IID along with a focus on low-cost exploration can be used to validate assumptions fast.  As a result, if we make a fundamentally bad assumption when using Scrum, we will likely discover our mistake quickly and have a chance to recover from it.
  • 27. Leverage Multiple Concurrent Learning Loops (contd.)  Important form of learning happens only after features have been built, integrated, and tested, which means considerable learning occurs toward the end of the effort.  Late learning provides reduced benefits because there may be insufficient time to leverage the learning.  Constant learning is a key to our success.  Identify and exploit feedback loops to increase learning.
  • 28. Leverage Multiple Concurrent Learning Loops (contd.) • Steps  Make an assumption (or set a goal),  Build something (perform some activities),  Get feedback on what we built, and then  Use that feedback to inspect what we did relative to what we assumed.  Then make adaptations to the product, process, and/or our beliefs based on what we learned.
  • 29. Organize Workflow for Fast Feedback  Strive for fast feedback, because it is critical for helping truncate wrong paths sooner and is vital for quickly uncovering and exploiting time-sensitive, emergent opportunities.  Feedback-generating activities that occur a long time after development have unfortunate side effects.  Ensure that feedback-generating activities occur in close time proximity to the original work. Fast feedback provides superior economic benefits because errors compound when we delay feedback, resulting in exponentially larger failures.
  • 30. WIP: Work that has been started but not yet finished. During product development WIP must be recognized and properly managed.
  • 32.
  • 33. Recognize Inventory and Manage It for Good Flow  High cost of inventory, also known as work in process or WIP  Our goal is to find the proper balance between just enough inventory and too much inventory.  If we sit on a lot of inventory and then something changes, we experience one or more forms of significant waste.  To minimize risks, manage inventory in an economically sensible way—keep some inventory on hand but use a healthy dose of just-in-time inventory management.
  • 34. Focus on Idle Work, Not Idle Workers (contd.)  Idle work is far more wasteful and economically damaging than idle workers.  Idle work is work that we want to do (such as building or testing something) but can’t do because something is preventing us.  Perhaps we are blocked waiting on another team to do something, and until that team completes its work, we can’t do ours.  Or maybe we just have so much work to do that it can’t all be done at once. In this case, some of the work sits idle until we become available to work on it.
  • 35. Focus on Idle Work, Not Idle Workers (contd.) Many product development organizations focus more on eliminating the waste of idle workers than on the waste of idle work. For example, in traditional thinking, if I hire you to be a tester, I expect you to spend 100% of your time testing. If you spend less than 100% of your time testing, I incur waste (you’re idle when you could be testing). To avoid this problem, I will find you more testing work to do—perhaps by assigning you to multiple projects—to get your utilization up to 100%. “Watch the baton, not the runners”
  • 36. Focus on Idle Work, Not Idle Workers (contd.)  This approach reduces one form of waste (idle-worker waste) while simultaneously increasing another form of waste (idle-work waste). And, most of the time, the cost of the idle work is far greater than the cost of an idle worker.  Find the bottlenecks in the flow of work and focusing our efforts on eliminating them is a far more economically sensible activity than trying to keep everyone 100% busy.
  • 37. Consider Cost of Delay  Financial cost associated with delaying work or delaying achievement of a milestone.  When capacity utilization increases, queue size and delay also increase.
  • 38. Measure progress by what we have delivered and validated, not by how we are proceeding according to the predefined plan or how far we are into a particular phase or stage of development
  • 39. Adapt to Real-Time Information and Replan  Goal is to rapidly replan and adapt to the stream of economically important information that is continuously arriving during the development effort.  Do not to conform to some plan, some up-front prediction of how we thought things might go.  We believe that unbridled faith in the plan will frequently blind us to the fact that the plan might be wrong  Plan-driven, sequential process, the plan is the authoritative source on how and when work should occur. As such, conformance to the plan is expected.
  • 40. Measure Progress by Validating Working Assets  Measure progress by building working, validated assets that deliver value and that can be used to validate important assumptions. This gives us the feedback to know what the right next step is.  It’s not about how much work we start; it’s all about what customer-valuable work we finish.  Sequential, plan-driven development effort is demonstrated by completing a phase and being permitted to enter the next phase. Yet in the end, the product we created in full accordance with the plan might deliver far less customer value than anticipated.
  • 41. Focus on Value-Centric Delivery  Agile is a customer-value-centric form of development. It is based on a prioritized, incremental model of delivery in which the highest-value features are continuously built and delivered in the next iteration. As a result, customers get a continuous flow of high-value features sooner.  Value is generated by delivering working assets to customers, by validating important assumptions, or by acquiring valuable knowledge. We believe that the intermediate artifacts provide no perceived customer value and are merely a means to an end if they themselves cannot be used to generate important feedback or acquire important knowledge.
  • 42.
  • 44. Go Fast but Never Hurry  One core goal is to be nimble, adaptable, and speedy. By going fast, we deliver fast, we get feedback fast, and we get value into the hands of our customers sooner. Learning and reacting quickly allow us to generate revenue and/or reduce costs sooner.  Do not, however, mistake going fast for being hurried. Time is of the essence, but we don’t rush to get things done. Hurrying will likely come at the expense of quality. Karate
  • 45. Build In Quality  Quality isn’t something a testing team “tests in” at the end; it is something that a cross-functional team owns and continuously builds in and verifies in every iteration. Each increment of value that is created is completed to a high level of confidence and has the potential to be put into production or shipped to customers  During plan-driven development, the belief is that through careful, sequential performance of work we get a high- quality product. However, we can’t actually verify this quality until we do the testing of the integrated product, which occurs during a late phase of the process.
  • 46. Employ Minimally Sufficient Ceremony (contd.)  Ceremony : Unnecessary formality
  • 47. Employ Minimally Sufficient Ceremony (contd.)  Set the ceremonial bar at a low level, one that is minimally sufficient or good enough.  Agile isn’t anti-documentation. Adopt an economic perspective and carefully review which documents we create.  Avoid work that adds no short-term or long-term economic value. In Agile, we believe that time and money are better spent delivering customer value.
  • 48.
  • 49.

Editor's Notes

  1. Plan-driven, sequential processes focus on using (or exploiting) what is currently known and predicting what isn’t known.
  2. This helps overcome the issue of not knowing up front exactly how many improvement passes we will need. agile does not require that we predetermine a set number of iterations. The continuous stream of feedback will guide us to do the appropriate and economically sensible number of iterations while developing the product incrementally.
  3. Plan-driven, sequential development requires that important decisions in areas like requirements or design be made, reviewed, and approved within their respective phases. Furthermore, these decisions must be made before we can transition to the next phase, even if those decisions are based on limited knowledge.
  4. Plan-driven processes not only mandate full requirements and a complete plan; they also assume that we can “get it right” up front. The reality is that it is very unlikely that we can get all of the requirements, or the detailed plans based on those requirements, correct up front. What’s worse is that when the requirements do change, we have to modify the baseline requirements and plans to match the current reality
  5. Plan-driven, sequential processes focus on using (or exploiting) what is currently known and predicting what isn’t known.
  6. When using sequential development, change, as we have all learned, is substantially more expensive late than it is early on. To avoid late changes, sequential processes seek to carefully control and minimize any changing requirements or designs by improving the accuracy of the predictions about what the system needs to do or how it is supposed to do it.
  7. With agile, we produce many work products (such as detailed requirements, designs, and test cases) in a just-in-time fashion, avoiding the creation of potentially unnecessary artifacts. As a result, when a change is made, there are typically far fewer artifacts or constraining decisions based on assumptions that might be discarded or reworked, thus keeping the cost more proportional to the size of the requested change.
  8. Scrum leverages several predefined learning loops. For example, the daily scrum is a daily loop and the sprint review is an iteration-level loop.
  9. Parts that are sitting on the factory floor waiting to be put into finished goods are depreciating on the financial books. Worse yet, what happens if we purchase a truckload of parts, and then change the design of the product? What do we do with all of those parts? Maybe we rework the parts so that they fit into the new design. Or worse, maybe we discard the parts because they can no longer be used. Or, to avoid incurring waste on the parts we already purchased, are we going to not change our design (even though doing so would be the correct design choice) so we can use those parts—at the risk of producing a less satisfying product?
  10. Plan-driven, sequential development focuses on diligently following the process. By its very structure, the integration and delivery of features during sequential development happen at the end of the effort. With this approach there is a risk that we will run out of resources (time or money) before we deliver all of the important value to our customers.
  11. Plan-driven development believes that if we follow the plan and do things right the first time, we’ll avoid costly and time-consuming rework.
  12. If testing should indicate that the quality is lacking, we then must enter the costly test-and-fix phase in an attempt to test quality in. Also, because a different team frequently works on each phase, the testing team is often viewed as owning the quality of the result.
  13. If we write a document that is shelfware and adds no value, we have wasted our time and money creating a dead document. However, not all documents are dead.