SlideShare a Scribd company logo
Agile Software Development +
DevOps
Ahmed Misbah
Purpose of this session
Put you on the first steps of becoming
Software Engineers by understanding
Agile Software Development
Agenda
• Section 1: Software Engineering
• Section 2: Agile Software Development
• Section 3: SCRUM
• Section 4: Lean and Kanban
• Section 5: DevOps
• Section 6: Conclusion
Before we start……
• Phones silent
• No laptops
• Questions/Discussions at anytime welcome
• 10 minute break every 1 hour
SECTION 1: SOFTWARE
ENGINEERING
Art, Science and Engineering
• Everything starts as Art
• It then becomes a Science
• It then becomes an Engineering
Art
Science
Engineering
• What a cook should wear?
• How the kitchen should be organized?
• Best kitchenware to use
• How to buy and store ingredients
Software Engineering
Is an engineering discipline that is concerned
with all aspects of software production
Difference between Computer Science
and Software Engineering
• Computer Science is concerned with theories,
and methods that underlie computer and
software systems
• Software Engineering is concerned with
practical problems of producing software
Programmer, Software Developer and
Software Engineer
• A Programmer is anyone who can create a program in at
least one programming language, regardless of the use of a
systematic approach
• A Software Developer is a Programmer who doesn’t only
care about simply writing code, but also cares about the
requirement analysis, the functional specification, the
design, the testing, the deployment and the maintenance
of the software product they work on
• A Software Engineer is one who applies Engineering
disciplines and principles to software creation
Software Process
• A Software Process is a set of activities that
produce a software product
1. Software Specification
2. Software Development
3. Software Validation
4. Software Evolution
Software Development Methodologies
• Waterfall Model
• Incremental and Iterative Model
• Prototyping Model
Waterfall Model
Disadvantages of Waterfall
• Equates Software Development to a
production line conveyor belt
• Customer sees the software product too late
• Too much waste
Disadvantages of Waterfall
Incremental and Iterative Model
Incremental and Iterative Model
• An iterative process is one that makes
progress through successive refinement
• An incremental process is one in which
software is built and delivered in pieces. Each
piece, or increment, represents a complete
subset of functionality
Incremental and Iterative Model
Disadvantages of Inc. and It. Model
• Incremental alone is troublesome
Disadvantages of Inc. and It. Model
Prototyping Model
SECTION 2: AGILE SOFTWARE
DEVELOPMENT
Dictionary Definition of Agile
Able to move quickly and easily
Technical Definition of Agile
• A group of software development methods based
on iterative and incremental development
• Requirements and solutions evolve through
collaboration between self-organizing, cross-
functional teams
• Promotes adaptive planning, evolutionary
development and delivery, a time-boxed
iterative approach, and encourages rapid and
flexible response to change
History
• On February 11-13 2001, 17 people met to
find common grounds in software
development methodologies
• What emerged is the Agile Software
Development Manifesto
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
Layers of Agile Development
N Tools
N Practices
N Methods
12 Principles
4 Values
Agile Values
• Individuals and interactions over processes
and tools
• Working software over comprehensive
documentation
• Customer collaboration over contract
negotiation
• Responding to change over following a plan
12 Principles of Agile Software (1)
1. Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
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, with a
preference to the shorter timescale.
4. Business people and developers must work
together daily throughout the project.
12 Principles of Agile Software (2)
5. 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.
12 Principles of Agile Software (3)
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.
Agile Methods
• SCRUM
• Kanban
• Scrum ban
• Extreme Programming (XP)
• Lean Software Development
• Crystal Clear Methods
• Feature-driven Development
• Agile Unified Process/Methods (AUP)
• Custom Hybrids
Agile Method Usage
2014
Agile Method Usage
Agile Practices
• Pair Programming
• Test Driven Development
• Automated Test Driven Development
• Behavior Driven Development
• Collective Ownership
• Continuous Deployment
• Continuous Integration
• Version Control
• Definition of Ready
• Definition of Done
Agile Tools
• JIRA
• Trello
• SeeDoNow
• IceScrum
• Redmine
• Git
• SVN
• Jenkins
Biggest Challenge to Agility
• Fixed contracts with Non-Agile clients:
o Fixed Cost
o Fixed Scope
o Fixed Time
SECTION 3: SCRUM
Definition of Scrum
Scrum in the sport of rugby, is a way of
restarting the game, either after an accidental
infringement or (in rugby league only) when the
ball has gone out of play
Official SCRUM
SCRUM Framework
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.
Scrum Values
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 ROLES
Roles in Scrum
• Product Owner
• Development Team
• Scrum Master
Product Owner
• Decides what goes into the product backlog and,
equally important, what does not
• Maintains the product backlog and orders the items in
the backlog to deliver the highest value
• Works with the team and the stakeholders to
continuously improve the quality of the product
backlog and everyone’s understanding of the items it
contains
• Decides which product backlog items to ask the team
deliver in the current sprint
• Decides when to ship the product, with a preference
toward more frequent delivery
Scrum Master
• Coach the team
• Keep the team moving forward
• Help everyone understand Scrum
Development Team
• Product development (Coding, Testing, etc.)
• Work breakdown
• Task assignment
• Process improvement
• Coordination of tasks
• Detail coordination with other technical
groups
• Individual accountability
Three Powers
Dev Team Product Owner Scrum Master
Scrum
Where is the Project Manager?
Chickens and Pigs
Pigs
Chickens
Analyzing Stakeholders
• Two Dimensional Analysis
– Power / Interest Grid
– Power / Influence Grid
– Influence / Impact Grid
– Influence / Attitude Grid
• Three Dimensional Analysis
– Salience Model (Power, Urgency and Legitimacy)
Power / Interest Model
Keep Satisfied
e.g. Functional Manager
HighPower
Low Interest
Monitor
e.g. Backup resources
LowPower
Manage Closely
e.g. Client
Keep Informed
e.g. End-user
High Interest
Salience Model
• Power
The ability the project stakeholder has to influence
outcome of an organization, deliverable or project
• Legitimacy
The authority and level of involvement a project
stakeholder has on a project
• Urgency
The time expected by a project stakeholder for
responses to their expectations
Salience Model
Power
• Latent
Legitimacy
• Discretionary
Urgency
• Demanding
DominantNon-Stakeholder
Dangerous
Dominant
Core
SCRUM ARTIFACTS
Product Backlog
User Stories
• Written in the following notation:
– As who
– I want what
– So that why
• A User Story has three components (3Cs):
o Card
o Conversation
o Confirmation
An example of a User Story
Story Board (Agile Board)
Burn up Charts
Burn down Charts
Story Points and Velocity
• Story Points are used to size stories instead of
hours
• Velocity = Story Points burned by team/ Sprint
SCRUM EVENTS
Scrum Events
• Sprint: 1 – 5 weeks
• Sprint Planning
• Daily Scrum
• Sprint Retrospective
• Sprint Review
Issues with Scrum
• Bugs!
• Maintenance and support
• Large scale and long projects
• Revolutionary change!
SECTION 4: LEAN AND KANBAN
What is Lean?
• Is a systematic method in which the core idea
is to maximize customer value while
minimizing waste (“Muda”)
• Derived mostly from Toyota Production
System (TPS) or “Just-in-time production”
Value and Waste
• Value = What the customer pays money for
• Waste = Everything else!
– Muda ("non-value-adding work")
o Type 1: The non value added activity for end customer but it
is necessary
o Type 2: The non value added activity for end customer which
are not necessary. It is targeted to eliminate this type of
wastage
– Muri ("overburden")
– Mura ("unevenness")
Waste
Waste Types in SWD
1. Inventory
2. Overproduction
3. Extra Processing
4. Transportation
5. Waiting
6. Motion
7. Defects
1. Partially Done Work
2. Extra Features
3. Repeating the
repeated
4. Handoffs
5. Delays
6. Task Switching
7. Defects
Lean Principles in SWD
• Eliminate/Minimize waste
• Amplify learning
• Decide as late as possible
• Deliver as fast as possible
• Empower the team
• Build quality in
• See the whole
Lean Tools
• Continuous Flow-of-Value
• Value Stream Mapping
• Bottleneck Analysis
• Single Minute Exchange of Die (SMED)
• Kanban (Pull System)
• Poka-Yoke (Error-proofing)
• 5 Whys
• Kaizen (Continuous Improvement)
• SMART Goals (Specific, Measurable, Attainable,
Relevant, and Time-Specific)
Lean Machine (Bottleneck Analysis)
3 5
1
4
1
3
3
3
1
2
Kanban
Kanban is a method for visualizing the flow of
work, in order to balance demand with available
capacity and spot bottlenecks. Work items are
visualized to give participants a view of progress
and process, from start to finish. Team
members pull work as capacity permits, rather
than work being pushed into the process when
requested.
Kanban Principles
1. Start with existing process
2. Agree to pursue incremental, evolutionary
change
3. Respect current process, roles, responsibilities
and titles
4. Leadership at all levels
Kanban Core Properties
1. Visualize the Workflow
2. Limit Work In Progress (WIP):
Reduce Batch Size of your Efforts (BASE)
Little’s Law:
Cycle Time = Work-in-progress / Average Completion Time
3. Manage Flows
4. Make Process Policies Explicit
5. Use feedback loops
6. Improve Collaboratively
Kanban Board
Agile Software Development and DevOps 21092019
SECTION 5: DEVOPS
DevOps – The Problem
DevOps - Definition
is a culture, movement or practice that
emphasizes the collaboration and
communication of both Software Developers
and other Information-Technology
professionals while automating the process of
software delivery and infrastructure changes
DevOps - Definition
It aims at establishing a culture and
environment where building, testing, and
releasing software, can happen rapidly,
frequently, and more reliably
DevOps - Components
1. Collaboration of People
2. Convergence of Process
3. Creation and Exploitation of Tools
DevOps – Toolchain
DevOps – Toolchain
• Plan – Business value and application requirements
• Code (Create)– Code Development and Review, continuous
integration tools
• Build – Version control tools, code merging, Build status
• Verify (Test) – Test and results determine performance
• Package – Artifact repository, Application pre-deployment
staging
• Release – Change management, Release approvals, release
automation
• Configure – Infrastructure configuration and management,
Infrastructure as Code tools
• Monitor – Applications performance monitoring, End user
experience
Agile Software Development and DevOps 21092019
Jenkins !
SECTION 6: CONCLUSION
Conclusion
• Developing Software is complex!
• There is no Silver Bullet!
• Agility is a journey, not a destination
• If one methodology is a religion, you should not be
religious!
• Learning will always be the #1 bottleneck
• Software Engineering is a key element in Software
Development
Conclusion
There is no single development, in either
technology or management technique, which by
itself promises even one order-of-magnitude
improvement within a decade in productivity, in
reliability, in simplicity.
No Silver Bullet - Essence and Accident in Software
Engineering
Frederick P. Brooks, Jr.
University of North Carolina at Chapel Hill
Thank You!
Ad

