100% found this document useful (7 votes)
1K views

Agile Software Development

This document provides an overview of an agile software development course taught by Umair Khalid. It introduces the instructor's background and qualifications. The course will cover fundamental agile concepts, frameworks like Scrum and SAFe, tools, and real-world problems and solutions. Students will learn through structured content, discussions, assignments, and a team project. The course outline includes topics like agile testing, design thinking, and DevOps. Marks will be distributed across quizzes, assignments, projects, and a final exam.

Uploaded by

Fajar Akhtar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
100% found this document useful (7 votes)
1K views

Agile Software Development

This document provides an overview of an agile software development course taught by Umair Khalid. It introduces the instructor's background and qualifications. The course will cover fundamental agile concepts, frameworks like Scrum and SAFe, tools, and real-world problems and solutions. Students will learn through structured content, discussions, assignments, and a team project. The course outline includes topics like agile testing, design thinking, and DevOps. Marks will be distributed across quizzes, assignments, projects, and a final exam.

Uploaded by

Fajar Akhtar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 180

Agile Software

Development
Umair Khalid
About the Instructor
Academic
Current Work Areas of
Qualificatio
Positions Experience Expertise
n
VP
Collaboration, 15+ years Agile PhD – MS
AgilePK

Head of TPS DevOps


MS – MS
DevOps, TPS Pakistan
SQA
Research MBA –
Scholar
Mazik Global Process Marketing
Improvement
Visiting Faculty, eDev BS – Comp
University of Entrepreneurship
Karachi Technologies Science
What Will You Learn?
Fundamental Concepts of Agile

Application of Concepts in your Respective Roles

Emerging Concepts and Processes

Latest Technologies to Support Agile

Popular Tools for Agile Adoption

Real World Problems and Solutions

Career Path as an Agile Practitioner


Course Outline

Scaled Agile
Introduction to Agile SCRUM in Framework for DevOps as a
Agile Frameworks Practice Enterprises Way Forward
(SAFe)

Agile Adoption in
Servant Agile for
Pakistani Design Thinking Agile Testing
Leadership Developers
Context

Guest Speaker Selenium


JIRA Workshop Course Project
Session Workshop
Ground Rules
Mode of Learning
Structured Content

Class Discussions

Real-life Scenarios

Case Studies

Individual Assignments

Quizzes

Fun Activities

Team Projects

Guest Speakers

Workshops
Tentative Marks Distribution
▪ Quizzes (30%)
▪ Assignments (20%)
▪ Project (20%)
▪ Final Exam (30%)
Introduction to
Agile
Welcome to Agility

It is not the strongest that
survives, nor the most
intelligent, but.....
the one most responsive to
change.

Charles Darwin
Evolution to Agile
Lean Thinking
What is the meaning of agile?
What is Agile Then?
Why you need to adapt to change?
Activity: Reflective Writing
Think about an experience that you could learn from. It doesn't matter if it went
well or if it went badly. Use the prompts below to write a longer reflective piece
on the experience.

Looking back at the experience, reflect on:


• Your expectations before the experience
• How you approached it
• Which parts you found easy/hard

Think about what you learned as a result:


• How did your knowledge and understanding change?
• What would you do differently if faced with a similar situation?

Consider how you might use your learning in the future:


• How might you put into practice what you have learnt?
• What challenges might you face?
• How would you deal with these?
12 Agile Principles
Minimum Viable Product (MVP)
ASSIGNMENT NO. 1
♦ Identify a problem that can be solved through a Mobile App
♦ Perform a high-level competitor and market analysis
♦ Think of a Mobile Application (Innovation preferred but not
necessary) vision
♦ Create a Product Backlog (Features, Value Addition, User
flows and/or User Stories)
♦ Prioritize the Features (80/20 Rule)
♦ Define the first version of MVP
The Two Extremes

Ritual Philosophical
What is Agile Development?


Method of building software by
empowering and trusting
people acknowledging change
as a norm and promoting
constant feedback
Agile Success Rate
Traditional vs Agile Process
Traditional vs Agile Methodology
Top Five Benefits of Adopting Agile
Agile Maturity
Why Does Agile Fail?
Success Stories

▪ Google ▪ Electronic Arts


▪ Amazon ▪ Facebook
▪ IBM ▪ Twitter
▪ Salesforce ▪ Dropbox
▪ Yahoo ▪ Intel
▪ Microsoft ▪ Nokia
▪ Time Warner ▪ General Electronics
▪ Lockheed Martin
A Case Study
Myths and Clarifications

1. Agile means unplanned 1. Agile needs adaptive


planning
2. Agile is only for small 2. Agile can be scaled and has
projects proven its effectiveness for
large projects also

