Agile Capsule (For Distribution)
Agile Capsule (For Distribution)
Atanu Ghosh
[email protected]
While doing this we will talk with reference to software used for
business process applications. However, most of these principles also
apply to managing other types of software like system software or
developing software products, etc.
1
11/9/2021
• They were created and used by a specialised few. Software were like a precious craft
built by skilful craftsmen for consumption of the elite.
• Hence, there was little need to manage the process of creation and use of software.
Management is required when things are done at scale.
• Challenge deepened during Y2K for large scale changes required on existing
programs.
3
• Many software project managers in those days (and it continues these days also in some
cases) were those who had successfully managed large projects in defence,
manufacturing and construction sectors, and were not necessarily from software
industry.
2
11/9/2021
1. Invisibility
2. Indefinability
3. Orthogonality (lack of)
4. Replicability (lack of)
5. Modularity (lack of)
6. Measurability (lack of)
7. Predictability (lack of)
8. Maintainability (lack of)
9. Flexibility
10.Complexity
3
11/9/2021
Waterfall Model
Source: Wikipedia
7
Waterfall Model –
History and Characteristics
1. Linear sequential approach to software development.
6. Royce did not use the term “waterfall”. Royce presented it as a flawed
model. The term was first formally used by Bell and Thayer c. 1976.
4
11/9/2021
Agile: Definition
Evolution of Agile
Transformation
Unsuitability of from IT to Digital
Software Inclusion
manufacturing Productisation Economy
Dev in Scale (“stakeholder BPR
model “2 Speed IT”
win condition)
10
5
11/9/2021
Agile Value #1
11
Agile Value #1
12
6
11/9/2021
Agile Value #2
13
Agile Value #2
14
7
11/9/2021
Agile Value #3
15
Agile Value #3
8
11/9/2021
Agile Value #4
17
Agile Value #4
“Keep breaking your time frames down into smaller chunks. Instead of
one twelve-week project, structure it as twelve one-week projects. Instead
of guesstimating at tasks that take thirty hours or more, break them down
into more realistic six-to-ten-hour chunks. Then go one step at a time.”
18
9
11/9/2021
19
Principle #1
20
10
11/9/2021
Principle #2
21
Principle #3
22
11
11/9/2021
Principle #4
23
Principle #5
24
12
11/9/2021
Principle #6
25
Principle #7
26
13
11/9/2021
Principle #8
27
Principle #9
28
14
11/9/2021
Principle #10
29
Principle #11
30
15
11/9/2021
Principle #12
31
32
16
11/9/2021
Agile at Scale
Agile Practices
34
17
11/9/2021
Agile Practice # 1
User Stories
35
User Stories
• User Stories are description of one or more features of a software written from an end user
perspective in an informal natural language.
• User Stories must not be confused with System Requirement. System requirements are formal
description of user needs. User stories are informal narrative by a user of software features.
• User Stories are also not Use Cases, though there are some similarities. While both may be written
in narratives, Use Cases are formal detailed documents describing a sequence of events that a
system may encounter depending on various business inputs. User Stories are informal and not
detailed. Details evolve from discussions around User Stories.
• The term “User Stories” was first used by Alistair Cockburn (one of the founding members of The
Agile Manifesto) in Chrysler C3 Project (1998): “A user story is a promise for conversation”
• Subsequently, Ron Jeffries proposed the 3C Formula for User Story creation:
• The Card: A physical durable token (often a Post-It Note) to hold the user stories
• The Conversation: Some documented, but mostly verbal, between the stakeholders i.e.
users, developers and testers
• The Confirmation: To ensure that the objectives of the conversation are met
36
18
11/9/2021
• Role
• Requirement (Feature)
• Reason
3. Format:
37
Example:
Quiz:
Assume that you and your team are entrusted with developing an
online grocery portal similar to Salt n Soap (saltnsoap.com). Can you
create a simple User Story for the portal?
38
19
11/9/2021
User Story 2: As a shopper, I want to find the products on deal fast so that I
can save on my grocery bill.
User Story 3: As a shopper, I want to add many products in the cart without
opening multiple pages of the website so that I can save time on creating the
shopping cart.
User Story 5: As a category manager, I want to add new products with their
prices and discount, if any, so that they can be discovered by shoppers.
39
Epic
40
20
11/9/2021
Task
41
Agile Practice # 2
Time Box-ing
42
21
11/9/2021
Time Box-ing
43
Agile Practice # 3
Pair Programming
44
22
11/9/2021
Pair Programming
1. Two programmers work together on the same piece of work at the same
workstation.
2. At any point of time one programmer is a driver who writes the code while the
other programmer is a observer or reviewer who reviews every piece of code as
it is typed in.
45
Pair Programming
46
23
11/9/2021
Agile Practice # 4
Sprint
47
Sprint
48
24
11/9/2021
Sprint Planning
49
Sprint Closure
• Sprint Review
• Sprint Retrospective
50
25
11/9/2021
Agile Practice # 5
Product
51
Product
52
26
11/9/2021
Agile Practice # 6
Story Point
53
Story Point
• Story Point is consensus based abstract estimation of Backlogs on a relative scale often
implemented through gamified techniques like using Poker Cards.
• Story Point is defined in terms of numbers usually organised in Fibonacci sequence (0, 1,
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …).
• Reason for using Fibonacci sequence for Story Point is the inherent uncertainty in
estimating larger items.
• In Sprint Planning stage all members collectively agree the number of story points that
can be covered during the Sprint. Over a period of time this can get standardised for a
sprint of a specific time box (say, 2 weeks).
• Then the members select the Product Backlog Items (PBIs) in order of priority till the
story points add up to that can be completed during the Sprint. This is aligned to time
box-ing technique where time is fixed and scope is adjusted according to time available.
• Note: By legitimising Story Point estimation technique Agile inherently accepts the
inability to estimate software development work in terms of man months. This was the
same sentiment expressed in The Mythical Man Month.
54
27
11/9/2021
Let us take the following User Stories. Let us consider a 2 week Sprint when the Task of creating a
wireframe for each User Story is taken up. Assume total Story Points that can be taken up in the Sprint
is 100. Estimate the Story Point for the Task taken up in the Sprint for each User Story.
User Story 2: As a shopper, I want to find the products on deal fast so that I can save on my grocery
bill.
Story Point: ?
User Story 3: As a shopper, I want to add many products in the cart without opening multiple pages of
the website so that I can save time on creating the shopping cart.
Story Point: ?
User Story 4: As a shopper, I want to see the content of my shopping cart anytime including the
products, number of units, per unit price and total price, grand total price, shipping cost and any other
cost so that I can make a decision whether to purchase any more product, add or reduce quantities or
remove any product from the shopping cart.
Story Point: ?
User Story 5: As a category manager, I want to add new products with their prices and discount, if any,
so that they can be discovered by shoppers.
Story Point: ?
55
56
28
11/9/2021
Agile Practice # 7
Backlog
57
Backlog
• Backlog is an ordered list of incomplete (not done) user stories.
• Must Have
• Should Have
• Can Have
• Won’t Have
29
11/9/2021
Sprint Backlog
• Note how time is made the independent variable and scope the
dependent variable in Agile value in sharp contrast to traditional
SDLC where scope is the independent variable and time is
estimated based on scope by using different estimating
techniques.
• By using the term Backlog, Agile legitimises the fact that all work
may not be completed in a timeboxed Sprint and will be carried
forward in the next Sprint as “backlogs.”
59
Backlog Refinement
• This ensures the quality of User Stories defined and any change in
User Stories that might need to be accommodated before they
become Sprint Backlog on whom developers will work.
60
30
11/9/2021
Agile Practice # 8
61
Scrum in Rugby
31
11/9/2021
Agile Practice # 9
Kanban
64
32
11/9/2021
• Kanban ensures unhindered flow of materials and minimum inventory build up through supply
chain by ensuring that materials move downstream only a signal is received from downstream that
there is available capacity to process the material for the next stage.
• Since in this process materials arrive “just in time” when the manufacturing facility is released for
production of next lot, Kanban is a method to facilitate Just in Time.
• Upstream facility understands whether the capacity of downstream facility is available or full to
process the next lot by visual cards (Kanban) displayed on each workstation and visible from a
distance. Hence the name of this technique is Kanban. Now, of course, such signals are passed on
through computerized systems.
• Kanban thus works on pull from downstream entity rather than push from upstream entity.
• Any inventory build-up, if at all, is pushed upstream thereby ensuring that the value locked in the
inventory is lower.
65
Kanban in Manufacturing
66
33
11/9/2021
Kanban in Manufacturing
67
68
34
11/9/2021
69
Roles
70
35
11/9/2021
Product Owner
71
Scrum Master
36
11/9/2021
Developers
• Developers may perform different tasks like coding, testing, etc. but they
are collectively called developers
• Can you list some of the key differences in roles with traditional software
project governance structure?
73
• No Team Leaders
74
37
11/9/2021
Thank You
38