More Related Content

What's hot (20)

Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
elvinefendi
 
Another Scrum Cheat Sheet (great one pager)
Another Scrum Cheat Sheet (great one pager)Another Scrum Cheat Sheet (great one pager)
Another Scrum Cheat Sheet (great one pager)
CollectiveKnowledge
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
Stewart Rogers
 
Scrum in 15 Minutes
Scrum in 15 MinutesScrum in 15 Minutes
Scrum in 15 Minutes
Serge Rehem
 
ScrumBan : Best of Both Worlds. A Fertile Hybrid
ScrumBan : Best of Both Worlds. A Fertile HybridScrumBan : Best of Both Worlds. A Fertile Hybrid
ScrumBan : Best of Both Worlds. A Fertile Hybrid
Jaya S
 
DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)
Brad Appleton
 
Agile Scrum Training Process
Agile Scrum Training ProcessAgile Scrum Training Process
Agile Scrum Training Process
Clarion Marketing
 
Understanding Scrum in 30 Minutes
Understanding Scrum in 30 MinutesUnderstanding Scrum in 30 Minutes
Understanding Scrum in 30 Minutes
Altaf Najvani
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
infolock
 
Scrum framework
Scrum frameworkScrum framework
Scrum framework
Rashmi Pathak
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentation
gihanlsw
 