3. Agile encourages minimal


3. Agile teams don’t produce
and necessary
documentation
documentation
4. Agile Principles are in-line
4. Agile has low quality, with quality concerns
maintainability and security
What is Framework?
A framework is a loose
but incomplete
structure which leaves
room for other practices
and tools to be included
but provides much of the
process required.
Popular Agile Frameworks
Scrum, Kanban, ScrumBan, SAFe, LeSS, Disciplined Agile
Kanban
Kanban is a popular framework
used to implement Agile software
development. It requires real-time
communication of capacity and full
transparency of work. Work items
are represented visually on a kanban
board, allowing team members to
see the state of every piece of work
at any time.
SCRUM
Scrum is a lightweight
framework that helps
people, teams and
organizations generate
value through adaptive
solutions for complex
problems.
Scrumban
Scrumban is an Agile
development methodology that
is a hybrid of Scrum and
Kanban. Scrumban emerged to
meet the needs of teams who
wanted to minimize the batching
of work and adopt a pull-based
system. ... Scrumban can also be
used as a stepping stone for
teams seeking to transition from
Scrum to Kanban.
Comparison of Popular Lightweight Frameworks
SoS
a scaled agile technique that
offers a way to connect
multiple teams who need to
work together to deliver
complex solutions. It helps
teams develop and deliver
complex products through
transparency, inspection, and
adaptation, at scale.
LeSS
LeSS is a framework for
scaling scrum to multiple
teams who work together on a
single product. It starts with a
foundation of one scrum team
and applies to multiple teams
who work together on one
product.
SAFe
Summing it all together, while
Agile is a way of working, a
mindset, Scrum is a
framework largely based on
Agile principles & values and
SAFe on the other hand is a
scaling framework that is used
for implementing agile at an
enterprise level
DAD
Disciplined Agile Delivery
(DAD) is a people-first,
learning-oriented hybrid agile
approach to IT solution
delivery. It has a risk-value
delivery lifecycle, is goal-
driven, is enterprise aware,
and is scalable.
Comparison of Scaled Agile Frameworks
Project Activity

▪ Create teams of 5 members each


▪ Assign roles of Product Owner (1), Scrum Master (1),
Developers (2), UI/UX Designer (1)
▪ Select another group from this class as your customer(s)
▪ Create a GitHub Repository and share with the instructor
▪ Create a product vision: Articulate your far vision and
your near vision, identify your stakeholders.
SCRUM
Values, Practice and Exercises

47
Scrum is…
 Process framework 
 It’s not a process or methodology 
 Light-weight 
 That makes it easy to understand 
 But, hard to master 
 Scrum is flexible and allows other agile practices like XP and Lean to plug-in. 
 Based in empiricism 
 All Scrum artifacts should be transparent to all stake holders
 All Scrum roles are empowered to do their job right. 
 All Scrum meetings allow collaboration and opportunities for
inspection and adaptation. 
 In scrum, the process is constantly adjusted (if needed) based on
the short and continuous feedback loops.
Defined Process
● Follows pre-defined steps to
achieve an Output. 
● Suitable when the output is
well defined. 
● Same output is expected
every time the process is
followed. 
● Best suites for problems
those fall into “Simple” and
“Complicated” problem
domains.
Defined Process
● Follows pre-defined steps to
achieve an Output. 
● Suitable when the output is
well defined. 
● Same output is expected
every time the process is
followed. 
● Best suites for problems
those fall into “Simple” and
“Complicated” problem
domains.
Three Legs of Empirical Process
 Transparency
All artifacts of the process are visible to all the stakeholders.
This helps stakeholders to inspect the current state and take any
required action.
 Inspection
Frequent inspection of artifacts helps stakeholders to make any
changes to achieve the goal.
 Adaptation
