IGADC Refresher - Part 1
IGADC Refresher - Part 1
Certification Refresher
Part – 1
Sections Covered (Agile Generic)
2
Agile Manifesto
3
Agile Principles
Simplicity
Self-organizing teams
Extreme
Lean Software
Programming Methodologies
Development
(XP)
Crystal Scrumban
Dynamic Systems
Development
5
Method (DSDM)
Agile methodologies
6
Scrum
• Iterative and incremental framework for application or product development
• Achieved through iterative cycles known as Sprint
• At the end of each Sprint, Scrum emphasizes for an fully tested integrated working software and potentially shippable product
• Sprints are strictly time boxed and occur sequentially
• End date of a Sprint does not get extended, irrespective of the completion of the work initially planned
7
Scrum Roles
Product Owner The Team Scrum Master
•Providing the vision of the project to the • Team size should ideally be • Helps the Scrum team to adopt
team around 7 persons (+/- 2) Scrum
•Maximizing the value of the project and • Recommended to be cross- • Helps the team to learn and apply
the work of the Scrum Team
functional with skills Scrum to achieve the desired
•Managing the Product Backlog
• Adheres to Scrum principles objective of the project
•Clearly expressing Product Backlog
items • Self-organized and decides what • Does not tell people what to do or
•Prioritizing the items in the Product to commit and how best to assign tasks, but facilitates the
Backlog accomplish that commitment process
•Ensuring that the Product Backlog is • Accountability of the work • Serves the Team, protects them
visible, transparent and clear product belongs to the team as a from outside interference,
•Change to a Product Backlog item’s whole educates and guides the Product
priority has to discuss with the Product Owner and the Team in use of
Owner Scrum
• Facilitates Scrum events
• Coaches the Team to be cross-
functional
• Removes impediments for the
Team’s progress
• Scrum Master cannot be the
Product Owner, manager of the
Team or the Project Manager
8
Scrum Events: Release Planning Meeting
• Establishes the plan and goals which needs to be achieved for the upcoming Release
• Turn the vision into a successful project in best possible way
• Establishes the goal of the release, high-priority Product Backlog items, major risks and overall features and functionalities
• A probable delivery date is agreed upon; the stakeholders can inspect the progress and make changes to this release plan
on a Sprint-by-Sprint basis
Calculate
Fix the
the
release
number of
Date
sprints
9
Scrum Events : Sprint Planning
• Work to be performed in a Sprint is planned
• Plan is created by collaborative work of the entire Scrum Team
• Consists of two parts, each one being a time-box of half of the Sprint Planning Meeting duration
Promotes “Openness”
as everyone shares
information
Helps to synchronize
Reinforces the activities and
commitment effectively plan for
next 24 hours
Provides data
Helps to focus by
through updated
creating an
Sprint Burn Down
“anticipating culture”
chart on daily basis
Sprint Retrospective
• Inspect the last Sprint with regards to people, relationships, process and tools Steps:
• Discuss what went well during the Sprint, what problems were faced and how they Setting the Stage
were solved Gather Data
• These include Scrum Team composition, meeting arrangements, tools, ‘Definition of Generate Insights
Done’ and methods of communication Decide What to Do
• Create a plan for implementing improvements to the way the Scrum Team works Close the Retrospective
• Scrum master & team attend this meeting
12
Scrum Artifacts: Product Backlog
Product Backlog
– The Product backlog keeps emerging through new ideas and continuous feedbacks from the
Emergent customers
Estimated – The User stories must have the relevant points already
13 Prioritized – The User stories must be ordered based on their importance / priority
Scrum Artifacts: Release Burndown
Release
Burndown
Chart reflects the remaining
Product Backlog items across the
releases
14
Scrum Artifacts: Sprint Backlog
15
Scrum Artifacts: Sprint Burndown
• Represents the amount of Sprint Backlog work remaining in a Sprint across number of days
in the Sprint
Sprint •“Y” axis shows the remaining effort required to complete the work planned and the “X” axis
Burndown contains the number of days until the iteration deadline
• Shows the team their progress towards their goal in terms of how much work remains in the
future
If the actual line of the Burndown chart is behind (i.e. Lagging) the Ideal line, it indicates that the team is not on schedule or as per the plan.
Team needs to adjust, such as to reduce the scope of the work or to find a way to work more efficiently
16
Extreme Programming (XP): Fine Scale Feedback
The term XP is conceptualized from the execution of traditional software engineering practices at extreme
levels.
Following are its features:
Iteration Planning: meeting by the Team to decide upon the tasks and activities,
to accomplish requirements planned for the iteration Shared Programmer
Understanding Welfare
17
Extreme Programming (XP): Fine Scale Feedback
2. Pair Programming:
• Coding is generally followed with code review, and in the extreme case, coding and Fine Scale Continuous
review can happen in parallel. Feedback Process
• Two persons work on the same code. While one programmer is doing the coding,
focusing on the code and program level details, the other programmer has the big
picture and continuously reviews the code
Shared
• The pairs are not fixed and keep on changing thereby helping everybody to be aware Programmer
Understandin
of the entire system Welfare
g
3. Test Driven Development:
• Developer writes the automated test cases before the actual code is written 4. Whole Team:
• Automated unit test cases should inevitably fail at the first attempt of run. If it does
not fail, it indicates the feature already exists or there are some problems with the • Team members are encouraged to be more
automated test case generalized than specialized
• The code is written and the automated test suite is run. Based upon the result, the • Customers are included as part of the Team who are
code is modified always available to respond to the queries and provide
• The units are usually kept small and code is refactored as and when required clarifications.
18
Extreme Programming (XP): Continuous Process
1. Continuous Integration:
• Code base is integrated on a frequent basis from the start of the feature
development
• An automated process in which builds are created from the common
Fine Scale Continuous source code repository
Feedback Process • Helps in identifying integration issues much ahead in the lifecycle which
reduces much of the rework cost.
2. Refactoring:
• Regular improvement of existing design and code without affecting the
functionality
Shared Programmer
Understanding Welfare • Helps to improve the overall code quality
3. Small Release:
• Smaller releases are planned which provide customer the confidence of
the overall progress
• Helps customer to provide suggestions for any changes and helps to
meet the overall goal
19
Extreme Programming (XP): Shared Understanding
The term XP is conceptualized from the execution of traditional software engineering practices at extreme levels.
Following are its features.
Coding Standards:
Fine Scale Continuous
Rules need to be as per the standards defined by language vendors and/or Feedback Process
customized by the Team
20
Extreme Programming (XP) : Roles
21
Extreme Programming (XP) : Activities
Used to communicate
thoughts among Continuous Integration
programmers Testing
Working product is
nothing but code Acceptance Testing
22
Kanban: Principles
Kanban is a Japanese word where Kan means “Visual” and ban means “Card” or “Board”
23
Kanban Principles
•Change management method which •After starting with the existing process,
starts with the existing process the team must agree for continuous,
•Changes are done in the system in incremental and evolutionary change
incremental and evolutionary way •Changes should be small and incremental
•Unlike Scrum, there is no specific process •Rapid and substantial changes may be
or roles defined in Kanban effective but it will be subjected to larger
Agree to resistance as well by the Team
Start with pursue
existing incremental,
process evolutionary
change
Respect the
current
Leadership at
process, roles,
all levels
responsibilities
and titles
•Kanban does not expect leadership from •Though Kanban suggest continuous
a specific set, rather the actions of incremental changes in the process, it
leadership at all levels in the respects current roles, responsibilities and
organization, are very much encouraged job titles
•Helps for the Team to gain the confidence as
they get started with Kanban
24
Kanban: Practices
• Visualizing the work-flow and making it • Flow of work through every state in the
visible to understand how work proceeds workflow is observed, measured and
• Card wall with columns and cards is used informed • Early feedbacks from client and the
to visualize the flow of work • Incremental, continuous and evolutionary pull system
• Different states or steps in the workflow modifications to the system can be • Feedback from different stakeholders
are represented by the columns on the assessed to have negative or positive and processes helps to eliminate risk
card wall effects on the system and optimize delivery process
Improve
Collaboratively, Implement Make Policies
Visualize Limit WIP Manage flow
Evolve feedback loop Explicit
Experimentally
• Limiting WIP implies that a pull system • When teams have a common • Mechanism of a process of how work
is executed on either parts or the understanding of concepts about is truly done and how things actually
whole workflow work, process, workflow and risk, work
• Assigns explicit limits to the number of there is a shared understanding of • With clear understanding, it is possible
items that may be in progress at each problem to hold a more rational, empirical,
workflow state • Suggest enhancement actions which objective discussion of issues.
could achieve a consensus • More likely to facilitate consensus
25 around improvement suggestions.
Kanban Approach
26
Kanban Benefits
Introduction of process, visualization and optimization
Limiting WIP resulting in greater focus on quality thus achieving customer satisfaction
Support for Just-In-Time planning and execution for application maintenance teams
Predictable lead times based on WIP (Work in progress) limits allow committing to SLAs (service-level agreements) and make realistic release
plans, based on critical business needs
Focus on maximizing the flow of work, based on continuous planning and execution
Organizational maturity improves leading to improved decision making and better risk management
Minimized Waste
More accurate and predictable pace ensures team members are never overloaded
28
Planning & Estimation
Essential in software projects to
achieve predictability, reducing
the risks involved and to set a
basic expectation to all
Planning gives the project team stakeholders Estimation is to forecast project
a perspective on how to meet
related variables i.e. effort,
the objective in a systematic
scope, schedule
way
Agile planning balances the effort and Software projects are typically controlled by four major variables i.e.
investment in planning with the knowledge that Schedule, Scope, Cost, and Effort
we will revise the plan through the course of Estimation is a process to forecast these variables to develop or
the project maintain software
3 main challenges faced during estimation:
This is done to avoid the weaknesses like:
• Uncertainty
• Concentrating on activities rather than delivered
• Self-knowledge
feature
• Consistency of Method used for Estimation
• Ignoring the prioritization
Standardized and scientific estimation methods:
• Ignoring the existence of uncertainty
• Helps towards maintaining minimal variance between the planned
• Using estimations as commitments
estimates and actual values for maximum estimation accuracy
• Provides better client experience
30
Planning & Estimation: Project Level
Project Level planning is required to understand:
• Highest level of planning that focuses on impending activities of the project and its
Overall vision
ultimate goal
Roadmap • Creates the macro image of the project and its importance for the stakeholders
• Helps project teams to create priorities and estimations
Value delivery
• Product Owner (or Client/Business manager) is the primary stakeholder involved in
Planning for better risk coverage this activity
• Planning at Project level involves infrastructure planning, quality management
Creation of Product Backlog planning, environment setup planning, tools and reuse planning, build automation
Defining the Releases and continuous integration planning
2. Workshop:
• main purpose of conducting workshops is for gathering, understanding and prioritizing requirements, mainly during the Initiation phase
• group of people collaborate to present different ideas to reach a predetermined objective supported by an impartial facilitator
• there should be a clear idea on what is required and what should be the outcome
• usually conducted to compress timelines (i.e. defining the Releases) and reach a consensus/decision faster
• not the same as brainstorming
• workshops are worthwhile to do once in every 6 months, just to review the direction of the project
31
Planning: Project Level
3. Application Life Cycle Management:
• aids in managing Agile projects by providing mechanisms to deliver software more predictably and to drive business value
• supports development process, project management, metrics and dashboards, compliance reports, sharing artifacts within team
• used for planning and estimating user stories and sharing it within team
• used for building a Product Backlog, Sprint Backlog, establishing team commitment and velocity, visualizing team activity and project
progress via Burn Down charts and reporting on team progress
• efficiently capture, self-assign and manage their tasks
ALM tool facilitates the following activities of the distributed Agile project:
Product and Release Planning i.e. for planning and managing Agile requirements, epics,
stories, and goals across multiple projects, teams, and portfolios
Sprint planning and Tracking i.e. for iteratively planning user stories, defects, tasks, tests,
and impediments in a single environment
Managing project artifacts (Product and Sprint backlog items, Source Code, Development
and Testing artifacts, Test reports)
•Briefs the entire team about the project objectives, business initiatives and the corresponding timelines
Product Owner or deadlines for the completion of the project
•Ensures the software developed will meet the requirements and the correct/expected functionality
Clients & Business Stakeholders •Responsible for participating in the estimation meetings, provide clarification to any doubts/queries
that arise during this activity
Project Manager •Responsible for performing estimation along with the developers and designers
Developers and Designers •Design and build the application to meet the requirements
Testers •Validates the system from functional and non-functional requirements perspective
33
Estimation: Project Level
34
Planning: Release Level
• Organizing and scheduling user stories (i.e. functional/non-functional requirements) that are to be converted into the
working software by the team and delivered for that release
• Team decides number of Sprints, for each of the Release in a time-boxed manner
• Release plan can also mention how long a Sprint will be, how big the team will be, who will be working in the team,
when the first Sprint will start, when the last Sprint will finish, number of Sprints, for each of the Release, duration,
goal and content for each Sprint and Release
• Releases are recommended to be planned anywhere between three to six months based on business context for the
annuity (long duration i.e. more than one year) projects and one to three months for the non-annuity projects
-Product Owners definition of success will be -Identify and estimate the size
Prioritize User Stories
generally driven by these factors. Leading (complexity) of the Product Backlog
indicators to asses these factors are items (i.e. User Stories) based on the Select Stories and Define
schedule, effort or cost business value associated with them -Product owner prioritizes the user Release Date
stories available, so that Agile team
-Product Owner discusses the desired can work on it accordingly based on -Release end date is defined collaboratively with
-Estimates provides key inputs that the business necessity common consensus
objective in Release planning meeting needs to be considered for the
Release planning to define the time -If it is functionality or feature driven, estimates user
lines for the Release as well as for the -Product Owner consults the team stories identified by Product Owner and team are
-When the objective is time\date driven summed up and divided by average velocity of team
duration of the Sprint length while prioritizing, sequencing user
output, Product Owner will expect the from the past releases (if available, else taken from
release to be finished by said date. If the stories for the Release
similar projects)
objective is driven by functionality, Product Prioritization Techniques are defined in
Owner will expect ‘x’ functionalities to be earlier slides This will give number of Sprints required to complete
completed by the end of the Release the desired set of functionalities based on which the
Release end date can be defined
36
Estimation: Release Level
37
Estimation types
• Estimation is done for a user story based on its relationship with one or more reference
• Similar sized user stories are grouped and estimation is done for them together
• For example, a user story “Ability to add payee” is estimated for 40 hrs. If the complexity of user story “Ability to edit payee” is half
of add payee, then the effort required for this story would be 20 hrs
38
Estimation types
Uses estimation cards, which is based on Fibonacci series. It is a relative sizing technique and based
on consensus of the team.
Following are the steps followed
• Each member / estimator has a deck of cards, with each card having a valid estimate
• Moderator (who generally does not play) reads a story and it is then discussed briefly
• Product Owner answers any questions that are raised
• Each estimator selects the card representing their estimate and keeps it facing down (hidden)
• Cards are simultaneously turned over so all can see them
• If estimates differ, then the highest and lowest estimator provides justification
• Re-estimate until consensus is reached on the story points
T-shirt sizing – Each User Story is classified based on t-shirt sizes as XL (eXtra Large), L
(Large), M (Medium), S (Small), XS (eXtra Small) etc.
Fibonacci series – Relative sizing is done based on Fibonacci series 0, 1, 2, 3, 5, 8, 13,
20, 40, 100,
39
Planning : Sprint Level
• Starts the first day of the Sprint and allows the team to be
more specific on what they are going to deliver at the end of
the Sprint
• Team takes inputs from the Scrum Master and prioritized list
from Product Owner
• Team decides on what they can take from the prioritized
backlog for this Sprint, detail out the tasks for each user story
and assign it to themselves
40
Estimation: Sprint Level
• Bottom-up estimation is used in Sprint Planning and tasks are estimated in days /
hours, total of which gives the actual effort for the User Story
• Tasks can be defined related to design, coding, test scenarios, unit testing, test case
execution
• Sprint success means all the parameters are set as part of Definition of Done
• Team members have to own the tasks and estimate for them separately
• Time can be categorized as programming time and non-programming time
• During Release Planning, estimation is done based on relative sizing and gets
automatically considered. During Sprint planning, each task should be estimated by
respective owners
• Tasks are estimated in ideal time. Estimation of ideal time for Tasks translates the
size (measured in story points) to a detailed estimate of effort. This effort is typically
measured in terms of actual days or actual hours. Task estimation is meant for Sprint
Backlog and its existence is within the Sprint Example
Team picks a User Story which may be sized to 5 Story Points. Break it down into a number of smaller working
tasks like designing, implementing and testing.
Team members are asked to sign up for the tasks and estimate the actual effort, measured in hours or
days, for their tasks
When a team uses ideal time for estimating, they refer exclusively time required to get a feature or task
done by the programmer compared to other features or tasks
The effort remaining is displayed in a common place (i.e. Burndown Charts) so that the team is aligned to
meet the estimated goal
For ideal time estimation of tasks, individual team members pick up an activity and provide estimates. If
41 there is a disagreement in these estimates among the team members, then they discuss it and come to
consensus.
Good Practices
1. Estimation for User Story Points:
• Story Point Estimations are reflection of 3 factors
Volume of Work
Complexity
Doubt (i.e. uncertainty/ambiguity in solution)
• Ensure that an estimate reflects the collective understanding of team
2. Team Planning
• Involve the whole team for planning
• With higher involvement, commitment is more from team members
• Team inclined for higher value delivery
3. Frequency of Estimation
• If estimation is difficult, Agile team increases the feedback from the Product Owner to get more clarifications in the
following ways:
1. Shorten the time for estimation and increase it to take feedback about accuracy of estimate
2. Increase the frequency of estimating
3. Sketch out options and get feedback from the client before doing detailed estimation
4. Re-Plan
• Re-plan often, at start of Sprint or Release
• Relevance of the plan has to be evaluated at start of each Release or Sprint and plan is updated
42 • Keeping the relevance of the current plan helps achieve the target
Good Practices
5. Develop Multiple Estimates:
If requirements and assumptions are unclear, the team develops multiple estimates
• Communicate the assumptions or constraints of the estimates to the relevant stakeholders rather than just the numbers
• Discuss the constraints/assumptions with the relevant stakeholders (i.e. Client or Product Owner)
• Client can provide feedback to better align the team's understanding with the business drivers
7. Validate Estimates:
• Team to validate estimates by comparing them with other estimates/experiences, use simple rules, and intuitive decision making
• Once the team has agreed on an estimating unit, they should ensure to implement it consistently and stick to its original definition
• Especially in the projects initial Sprints, everyone should resist the urge to try mapping these units to time units with any exact precision
44
Characteristics of Agile Team Scenarios where certain soft skill and mindset related aspects
can cause failure of Agile projects
• Lack of learning inquisitiveness among Team members
Needs to be • Lack of collaboration among stake holders
quick at learning • Lack of ownership
&
• Interpersonal Conflicts
comprehending
the project • Unwillingness to share and take additional responsibility
requirements • Absence of open and transparent working attitude
Trust, flexibility
and a great deal
Self-organized
of openness
and disciplined Transparency, Discipline and commitment to work
among the team
• The traditional mindset is to follow all processes and • Mind shift is needed, when working in Agile to move from
methods to achieve the goal constraining change to embracing and leading change
Embracing
• Team members used to focus on assigned tasks for • Self-organized and self directing teams.
Self-Organizing
49
Waste Elimination
Type Description Ways to eliminate
Extra Features • Providing or developing more Team must ensure that they get the right information and clarity on scope
functionality than what is required and prioritization of these features (User Stories)
or asked for Team members to participate in the Release Planning meeting and provide
• Occurs because of improper their inputs from the feasibility, interpretations and implementation of these
understanding of the product vision, stories
or scope of the project by the team Team should take frequent feedback from the relevant stakeholders to
validate their understanding of the requirements and providing the right
solution or functionality
Delays • Anything that takes or causes more Team should identify only the mandatory process which would be needed for
time for a value added activity that Sprint
• Caused due to Should not take any activities which they cannot understand or have no
1. unwanted processes knowledge
2. too many things in progress All dependencies should be sorted out by continuous collaboration with the
3. dependencies (internal/external) required stakeholders. If there is any dependency with the Architect for
4. assumptions/clarifications example, for any important review during the Sprint, it has to be identified
upfront and planned appropriately. When the team members are distributed
across locations, they should proactively plan for all logistics and backup plans
for any Video/Audio conferences so that they can avoid any delays due to
infrastructure constraints
Must get all their assumptions clarified at the right time
50
Waste Elimination
Type Description Ways to eliminate
Partially done • User Stories which does not meet the criteria of Complexity of User Stories should be assessed appropriately so
work ‘Definition of Done’ or has incomplete tasks are that the team can pick it up accordingly. If needed, request the
considered as partially done work Product Owner to explain the stories in further detail
• Occurs due to technical complexity that was not When stuck somewhere, proper support/aid should be looked
appropriately anticipated during the Sprint Planning for. Cross-functional teams should be leveraged
meeting, or wait time (long gap) between the tasks Take inputs from the team members while decomposing the user
that were identified for the story completion, or story into tasks
inadequate tasks identification
Defects • indicates erroneous functionality that produces in- Get the complete understanding of the user story by getting
correct output clarifications from Product Owner or required stake holders
• Caused due to Acceptance criteria against each User Story is must. If ignored
1. improper understanding of the User Story leads to inconsistencies in the final acceptance
2. failing acceptance criteria Right skills while working on the project and if required undergo
3. team member’s technical skill incapability trainings to get equipped with right skill sets
4. involvement of testing activities Involve testers for planning, and strategizing the testing activities
right from the Release stage and during every Sprint Planning
stage
Hand-offs • passing the work or tasks from one person to Have cross-functional teams
another Usage of flowcharts and wireframes
• occurs due to nature of tasks required for the user Executing the tasks at one location as much as possible
story, or if teams are distributed between different
locations, or lack of visibility of the information
51
Waste Elimination
Type Description Ways to eliminate
Context Switching • happens when team members have not External dependencies related to infrastructure, or environment
completed the present activities and starts dependencies should be identified up front during sprint planning.
working on another activities Impediments discussed in daily stand-up meeting and let the Scrum
• Occurs due to Master work on them
1. shared team, i.e. same members are Ensure that the User Stories are prioritized during the Sprint Planning
asked to work on another project in parallel meeting else team members would be juggling between stories during
2. various interruptions on the ongoing the Sprint
activities Team members allocated to a project must be dedicated teams. In
3. improper coordination between the team Agile, assigning the team member’s effort across various projects
members would lead to lower productivity of the individuals as well as for the
overall team
Relearning • reinventing the wheel and not using the Regular activities for sharing knowledge amongst themselves. Team
existing knowledge repository available members to participate in all the team meetings
amongst the team Plan for creating the just enough documentation as this is one of the
• Caused due to important artifact for knowledge sharing especially if there are exits or
1. improper knowledge-sharing practices with replacements within the team
in the team When the teams are distributed, it is very important to leverage the
2. lack of needed content or documentation technology aids i.e. WebEx, Skype, Video/Audio Conferencing, etc. as
3. because of distributed teams per feasibility for interacting with different team members across
location and share the knowledge
52
THANK YOU
© 2018 Infosys Limited, Bengaluru, India. All Rights Reserved. Infosys believes the information in this document is accurate as of its publication date; such information is subject to change without notice. Infosys
acknowledges the proprietary rights of other companies to the trademarks, product names and such other intellectual property rights mentioned in this document. Except as expressly permitted, neither this
documentation nor any part of it may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, printing, photocopying, recording or otherwise, without the
prior permission of Infosys Limited and/ or any named intellectual property rights holders under this document.