Scrum
ScrumScrum
Scrum
Sujoy Saha
 
Scrum - Agile Methodology
Scrum - Agile MethodologyScrum - Agile Methodology
Scrum - Agile Methodology
Niel Deckx
 
Scrum 101
Scrum 101 Scrum 101
Scrum 101
Ozgur Ertem
 
Agile Teams
Agile TeamsAgile Teams
Agile Teams
Hammad Ahmad
 
What is Scrum
What is ScrumWhat is Scrum
What is Scrum
Robert de Wolff
 
Agile scrum training
Agile scrum trainingAgile scrum training
Agile scrum training
Rajakrishnan S, MCA,MBA,MA Phil,PMP,CSM,ISTQB-Test Mgr,ITIL
 
Agile scrum fundamentals
Agile scrum fundamentalsAgile scrum fundamentals
Agile scrum fundamentals
Deniz Gungor
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
Fatemeh Karimi
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
Rajeev Misra
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
elvinefendi
 
Another Scrum Cheat Sheet (great one pager)
Another Scrum Cheat Sheet (great one pager)Another Scrum Cheat Sheet (great one pager)
Another Scrum Cheat Sheet (great one pager)
CollectiveKnowledge
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
Stewart Rogers
 
Scrum in 15 Minutes
Scrum in 15 MinutesScrum in 15 Minutes
Scrum in 15 Minutes
Serge Rehem
 