Continuous improvement by adjusting the process based on the
inspection.
Incremental Development
Incremental development is to build small increment
of a full fledges product. Each increment adds more
software - like adding bricks to a wall. After lots of
increments, you've got a big wall.
Iterative Development
Iterative development is to build something, get
some feedback, then refine it to make better,
keep doing that until the product is good
enough. 
Defined Process
Simple: These problems are those we know
what to do and how to do. Eg. Stuffing 1000
envelops with flyers. 
Complicated: These problems require
specialized skill. Once you have an expert,
they know how to do this. Eg. Java developer,
DBA etc. 
Complex: There is no way to reduce
uncertainty on what to do or how to do other
than working iteratively. Scrum works best
in this problem domain. Eg. Software
development. 
Chaotic: Problems in this region are out of
control. First the problem need to be
stabilized to one of the other problem
domains and then apply the right method. Eg.
Production database is down.
Scrum Values
Focus: Because we focus on only a few things at a time, we work
well together and produce excellent work. We deliver valuable
items sooner. 
Courage: Because we work as a team, we feel supported and
have more resources at our disposal. This gives us the courage to
undertake greater challenges.
Openness: As we work together, we express how we're doing,
what's in our way, and our concerns so they can be addressed. 
Commitment: Because we have great control over our own
destiny, we are more committed to success. 
Respect: As we work together, sharing successes and failures, we
come to respect each other and to help each other become worthy
of respect.
Scrum Framework
Scrum has…
3 Roles
The Scrum Master
The Product Owner
The Development Team
4 Meetings
Sprint Planning
Daily Scrum
Sprint Review
Sprint Retrospective
3 Artifacts
Product Backlog
Sprint Backlog
Product Increment
1Activity
Product Backlog Refinement
Product Vision

Product vision statement is ▪ Customer Focused


few sentences that talks about ▪ Stretch but not unrealistic
the motivation behind the
▪ Differentiation
product. Since the product
owner is responsible for success ▪ X years down the road
of the product, he/she leads the ▪ Different from Company
creation of Product Vision. vision
▪ Different from product
strategy
Product Vision

▪ For (target customer) For a mid-sized company's marketing


▪ Who (statement of the need or and sales departments who need basic
opportunity) CRM functionality, the CRM-
Innovator is a Web-based service that
▪ The (product name) is a (product provides sales tracking, lead
category) generation, and sales representative
▪ That (key benefit, compelling support features that improve
reason to buy) customer relationships at critical touch
▪ Unlike (primary competitive points. Unlike other services or
alternative) package software products, our
product provides very capable services
▪ Our product (statement of primary at a moderate cost."
differentiation)
ACTIVITY

Based on the learning of this class, evaluate


the Product Vision of Assignment No. 1 and
re-write it
Product Backlog

● Description – Details of the


item. 
● Value – What business
value this item would
provide. 
● Estimate – Effort estimate
to build this item. 
● Order – The order in which
the items should be worked on
Product Backlog
● Detailed Appropriately: Higher order items
are more detailed and well understood
compared to lower order items. 
● Estimated: Product backlog items are
estimated in relative sizes by development
team. Product owner orders the items based
on value and the cost. 
● Emergent: Product backlog is a living
artifact. It is always updated for details,
estimates and order. The life of the product
backlog is same as life of the product itself. 
● Prioritized: Product backlog items are
ordered based on the priority. The order is
force ranking (1,2,3..) so that there are no
competing priorities
Product Backlog Template

Microsoft Excel
Worksheet
Product Backlog
Refinement
Product Backlog
Refinement
User Stories
User Stories
INVESTMENT
User Stories Estimation

Story Points Ideal Days

▪ Indicates how big an item is.  How long it will take in days if
▪ A 4-point item is two  times ▪ It’s all you worked on 
bigger than a 2-point item. 
▪ No interruptions 
▪ Unit less
▪ No impediments
▪ Story points are additive, time-
based estimates may not be.
▪ Story points avoids unit confusion
Planning Poker
 Each estimator is given a deck of cards that contains numbers 1, 2, 3, 5, 8, 13, 20. This number
series is a modified Fibonacci series. There could be other series some teams use. 
 Team combs through the product backlog item and picks an item that is well understood and assigns
a 2 or 3 to it. This is the reference story for other items. Team might pick another item with is 5 or 8
so that there are two reference stories. Now the team is ready to estimate. 
 Product owner reads the product backlog item/story. Team asks any questions to understand the item
better. 
 All team members pick their number, but keep it face down at this point. 
 All members show the number at once so that there is no influence on each other.
 Members with who picked low and high numbers give their point of view 
 Team estimates again based on new learning from the discussion. 
 After 2 or 3 rounds, the estimates are expected to converge. Team finally agrees to a number.
ESTIMATION ACTIVITY
Master Bedroom 20ft x 16 ft – Walk in closet
Store Room – 4ft x 6ft
Kid’s Bedroom – 12ft x 12ft
Guest Bedroom – 10ft x 10ft
Study Room – 10ft x 10ft – book shelves
Living Room – 14ft x 14ft
Family Room - 20ft x 18 ft - High Ceiling
Foyer – 6ft x 12 ft
Characteristics of Product Owner

Available Accountable

Domain
Empowered
Aware
Scrum Master (General Responsibilities)
 Teaches Scrum to the team and the rest of the organization. 
 Ensures that Scrum is understood and enacted. 
 Facilitates all scrum meetings as needed and requested. Makes sure that the
meetings are happening. Coaches the team on how to complete the time
within the timebox for that meeting. 
 Responsible for building the product fast by eliminating the waste.
 Makes sure that collaboration is happening in the scrum team. 
 A servant-leader for the Scrum Team. 
 Acts as a change agent that increases the productivity of the Scrum Team.
Scrum Master (Responsibilities to PO)
 Helps product owner prioritize the work. Teaches PO and stakeholders
value based prioritization. 
 Finds and teaches techniques for effective Product Backlog management to
Product Owner. 
 Helps the Scrum Team understand the need for clear and concise Product
Backlog items. 
 Helps Product Owner understanding product planning in an empirical
environment.
 Ensures the Product Owner knows how to order the Product Backlog items
to maximize value.
Scrum Master (Responsibilities to Team)
 Identifies the impediments those are blocking the team to progress and help
resolve them as quickly as possible. Scrum master goal is to make sure the
team is productive. 
 Coaches the Development Team for self-organization and cross-
functionality. 
 Coaches the Development Team in organizational environments in which
Scrum is not yet fully adopted and understood. 
 Acts as a change agent that increases the productivity of the Scrum Team.
 Coaches teams on how to become hyper productive.
Scrum Master (Responsibilities to Organization)
 Assess the readiness of the organization to implement scrum. 
 Leads and coaches the organization in its Scrum adoption. 
 Works with other Scrum Masters to increase the effectiveness of the
application of Scrum in the organization. 
 Helps employees and stakeholders of the organization understand and enact
Scrum and empirical product development. 
 Helps optimize the external interactions with the scrum team to maximize
the value created.
Scrum Events
▪ Sprint Planning
▪ Daily Scrum
▪ Sprint Review
▪ Sprint Retrospective
Sprint is Protected
What Happens in Sprint Planning
The purpose of the sprint-planning meeting is to arrive at a commitment to
a sprint goal or set of product backlog items. The purpose of the meeting is
not to come up with a list of tasks and hours. The tasks and estimates are a
tool for determining what we can commit to. 
Sprint Planning answers the following: 
● What can be delivered in the Increment resulting from the upcoming
Sprint?
● How will the work needed to deliver the Increment be achieved? 
Topic 1: What can be done in this sprint?
● The Product Owner discusses the objective that the Sprint should
achieve.
● Product owner discusses the details of the items those need to be worked
on in the sprint. 
● Team forecast backlog items they think could implement in the sprint.
● Once the items are forecasted Team and Product owner crafts the sprint
goal.
Topic 2: How does the chosen work get done?
● Once the items for the sprint are selected, team discussed how it is going to implement
them. 
● Team talks about solutions, design, automation strategy and everything that is required
to implement the items based on the “Definition of Done”.
● Team writes tasks required to implement each backlog item. Size of the tasks is
generally smaller such that they could be completed in a day. 
● During this time, Product Owner should be available to answer any questions team
might have. 
● It is completely up to the team to decide on how to implement the items.
● Team only can decide how many items it can implement.
Sprint Goal
Sprint Goal
How much to take on?
How much to take on?
Daily Scrum
Who Attends? Team and ScrumMaster

When Happens? Every day of the sprint

Time-box 15 minutes regardless of length of the sprint

Input ⮚ Sprint backlog


⮚ Sprint Goal

Outcome ✔ Plan for next 24 hours


✔ List of impediments if any
The 3 Questions

1. What did I do yesterday that helped the Development


Team meet the Sprint Goal?
2. What will I do today to help the Development Team meet
the Sprint Goal?
3. Do I see any impediment that prevents me, or the
Development Team from meeting the Sprint Goal?
Sprint Review
Who Attends? Product Owner, Team and ScrumMaster

When Happens? Last day of the sprint

Time-box 4 hours for 4 week sprint


Input ⮚ Product backlog
⮚ Product Increment
⮚ Market Conditions
Who Attends? Product Owner, Team and Scrum Master

Outcome ✔ Feedback on product


✔ Updated product backlog
✔ Direction for the product
What Happens?
● Development team demonstrates the product increment built in the sprint
to all attendees.
● Team talks about any impediments they have to work through while
building the product.
● Stakeholders could give feed back if any.
● Product owner presents the product backlog as it is and discusses what is
done and what is not.
● Stakeholders talk about market conditions, future direction etc.
● Product owner updates product backlog based on new learning.
Sprint Retrospective
Who Attends? Product Owner, Team and ScrumMaster

When Happens? Last day of the sprint

Time-box 3 hours for 4 week sprint

Input ⮚ Experiences in the sprint


⮚ Current practices

Outcome ✔ Prioritized list of improvements


What Happens?

o What went well?