ScrumBan : Best of Both Worlds. A Fertile Hybrid
ScrumBan : Best of Both Worlds. A Fertile HybridScrumBan : Best of Both Worlds. A Fertile Hybrid
ScrumBan : Best of Both Worlds. A Fertile Hybrid
Jaya S
 
DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)DevOps - an Agile Perspective (at Scale)
DevOps - an Agile Perspective (at Scale)
Brad Appleton
 
Agile Scrum Training Process
Agile Scrum Training ProcessAgile Scrum Training Process
Agile Scrum Training Process
Clarion Marketing
 
Understanding Scrum in 30 Minutes
Understanding Scrum in 30 MinutesUnderstanding Scrum in 30 Minutes
Understanding Scrum in 30 Minutes
Altaf Najvani
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
infolock
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentation
gihanlsw
 
Scrum - Agile Methodology
Scrum - Agile MethodologyScrum - Agile Methodology
Scrum - Agile Methodology
Niel Deckx
 
Agile scrum fundamentals
Agile scrum fundamentalsAgile scrum fundamentals
Agile scrum fundamentals
Deniz Gungor
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
Fatemeh Karimi
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
Rajeev Misra
 

Similar to Agile Software Development and DevOps 21092019 (20)

Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
Purvik Rana
 
Agile tutorial
Agile tutorialAgile tutorial
Agile tutorial
Chen-Tien Tsai
 
Standardization and strategy in agile
Standardization and strategy in agileStandardization and strategy in agile
Standardization and strategy in agile
Naveen Gupta
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
aboulkheir
 
Waterfall Model.pptx
Waterfall Model.pptxWaterfall Model.pptx
Waterfall Model.pptx
MrVinothKumarLAsstPr
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
Fáber D. Giraldo
 
software engineering agile development notes.pptx
software engineering agile development notes.pptxsoftware engineering agile development notes.pptx
software engineering agile development notes.pptx
Abhinay93499
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 
Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
Orange and Bronze Software Labs
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
Fahad Alshareef
 
Agile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdfAgile Fundamentals for Project Managers.pdf
Agile Fundamentals for Project Managers.pdf
Borja ARRIZABALAGA URIARTE
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
AllianceMSFourOneEig
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
NitinManne
 
Fundamentals of agile tntu (2015-04-27)
Fundamentals of agile   tntu (2015-04-27)Fundamentals of agile   tntu (2015-04-27)
Fundamentals of agile tntu (2015-04-27)
Oleg Nazarevych
 
Agile
AgileAgile
Agile
vikram singh
 
Overview of Agile methodology & Scrum
Overview of Agile methodology & ScrumOverview of Agile methodology & Scrum
Overview of Agile methodology & Scrum
Srinivasan Ganesan
 
Understanding-Agile for beginners in real
Understanding-Agile for beginners in realUnderstanding-Agile for beginners in real
Understanding-Agile for beginners in real
MohamedMasthan8
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdf
SwapnikaReddy6
 
Bosnia Agile Tuzla Meetup
Bosnia Agile Tuzla MeetupBosnia Agile Tuzla Meetup
Bosnia Agile Tuzla Meetup
Bosnia Agile
 
Essentials of Scrum
Essentials of ScrumEssentials of Scrum
Essentials of Scrum
eikitakeuchi
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
Purvik Rana
 
Standardization and strategy in agile
Standardization and strategy in agileStandardization and strategy in agile
Standardization and strategy in agile
Naveen Gupta
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
aboulkheir
 