o What didn’t go well?
o What are the improvements?
Definition of Done
Product Increment
Should the team always release the Product
Increment?
● It depends. If the product increment that is produced is usable and adds
value to the business, Product owner may choose to release it right away.
● Though the product increment is working, it may not be feature complete
and product owner may not want to release it.
● Some businesses don’t want to surprise their customers too often by
frequent release.
● Whether the product increment is shipped or not, building working
software every sprint eliminates the technical uncertainty.
Let’s Plan a Release
Let’s say the release backlog of size 100 points. The team ran 4 sprints and had
velocities of 8, 11, 9, 10.
Average velocity for 4 sprints: 38/4 = 9.5
Best velocity : 11
Worst velocity: 8
Remaining points after 4 sprints: 62
Required sprints to complete 62 points
@ Average velocity : 62/9.5 = 7 sprints (rounded up)
@ Best velocity : 62/11 = 6 sprints (rounded up)
@ Worst velocity: 62/8 = 8 sprints (rounded up)
Development Team (Characteristics)
▪ The Development Team consists of professionals who do the work of delivering a
potentially releasable Increment of “Done” product at the end of each Sprint.
▪ The size of a development team is 5 to 9 members.
▪ Teams less than 3 are too small to call a team where as greater than 9 are too big to self
organize.
▪ A development team has a common goal of delivering the product increment at the end of
the sprint to achieve the sprint goal.
▪ There are no functional silos like programmers, testers, UI designers etc.
▪ Everyone in the team is expected to contribute to best of their ability to achieve the goal.
▪ A hyper productive scrum development teams are cross-skilled and are usually able to
perform several different tasks.
Development Team (Decisions)
▪ What backlog items to work on in a given sprint?
▪ How to implement the items with regards to technology and design etc?
▪ Work allocation and capacity planning.
Development Team (Responsibilities)
▪ Quality of the product increment.
▪ Create the product increment.
▪ Participate in all Scrum meetings.
▪ Implement good engineering practices like Continuous Integration,
Automation, Collective Ownership, Clean code, Simple design etc.
▪ Create and manage the sprint backlog.
▪ Identify and eliminate “Technical Debt”.
▪ Track progress of the sprint.
▪ Helps product owner in backlog management by explaining technical
constraints.
▪ Estimates Product Backlog items.
ASSIGNMENT NO. 2
Create User Stories with estimation and Acceptance criteria for
following features of doctor appointment mobile app project
a. Login Screen g. Payment Option
b. Registration Screen h. Categories for doctors
c. Calendar of Doctors i. Charges of doctors
d. Choose City j. Rating of doctors
e. Doctors Visit Request h. Reports
f. Admission in Hospital i. Dashboards
DevOps, CICD and
Automation
50+ daily How often do the
high performing
Every 11.7 organizations
secs
deploy their code
<60 Secs
now a days?

106
www.agile.org.pk | [email protected] | #AgilePK
What is it all about?

Productio
Code
n
What is it all about?

Productio
Code Build n
What is it all about?

Code Build Test Production


What is it all about?

Productio
Code Build Test Stage n
Problem of Manual Delivery Pipeline

Error-
prone Re
s iv a qui
en tra lot res
x p e in of
E ing
Automated Software Delivery Pipeline
The Need of Continuous Delivery

Is it part
of Agile?
The Need of Continuous Delivery
1. Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software.

Is it part
2. Welcome changing requirements, even late in development. Agile processes harness
change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months,

of Agile? 4.
5.
with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support
they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behavior accordingly.
The Need of Continuous Delivery
1. Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software.

Is it part
2. Welcome changing requirements, even late in development. Agile processes harness
change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months,

of Agile? 4.
5.
with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support
they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and
users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is essential.
11. The best architectures, requirements, and designs emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behavior accordingly.
Related Concepts

“A software development discipline


where you build software in such a
way that the software can be
released to production at any time”

“DevOps is a set of practices
Summary and cultural changes —
supported by automation tools
and Lean processes — that
creates an automated software
delivery pipeline, enabling
organizations to deliver better-
quality services and applications
faster.”

Forrester
Background

Pre 2000’s 2000’s 2010’s


Waterfall Development Iterative Agile Development Lean with DevOps
Cycle time: Months or Years Cycle time: Weeks or Months Cycle time: Hours or Days
Idea Idea Idea

Business Business Business

Development Development Agile Development

DevOps
Test/ Quality Test/ Quality Test/ Quality
Assurance Assurance Assurance

Operations Operations Operations

Customer Customer Customer


Friction
www.agile.org.pk | [email protected] | #AgilePK
Elaborating
DevOps
Values &
Principles

Tools & Culture &