software engineering agile development notes.pptx
software engineering agile development notes.pptxsoftware engineering agile development notes.pptx
software engineering agile development notes.pptx
Abhinay93499
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 
Fundamentals of agile tntu (2015-04-27)
Fundamentals of agile   tntu (2015-04-27)Fundamentals of agile   tntu (2015-04-27)
Fundamentals of agile tntu (2015-04-27)
Oleg Nazarevych
 
Overview of Agile methodology & Scrum
Overview of Agile methodology & ScrumOverview of Agile methodology & Scrum
Overview of Agile methodology & Scrum
Srinivasan Ganesan
 
Understanding-Agile for beginners in real
Understanding-Agile for beginners in realUnderstanding-Agile for beginners in real
Understanding-Agile for beginners in real
MohamedMasthan8
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdf
SwapnikaReddy6
 
Bosnia Agile Tuzla Meetup
Bosnia Agile Tuzla MeetupBosnia Agile Tuzla Meetup
Bosnia Agile Tuzla Meetup
Bosnia Agile
 
Essentials of Scrum
Essentials of ScrumEssentials of Scrum
Essentials of Scrum
eikitakeuchi
 
Ad

More from Ahmed Misbah (20)

6+1 Technical Tips for Tech Startups (2023 Edition)
6+1 Technical Tips for Tech Startups (2023 Edition)6+1 Technical Tips for Tech Startups (2023 Edition)
6+1 Technical Tips for Tech Startups (2023 Edition)
Ahmed Misbah
 
Migrating to Microservices Patterns and Technologies (edition 2023)
 Migrating to Microservices Patterns and Technologies (edition 2023) Migrating to Microservices Patterns and Technologies (edition 2023)
Migrating to Microservices Patterns and Technologies (edition 2023)
Ahmed Misbah
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
Ahmed Misbah
 
Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)
Ahmed Misbah
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)
Ahmed Misbah
 
TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)
Ahmed Misbah
 
Implementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using KubelessImplementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using Kubeless
Ahmed Misbah
 
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Ahmed Misbah
 
Introduction to TDD
Introduction to TDDIntroduction to TDD
Introduction to TDD
Ahmed Misbah
 
Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOps
Ahmed Misbah
 
DevOps for absolute beginners
DevOps for absolute beginnersDevOps for absolute beginners
DevOps for absolute beginners
Ahmed Misbah
 
Microservice test strategies for applications based on Spring, K8s and Istio
Microservice test strategies for applications based on Spring, K8s and IstioMicroservice test strategies for applications based on Spring, K8s and Istio
Microservice test strategies for applications based on Spring, K8s and Istio
Ahmed Misbah
 
Cucumber jvm best practices v3
Cucumber jvm best practices v3Cucumber jvm best practices v3
Cucumber jvm best practices v3
Ahmed Misbah
 
Welcome to the Professional World
Welcome to the Professional WorldWelcome to the Professional World
Welcome to the Professional World
Ahmed Misbah
 
More topics on Java
More topics on JavaMore topics on Java
More topics on Java
Ahmed Misbah
 
Career Paths for Software Professionals
Career Paths for Software ProfessionalsCareer Paths for Software Professionals
Career Paths for Software Professionals
Ahmed Misbah
 
Effective User Story Writing
Effective User Story WritingEffective User Story Writing
Effective User Story Writing
Ahmed Misbah
 
AndGen+
AndGen+AndGen+
AndGen+
Ahmed Misbah
 
DDT Testing Library for Android
DDT Testing Library for AndroidDDT Testing Library for Android
DDT Testing Library for Android
Ahmed Misbah
 
Big Data for QAs
Big Data for QAsBig Data for QAs
Big Data for QAs
Ahmed Misbah
 
6+1 Technical Tips for Tech Startups (2023 Edition)
6+1 Technical Tips for Tech Startups (2023 Edition)6+1 Technical Tips for Tech Startups (2023 Edition)
6+1 Technical Tips for Tech Startups (2023 Edition)
Ahmed Misbah
 
Migrating to Microservices Patterns and Technologies (edition 2023)
 Migrating to Microservices Patterns and Technologies (edition 2023) Migrating to Microservices Patterns and Technologies (edition 2023)