Technologies DevOps Mindset

Methods &
Practices

DevOps Perspectives
How Quickly You can Move your Code to
Production?
Reasons
Success Stories

Lloyds Banking Group can trace its


history back to 1765 – no company is
400-800 devs at any Receives and processes 6 too old to implement a DevOps model!
given time million applications a year Fintech companies are disrupting the
Supporting 10 2000 IT Employees financial services industry – reaching
million lines of code $500 million IT budget younger customers, developing new
Only 2 releases per payment methods, and quickly reacting
year to changes to the market. Traditional
banks don’t want to be left behind.

www.agile.org.pk | [email protected] | #AgilePK


DevOps Tools
Plan
Deploy
• JIRA
• TFS
• IBM Rational
• HPQC • Docker
• Ansible
Code • Chef
• Puppet

Integration
Integration Operate
• Jenkins
• TFS
• Build
TeamCity
• Bamboo

• • Nagios
• Jenkins
Selenium • Splunk
• TFS Monitor
• CodedUI • NewRelic
Test • TeamCity
• QTP • ELKStack
• • Bamboo
Cucumber
ALM Tools Comparison
Features Vendors
JIRA TFS IBM Rational HPQC
Support multiple methodologies
Requirement Traceability
Online/Offline specification authoring
Wikisupport
Advanced workflows
Project planning
Portfolio planning
Risk Management
Story point support
Epic support
Task management
Defect management
SCM integrations
Test management
Test planning
Test case management
Advanced reporting
Knowledge repository
Multisite support      

Multilingual support
CI Tools Comparison
Features Vendors
Jenkins TFS TeamCity Bamboo
Support multiple methodologies
Requirement Traceability
Online/Offline specification
authoring
Wikisupport
Advanced workflows
Project planning
Portfolio planning
Risk Management
Story point support
Epic support
Task management
Defect management
SCM integrations
Test management
Test planning
Test case management
Advanced reporting
Knowledge repository
Multisite support      

Multilingual support
  Chef Puppet Ansible

Availability High High High

Ease of Setup Not very easy Not very easy Easy

Client Side Workstation Agent SSH

Scalability High High High

 Management Not very easy Not very easy Easy CD Tools


Learning Curve High High Low
Comparison
Configuration Language DSL (Ruby) DSL (Puppet) YAML

Focus Node & Code Node & Code App Deployment

Plugins and Integration Medium Medium High

Customizability Low Low Medium

Community Large Large Huge

 Pricing (upto 100 nodes) $13700 $11200-$19900 $14,000


Orchestration
Tools
Cloud Services Comparison
DevOps Challenges

Automating Software Delivery Pipeline

Aligning Various Perspectives

Environments Management
The Capability Challenge

A
bilities
wareness
pproach
Solution

A
bilities
Dedicated and Trained Automation
Team
Stakeholder
wareness onboarding, Pilots,
Sessions

pproach Risk based, Right


tools, Intelligent
The Perspective Challenge

O
rganization
rientation
wnership
Solution

O
Use DevOps
rganization Recommended
Patterns

rientation Collaboration,
Empathy

wnership Trust, Empowerment,


Self-managed Teams
The Environmental Challenge

I
nfrastructure
ntegration
solation
Solution

I
nfrastructure Plan, Budget, Codify
ntegration Auto-triggering, Rollback, Alerts
solation SREs, Synchronization, Config
Management
Environments Management
Frequently Asked Questions
▪ Is DevOps only for companies with cloud products?
▪ Is DevOps all about implementing tools and technologies?
▪ Does placing a new team between Dev and Ops will ensure
DevOps?
▪ Should we overhaul our entire Ops tools and technology stack
immediately to do DevOps?
▪ Does DevOps require co-location of Dev and Ops teams?
Teams and
People
Management
Agenda

Facilitation
Coaching
Servant Leadership
Facilitation

Facilitation is the process of designing and conducting a


successful meeting or event that has a particular
objective. Facilitation serves the needs of any group, who
are meeting with a common purpose. The person who
facilitates the meeting is called a “Facilitator”.
Facilitator Characteristics

● Facilitator does not stand in front of the group and lecture 


● Facilitator is an active unbiased member of the learning process 
● Facilitator has to skillfully assist the group to understand their common
objectives, and to help them to achieve these objectives without taking
sides in any arguments 
● Facilitator guides and helps to achieve consensus
Basic Skills of a Facilitator

● Follows good meeting practice


● Time keeping 
● Run the meeting on agreed agenda 
● Assisting the group to brainstorm and problem solve 
● Ability to intervene in a way that adds creativity to a discussion rather
than leading the discussion 
● Ability to understand the group dynamics include: 
o Who is dominating the group? How to stop him/her 
o Who is withdrawn? How to involve him/her 
o Who looks bored? How to get their attention
Fist to Five
Dot Voting
Coaching