Migrating to Microservices Patterns and Technologies (edition 2023)
Ahmed Misbah
 
Practical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdfPractical Microservice Architecture (edition 2022).pdf
Practical Microservice Architecture (edition 2022).pdf
Ahmed Misbah
 
Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)Istio as an enabler for migrating to microservices (edition 2022)
Istio as an enabler for migrating to microservices (edition 2022)
Ahmed Misbah
 
DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)DevOps for absolute beginners (2022 edition)
DevOps for absolute beginners (2022 edition)
Ahmed Misbah
 
TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)
Ahmed Misbah
 
Implementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using KubelessImplementing FaaS on Kubernetes using Kubeless
Implementing FaaS on Kubernetes using Kubeless
Ahmed Misbah
 
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Istio as an Enabler for Migrating Monolithic Applications to Microservices v1.3
Ahmed Misbah
 
Introduction to TDD
Introduction to TDDIntroduction to TDD
Introduction to TDD
Ahmed Misbah
 
Getting Started with DevOps
Getting Started with DevOpsGetting Started with DevOps
Getting Started with DevOps
Ahmed Misbah
 
DevOps for absolute beginners
DevOps for absolute beginnersDevOps for absolute beginners
DevOps for absolute beginners
Ahmed Misbah
 
Microservice test strategies for applications based on Spring, K8s and Istio
Microservice test strategies for applications based on Spring, K8s and IstioMicroservice test strategies for applications based on Spring, K8s and Istio
Microservice test strategies for applications based on Spring, K8s and Istio
Ahmed Misbah
 
Cucumber jvm best practices v3
Cucumber jvm best practices v3Cucumber jvm best practices v3
Cucumber jvm best practices v3
Ahmed Misbah
 
Welcome to the Professional World
Welcome to the Professional WorldWelcome to the Professional World
Welcome to the Professional World
Ahmed Misbah
 
More topics on Java
More topics on JavaMore topics on Java
More topics on Java
Ahmed Misbah
 
Career Paths for Software Professionals
Career Paths for Software ProfessionalsCareer Paths for Software Professionals
Career Paths for Software Professionals
Ahmed Misbah
 
Effective User Story Writing
Effective User Story WritingEffective User Story Writing
Effective User Story Writing
Ahmed Misbah
 
DDT Testing Library for Android
DDT Testing Library for AndroidDDT Testing Library for Android
DDT Testing Library for Android
Ahmed Misbah
 
Ad

Recently uploaded (20)

Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
Lionel Briand
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Implementing promises with typescripts, step by step
Implementing promises with typescripts, step by stepImplementing promises with typescripts, step by step
Implementing promises with typescripts, step by step
Ran Wahle
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
FlakyFix: Using Large Language Models for Predicting Flaky Test Fix Categorie...
Lionel Briand
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Implementing promises with typescripts, step by step
Implementing promises with typescripts, step by stepImplementing promises with typescripts, step by step
Implementing promises with typescripts, step by step
Ran Wahle
 