“An informal relationship


between two people, of whom
one has more experience and
expertise than the other and
offers advice and guidance as
the latter learns.” 
Difference between Coaching and Consulting
Consulting Coaching
• Identify and correct the problem ▪ Helps to find solutions
• Considered a silver bullet ▪ Helps organizations to change
for better
• Often short term
▪ Long-term and sustainable
• May give sudden spike in results
improvement ▪ Gives progressive elaboration
• Implementing consultant’s ▪ helps you to review and refine
your own solution to make it
solution work
How Scrum Master can become a Good Coach

• Lead by Example
• Keep up the Balance
• Set Realistic Pace
• Be Cautious About your Language
• Open to Learn
• Accept Feedback

▪ “As we look ahead into
the next century,
leaders will be those
who empower others.”
- Bill Gates
Servant Leadership

Servant leadership is a
philosophy and set
of practices that enriches the
lives of individuals, builds
better organizations
and ultimately creates a more
just and caring world. 
Servant Leadership Requirements
Listening

Empathy

Healing

Awareness

Persuasion

Conceptualization

Foresight

Stewardship

Commitment to the Growth of People

Building to the Community


Microsoft Azure
Azure Key Concepts
Regions Data Center Azure Portal

Resource
Resource
Resources Manager
Groups
Templates

Azure
Azure Power
Automation Command
Shell
Line Interface

Rest APIs
Azure is a global cloud platform which is available across various regions around the
Regions world. When you request a service, application, or VM in Azure, you are first asked to
specify a region. The selected region represents datacenter where your application runs.
In Azure, you can deploy your applications into a variety of data centers around the
Datacenter globe. So, it is advisable to select a region which is closer to most of your customers. It
helps you to reduce latency in network requests.
The Azure portal is a web-based application which can be used to create, manage and
Azure portal
remove Azure resource and services. It is located at https://portal.azure.com.
Azure resource is an individual computer, networking data or app hosting services which
Resources charged individually. Some common resources are virtual machines( VM), storage
account, or SQL databases.
An Azure resource group is a container which holds related resource for an Azure
Resource groups
solution. It may include every resource or just resource which you wants to manage.
Resource Manager It is a JSON which defines one or more resource to deploy to a resource group. It also
templates establishes dependencies between deployed resources.
Azure allows you to automate the process of creating, managing and deleting resource
Automation:
by using PowerShell or the Azure command-line Interface(CLI).
PowerShell is a set of modules that offer cmdlets to manage Azure. In most cases, you
Azure PowerShell are allowed to use, the cmdlets command for the same tasks which you are performing
in the Azure portal.
Azure command- The Azure CLI is a tool that you can use to create, manage, and remove Azure
line interface(CLI) resources from the command line.
Azure is built on a set of REST APIs help you perform the same operation that you do in
REST APIs Azure portal Ul. It allows your Azure resources and apps to be manipulated via any third
party software application.
Azure Components
Azure Compute
It offers computing operations like app hosting, development, and deployment in Azure
Platform. It has the following components:

• Virtual Machine: Allows you to deploy any language, workload in any operating
system
• Virtual Machine Scale Sets: Allows you to create thousands of similar virtual machines
in minutes
• Azure Container Service: Create a container hosting solution which is optimized for
Azure. You scale and arrange applications using Kube, DC/OS, Swarm or Docker
• Azure Container Registry: This service store and manage container images across all
types of Azure deployments
• Functions: Let’s you write code regardless of infrastructure and provisioning of servers.
In the situation when your functions call rate scales up.
• Batch: Batch processing helps you scale to tens, hundreds or thousands of virtual
machines and execute computer pipelines.
• Service Fabric: Simplify microservice-based application development and lifecycle
management. It supports Java, PHP, Node.js, Python, and Ruby.
Azure Storage
Azure store is a cloud storage solution for modern applications. It is designed to
meet the needs of their customer’s demand for scalability. It allows you to store and
process hundreds of terabytes of data. It has the following components:

• Blob Storage: Azure Blob storage is a service which stores unstructured data in
the cloud as objects/blobs. You can store any type of text or binary data, such as
a document, media file, or application installer.
• Queue Storage: It provides cloud messaging between application components.
It delivers asynchronous messaging to establish communication between
application components.
• File Storage: Using Azure File storage, you can migrate legacy applications. It
relies on file shares to Azure quickly and without costly rewrites.
• Table Storage: Azure Table storage stores semi-structured NoSQL data in the
cloud. It provides a key/attribute store with a schema-less design
Azure Database
This category includes Database as a Service (DBaaS) which offers SQL and NoSQL tools.
It also includes databases like Azure Cosmos DB and Azure Database for PostgreSQL. It has
the following components:

• SQL Database: It is a relational database service in the Microsoft cloud based on the
market-leading Microsoft SQL Server engine.
• DocumentDB: It is a fully managed NoSQL database service which is It built for fast
and predictable performance and ease of development.
• Redis Cache: It is a secure and highly advanced key-value store. It stores data structures
like strings, hashes, lists, etc.
Content Delivery Network
Content Delivery Network (CDN) caches static web content at strategically placed locations.
This helps you to offer speed for delivering content to users. It has the following
components:

• VPN Gateway: VPN Gateway sends encrypted traffic across a public connection.
• Traffic Manager: It helps you to control and allows you to do the distribution of user
traffic for services like WebApps, VM, Azure, and cloud services in different Datacenters
• Express Route: Helps you to extend your on-premises networks into the Microsoft
cloud over a dedicated private connection to Microsoft Azure, Office 365, and CRM
Online.
Enterprise Integration Services
• Service Bus: Service Bus is an information delivery service which works on the third-
party communication system.
• SQL Server Stretch Database: This service helps you migrates any cold data securely
and transparently to the Microsoft Azure cloud
• Azure AD Domain Services: It offers managed domain services like domain join, group
policy, LDAP, etc. This authentication which is compatible with Windows Server Active
Directory.
• Multi-Factor Authentication: Azure Multi-Factor Authentication (MFA) is two-step
verification. It helps you to access data and applications to offers a simple sign-in
process.
Security + Identify Services
It provides capabilities to identify and respond to cloud security threats. It also helps you to
manage encryption keys and other sensitive assets. It has the following components:

• Key Vault: Azure Key Vault allows you to safeguard cryptographic keys and helps you
to create secrets used by cloud applications and services.
• Azure Active Directory: Azure Active Directory and identity management service. This
includes multi-factor authentication, device registration, etc.
• Azure AD B2C: Azure AD B2C is a cloud identity management solution for your
consumer-facing web and mobile applications. It allows you to scales hundreds of
millions of consumer identities.
Monitoring + Management Services
These services allow easy management of Azure deployment.

• Azure Resource Manager: It makes it easy for you to manage and visualize resource in
your app. You can even control who is your organization can act on the resources.
• Automation: Microsoft Azure Automation is a way to automate the manual, long-
running, error-free, and constantly repeated tasks. These tasks are commonly performed
in a cloud and enterprise environment.
Azure Networking
• Virtual Network: Perform Network isolation and segmentation. It offers filter and
Route network traffic.
• Load Balancer: Offers high availability and network performance of any application.
Load balance information Internet traffic to Virtual machines.
• Application Gateway: It is a dedicated virtual appliance that offers an Application
Delivery Controller (ADC) as a service.
• Azure DNS: Azure DNS hosting service offers name resolution using Microsoft Azure
infrastructure.
Web and Mobile Services
Web Apps: Web Apps allows you to build and host websites in the programming language
of your choice without the need to manage its infrastructure.
Mobile Apps: Mobile Apps Service offers a highly scalable, globally available mobile app
development platform for users.
API Apps: API apps make it easier to develop, host and consume APIs in the cloud and on-
premises.
Logic Apps: Logic Apps helps you to simplify and implement scalable integrations
Workflows in the Cloud
It provides a visual designer to create and automate your process as a series of steps known
as a workflow

• Notification Hubs: Azure Notification Hubs offers an easy-to-use, multi-platform,


scaled-out push engine
• Event Hubs: Azure Event Hubs is data streaming platform which can manage millions
of events per second. Data sent to an event hub can be transformed and stored using any
real-time analytics offers batching/storage adapters.
• Azure Search: It is a cloud search-as-a-service solution which offers server and
infrastructure management. It offers ready-to-use service that you can populate with your
data. This can be used to add search to your web or mobile application.
Migration
Migration tools help an organization estimate workload migration costs. It also helps to
perform the migration of workloads from your local data centers to the Azure cloud.
Azure DevOps
Azure DevOps
Azure DevOps Services is a cloud-based suite of integrated services
that manages the lifecycle of software development projects. It enables
teams to plan, develop, test and deploy applications to a range of
platforms.
Azure Boards Demo
Azure Test Plans Demo
Azure Pricing
https://azure.microsoft.com/en-us/pricing/details/app-service/windows/
Azure SLA
https://azure.microsoft.com/en-us/support/legal/sla/summary/
Thank You!

You might also like