Agile Software Development and DevOps 21092019

  • 1. Agile Software Development + DevOps Ahmed Misbah
  • 2. Purpose of this session Put you on the first steps of becoming Software Engineers by understanding Agile Software Development
  • 3. Agenda • Section 1: Software Engineering • Section 2: Agile Software Development • Section 3: SCRUM • Section 4: Lean and Kanban • Section 5: DevOps • Section 6: Conclusion
  • 4. Before we start…… • Phones silent • No laptops • Questions/Discussions at anytime welcome • 10 minute break every 1 hour
  • 6. Art, Science and Engineering • Everything starts as Art • It then becomes a Science • It then becomes an Engineering
  • 7. Art
  • 9. Engineering • What a cook should wear? • How the kitchen should be organized? • Best kitchenware to use • How to buy and store ingredients
  • 10. Software Engineering Is an engineering discipline that is concerned with all aspects of software production
  • 11. Difference between Computer Science and Software Engineering • Computer Science is concerned with theories, and methods that underlie computer and software systems • Software Engineering is concerned with practical problems of producing software
  • 12. Programmer, Software Developer and Software Engineer • A Programmer is anyone who can create a program in at least one programming language, regardless of the use of a systematic approach • A Software Developer is a Programmer who doesn’t only care about simply writing code, but also cares about the requirement analysis, the functional specification, the design, the testing, the deployment and the maintenance of the software product they work on • A Software Engineer is one who applies Engineering disciplines and principles to software creation
  • 13. Software Process • A Software Process is a set of activities that produce a software product 1. Software Specification 2. Software Development 3. Software Validation 4. Software Evolution
  • 14. Software Development Methodologies • Waterfall Model • Incremental and Iterative Model • Prototyping Model
  • 16. Disadvantages of Waterfall • Equates Software Development to a production line conveyor belt • Customer sees the software product too late • Too much waste
  • 19. Incremental and Iterative Model • An iterative process is one that makes progress through successive refinement • An incremental process is one in which software is built and delivered in pieces. Each piece, or increment, represents a complete subset of functionality
  • 21. Disadvantages of Inc. and It. Model • Incremental alone is troublesome
  • 22. Disadvantages of Inc. and It. Model
  • 24. SECTION 2: AGILE SOFTWARE DEVELOPMENT
  • 25. Dictionary Definition of Agile Able to move quickly and easily
  • 26. Technical Definition of Agile • A group of software development methods based on iterative and incremental development • Requirements and solutions evolve through collaboration between self-organizing, cross- functional teams • Promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change
  • 27. History • On February 11-13 2001, 17 people met to find common grounds in software development methodologies • What emerged is the Agile Software Development Manifesto
  • 30. Layers of Agile Development N Tools N Practices N Methods 12 Principles 4 Values
  • 31. Agile Values • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan
  • 32. 12 Principles of Agile Software (1) 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 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, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project.
  • 33. 12 Principles of Agile Software (2) 5. 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.
  • 34. 12 Principles of Agile Software (3) 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.
  • 35. Agile Methods • SCRUM • Kanban • Scrum ban • Extreme Programming (XP) • Lean Software Development • Crystal Clear Methods • Feature-driven Development • Agile Unified Process/Methods (AUP) • Custom Hybrids
  • 38. Agile Practices • Pair Programming • Test Driven Development • Automated Test Driven Development • Behavior Driven Development • Collective Ownership • Continuous Deployment • Continuous Integration • Version Control • Definition of Ready • Definition of Done
  • 39. Agile Tools • JIRA • Trello • SeeDoNow • IceScrum • Redmine • Git • SVN • Jenkins
  • 40. Biggest Challenge to Agility • Fixed contracts with Non-Agile clients: o Fixed Cost o Fixed Scope o Fixed Time
  • 42. Definition of Scrum Scrum in the sport of rugby, is a way of restarting the game, either after an accidental infringement or (in rugby league only) when the ball has gone out of play
  • 45. 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.
  • 46. Scrum Values 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.
  • 48. Roles in Scrum • Product Owner • Development Team • Scrum Master
  • 49. Product Owner • Decides what goes into the product backlog and, equally important, what does not • Maintains the product backlog and orders the items in the backlog to deliver the highest value • Works with the team and the stakeholders to continuously improve the quality of the product backlog and everyone’s understanding of the items it contains • Decides which product backlog items to ask the team deliver in the current sprint • Decides when to ship the product, with a preference toward more frequent delivery
  • 50. Scrum Master • Coach the team • Keep the team moving forward • Help everyone understand Scrum
  • 51. Development Team • Product development (Coding, Testing, etc.) • Work breakdown • Task assignment • Process improvement • Coordination of tasks • Detail coordination with other technical groups • Individual accountability
  • 52. Three Powers Dev Team Product Owner Scrum Master Scrum
  • 53. Where is the Project Manager?
  • 55. Pigs
  • 57. Analyzing Stakeholders • Two Dimensional Analysis – Power / Interest Grid – Power / Influence Grid – Influence / Impact Grid – Influence / Attitude Grid • Three Dimensional Analysis – Salience Model (Power, Urgency and Legitimacy)
  • 58. Power / Interest Model Keep Satisfied e.g. Functional Manager HighPower Low Interest Monitor e.g. Backup resources LowPower Manage Closely e.g. Client Keep Informed e.g. End-user High Interest
  • 59. Salience Model • Power The ability the project stakeholder has to influence outcome of an organization, deliverable or project • Legitimacy The authority and level of involvement a project stakeholder has on a project • Urgency The time expected by a project stakeholder for responses to their expectations
  • 60. Salience Model Power • Latent Legitimacy • Discretionary Urgency • Demanding DominantNon-Stakeholder Dangerous Dominant Core
  • 63. User Stories • Written in the following notation: – As who – I want what – So that why • A User Story has three components (3Cs): o Card o Conversation o Confirmation
  • 64. An example of a User Story
  • 68. Story Points and Velocity • Story Points are used to size stories instead of hours • Velocity = Story Points burned by team/ Sprint
  • 70. Scrum Events • Sprint: 1 – 5 weeks • Sprint Planning • Daily Scrum • Sprint Retrospective • Sprint Review
  • 71. Issues with Scrum • Bugs! • Maintenance and support • Large scale and long projects • Revolutionary change!
  • 72. SECTION 4: LEAN AND KANBAN
  • 73. What is Lean? • Is a systematic method in which the core idea is to maximize customer value while minimizing waste (“Muda”) • Derived mostly from Toyota Production System (TPS) or “Just-in-time production”
  • 74. Value and Waste • Value = What the customer pays money for • Waste = Everything else! – Muda ("non-value-adding work") o Type 1: The non value added activity for end customer but it is necessary o Type 2: The non value added activity for end customer which are not necessary. It is targeted to eliminate this type of wastage – Muri ("overburden") – Mura ("unevenness")
  • 75. Waste
  • 76. Waste Types in SWD 1. Inventory 2. Overproduction 3. Extra Processing 4. Transportation 5. Waiting 6. Motion 7. Defects 1. Partially Done Work 2. Extra Features 3. Repeating the repeated 4. Handoffs 5. Delays 6. Task Switching 7. Defects
  • 77. Lean Principles in SWD • Eliminate/Minimize waste • Amplify learning • Decide as late as possible • Deliver as fast as possible • Empower the team • Build quality in • See the whole
  • 78. Lean Tools • Continuous Flow-of-Value • Value Stream Mapping • Bottleneck Analysis • Single Minute Exchange of Die (SMED) • Kanban (Pull System) • Poka-Yoke (Error-proofing) • 5 Whys • Kaizen (Continuous Improvement) • SMART Goals (Specific, Measurable, Attainable, Relevant, and Time-Specific)
  • 79. Lean Machine (Bottleneck Analysis) 3 5 1 4 1 3 3 3 1 2
  • 80. Kanban Kanban is a method for visualizing the flow of work, in order to balance demand with available capacity and spot bottlenecks. Work items are visualized to give participants a view of progress and process, from start to finish. Team members pull work as capacity permits, rather than work being pushed into the process when requested.
  • 81. Kanban Principles 1. Start with existing process 2. Agree to pursue incremental, evolutionary change 3. Respect current process, roles, responsibilities and titles 4. Leadership at all levels
  • 82. Kanban Core Properties 1. Visualize the Workflow 2. Limit Work In Progress (WIP): Reduce Batch Size of your Efforts (BASE) Little’s Law: Cycle Time = Work-in-progress / Average Completion Time 3. Manage Flows 4. Make Process Policies Explicit 5. Use feedback loops 6. Improve Collaboratively
  • 86. DevOps – The Problem
  • 87. DevOps - Definition is a culture, movement or practice that emphasizes the collaboration and communication of both Software Developers and other Information-Technology professionals while automating the process of software delivery and infrastructure changes
  • 88. DevOps - Definition It aims at establishing a culture and environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably
  • 89. DevOps - Components 1. Collaboration of People 2. Convergence of Process 3. Creation and Exploitation of Tools
  • 91. DevOps – Toolchain • Plan – Business value and application requirements • Code (Create)– Code Development and Review, continuous integration tools • Build – Version control tools, code merging, Build status • Verify (Test) – Test and results determine performance • Package – Artifact repository, Application pre-deployment staging • Release – Change management, Release approvals, release automation • Configure – Infrastructure configuration and management, Infrastructure as Code tools • Monitor – Applications performance monitoring, End user experience
  • 95. Conclusion • Developing Software is complex! • There is no Silver Bullet! • Agility is a journey, not a destination • If one methodology is a religion, you should not be religious! • Learning will always be the #1 bottleneck • Software Engineering is a key element in Software Development
  • 96. Conclusion There is no single development, in either technology or management technique, which by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity. No Silver Bullet - Essence and Accident in Software Engineering Frederick P. Brooks, Jr. University of North Carolina at Chapel Hill