SlideShare a Scribd company logo
Hosam Bayomy | Co-Founder & Principal Software Architect | Kites Software
Agile Programming
AUG Cairo
Agenda
Connect to Values and Principles
Agile Programming
Gray Projects (Legacy)
Kites Agile Journey
Hosam Bayomy
Kites Software
Co-Founder & Principal Software Architect
Jira, Confluence, Bitbucket - Cloud
Agile Values
That is, while
there is value in
the items on
the right, we
value the items
on the left more.
Individuals and interactions over
processes and tools
Working software over comprehensive
documentation
Customer collaboration over contract
negotiation
Responding to change over following a
plan
Agile Principles
Quality
Review Meeting
Retrospective Meeting
Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software (principle 1).
At regular intervals, the team reflects on
how to become more effective, then tunes
and adjusts its behavior accordingly
(principle 12).
Agile Principles
TDD
Clean Code
Coding Standards
Test Automation
Pair Programming
Welcome changing requirements, even late
in development. Agile processes harness
change for the customer's competitive
advantage (principle 2).
Agile Principles
CI/CD (Bitbucket Pipeline)
PaaS, SaaS, IaaS
Story Slicing
Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software (principle 1).
Deliver working software frequently, from a
couple of weeks to a couple of months,
with a preference to the shorter timescale
(principle 3).
Agile Principles
ATDD
BDD
Business-People and Developers must
work together daily throughout the project
(principle 4).
https://www.linkedin.com/pulse/bdd-tips-tricks-somaya-aboulwafa/
https://www.linkedin.com/pulse/benefits-using-bdd-somaya-aboulwafa/
Agile Principles
Coaching
Facilitation
Mentoring
Teaching
Build projects around motivated individuals.
Give them the environment and support
they need and trust them to get the job
done (principle 5).
The most efficient and effective method of
conveying information to and within a
development team is face-to-face
conversation (principle 6).
The best architectures, requirements, and
designs emerge from self-organizing teams
(principle 11).
Agile Principles
Burn Up Chart
Burn Down Chart
Control Chart
Velocity Chart
Cumulative Flow Diagram
Release Burn Down
Working software is the primary measure
of progress (principle 7).
Agile Principles
Definition of Done
Definition of Ready
Story Sizing
Sprint Planning
Release Planning
Agile processes promote sustainable
development. The sponsors, developers,
and users should be able to maintain a
constant pace indefinitely (principle 8).
Agile Principles
Ambition and
Personal Plan
Continuous attention to technical
excellence and good design enhances
agility (principle 9).
https://www.infoq.com/articles/creative-innovative-culture-at-scale/
Agile Principles
Refactoring
Min. Viable Arch.
KISS
SOLID
Continuous attention to technical
excellence and good design enhances
agility (principle 9).
Simplicity--the art of maximizing the
amount of work not done--is essential
(principle 10).
The best architectures, requirements, and
designs emerge from self-organizing teams
(principle 11).
How to improve team agility
https://www.linkedin.com/pulse/how-improve-your-teams-burn-up-chart-somaya-aboulwafa/
Agenda
Connect to Values and Principles
Agile Programming
Gray Projects (Legacy)
Code Standards
Scannable Code
Clean Code
Code Layers (Level of Abstraction)
Naming (Variables, Functions, Classes)
Law of Demeter as Indicator in OOP
Small Functions/Classes is always
maintainable
(Do One Thing/Responsibility)
Conditional Statement (Switch/Nested IF)
(N-Arity problem)
https://bitbucket.org/hbayomy/
Agenda
Connect to Values and Principles
Agile Programming
Gray Projects (Legacy)
Mindset
• Growth
• Awareness
• Learning
• Coaching
Practices
• XP
• Scrum
• Kanban
• BDD
Culture
• Self-organized
• Servant leader
• Safety
• Team Alliance
Environment
• Process
• Management
• HR Policies
• Setup
Adopting Practices
TCR
Characterization Test
Code Extraction
Understand legacy code
Build safety net
Refactor to clean code
https://www.youtube.com/watch?v=FFzHOyFeovEhttps://medium.com/@kentbeck_7670/test-commit-revert-870bbd756864
Mindset Shift
Educate everyone about
agile.
Try to make everyone
find his role in agile.
Help everyone to
recognize the value of
agile.
Growth mindset
Adaptation
Flexibility
Self-Motivation
Culture
Hire Agile Coach.
Consult external Coach.
Self-Organized Team.
The best architectures, requirements, and
designs emerge from self-organizing teams
(principle 11).
Environment
Build projects around motivated individuals.
Give them the environment and support
they need and trust them to get the job
done (principle 5).
Frederic Laloux
Thank you!
Hosam Bayomy | Co-Founder | Kites Software

More Related Content

What's hot

Learn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management ApproachLearn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management Approach
Enterprise Management Associates
 
Break Through Agile Transformation Stagnation
Break Through Agile Transformation StagnationBreak Through Agile Transformation Stagnation
Break Through Agile Transformation Stagnation
Tasktop
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
Avidan Hetzroni
 
Agile Project Management - Part 1
Agile Project Management - Part 1Agile Project Management - Part 1
Agile Project Management - Part 1
Saqib Javed John
 
Agile for Infrastructure Projects
Agile for Infrastructure ProjectsAgile for Infrastructure Projects
Agile for Infrastructure Projects
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
20120905 C4ISR Strategic Investment Team Workshop
20120905 C4ISR Strategic Investment Team Workshop20120905 C4ISR Strategic Investment Team Workshop
20120905 C4ISR Strategic Investment Team Workshop
dan.p.taylor
 
From Project to Product: Unlocking Product Agility
From Project to Product: Unlocking Product AgilityFrom Project to Product: Unlocking Product Agility
From Project to Product: Unlocking Product Agility
Cprime
 
Leveraging Cloud data to optimize your product decisions and Agile processes ...
Leveraging Cloud data to optimize your product decisions and Agile processes ...Leveraging Cloud data to optimize your product decisions and Agile processes ...
Leveraging Cloud data to optimize your product decisions and Agile processes ...
AgileSparks
 
Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...
Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...
Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...
AgileSparks
 
Agile 101
Agile 101Agile 101
Agile 101
Sunil Mundra
 
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
SmitsMC LLC
 
Heart of agile by Pierre Hervouet
Heart of agile by Pierre HervouetHeart of agile by Pierre Hervouet
Heart of agile by Pierre Hervouet
Agile ME
 
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
Sogeti Nederland B.V.
 
Multi-project management with dispersed agile teams - Agile Austria 2018
Multi-project management with dispersed agile teams - Agile Austria 2018Multi-project management with dispersed agile teams - Agile Austria 2018
Multi-project management with dispersed agile teams - Agile Austria 2018
Maximilian Hantsch-Köller
 
Agile way for choosing bbetween opensource & vendor
Agile way for choosing bbetween opensource & vendorAgile way for choosing bbetween opensource & vendor
Agile way for choosing bbetween opensource & vendorZeeshan Haq
 
Agile 101 Agile Essentials In The Scrum Framework
Agile 101 Agile Essentials In The Scrum FrameworkAgile 101 Agile Essentials In The Scrum Framework
Agile 101 Agile Essentials In The Scrum FrameworkVernon Stinebaker
 
Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...
Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...
Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...
Tobias Schimmer
 
Open Source vs Vendor Specific
Open Source vs Vendor SpecificOpen Source vs Vendor Specific
Open Source vs Vendor Specific
Zeeshan Haq
 
Agile vs Len Methodology
Agile vs Len MethodologyAgile vs Len Methodology
ITIL and DevOps can be friends
ITIL and DevOps can be friendsITIL and DevOps can be friends
ITIL and DevOps can be friends
Jan-Joost Bouwman
 

What's hot (20)

Learn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management ApproachLearn Best Practices of a True Hybrid IT Management Approach
Learn Best Practices of a True Hybrid IT Management Approach
 
Break Through Agile Transformation Stagnation
Break Through Agile Transformation StagnationBreak Through Agile Transformation Stagnation
Break Through Agile Transformation Stagnation
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Agile Project Management - Part 1
Agile Project Management - Part 1Agile Project Management - Part 1
Agile Project Management - Part 1
 
Agile for Infrastructure Projects
Agile for Infrastructure ProjectsAgile for Infrastructure Projects
Agile for Infrastructure Projects
 
20120905 C4ISR Strategic Investment Team Workshop
20120905 C4ISR Strategic Investment Team Workshop20120905 C4ISR Strategic Investment Team Workshop
20120905 C4ISR Strategic Investment Team Workshop
 
From Project to Product: Unlocking Product Agility
From Project to Product: Unlocking Product AgilityFrom Project to Product: Unlocking Product Agility
From Project to Product: Unlocking Product Agility
 
Leveraging Cloud data to optimize your product decisions and Agile processes ...
Leveraging Cloud data to optimize your product decisions and Agile processes ...Leveraging Cloud data to optimize your product decisions and Agile processes ...
Leveraging Cloud data to optimize your product decisions and Agile processes ...
 
Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...
Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...
Enterprise^2 going agile - Siemens Manufacturing Software Case Study - Yael B...
 
Agile 101
Agile 101Agile 101
Agile 101
 
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
Apply Scrum to Your Hardware & Manufacturing Projects for Better Results by H...
 
Heart of agile by Pierre Hervouet
Heart of agile by Pierre HervouetHeart of agile by Pierre Hervouet
Heart of agile by Pierre Hervouet
 
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
Imagine Digital Safety Assured - Arno van de Velde (Micro Focus)
 
Multi-project management with dispersed agile teams - Agile Austria 2018
Multi-project management with dispersed agile teams - Agile Austria 2018Multi-project management with dispersed agile teams - Agile Austria 2018
Multi-project management with dispersed agile teams - Agile Austria 2018
 
Agile way for choosing bbetween opensource & vendor
Agile way for choosing bbetween opensource & vendorAgile way for choosing bbetween opensource & vendor
Agile way for choosing bbetween opensource & vendor
 
Agile 101 Agile Essentials In The Scrum Framework
Agile 101 Agile Essentials In The Scrum FrameworkAgile 101 Agile Essentials In The Scrum Framework
Agile 101 Agile Essentials In The Scrum Framework
 
Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...
Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...
Agile Software Engineering and Design Thinking: Efficiency and Innovation in ...
 
Open Source vs Vendor Specific
Open Source vs Vendor SpecificOpen Source vs Vendor Specific
Open Source vs Vendor Specific
 
Agile vs Len Methodology
Agile vs Len MethodologyAgile vs Len Methodology
Agile vs Len Methodology
 
ITIL and DevOps can be friends
ITIL and DevOps can be friendsITIL and DevOps can be friends
ITIL and DevOps can be friends
 

Similar to Agile Programming Techniques

“Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”
“Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”“Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”
“Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”
Andrea Rodacki
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resourcesAnwar Sadat
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
Maris Prabhakaran M
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
Nicolas Casel
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
Nicolas Casel
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
TehreemSaleem5
 
Heart of Agile
Heart of AgileHeart of Agile
Heart of Agile
Pierre Hervouet
 
Heart of Agile: What is Agile?
Heart of Agile: What is Agile?Heart of Agile: What is Agile?
Heart of Agile: What is Agile?
Agile Tour Beirut
 
Agile software development
Agile software developmentAgile software development
Agile software development
pradeeppatelpmp
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
Madhar Khan Pathan
 
Scrum Framework in Agile
Scrum Framework in AgileScrum Framework in Agile
Scrum Framework in Agile
Wipro
 
Introducing the Rational Solution for Agile ALM
Introducing the Rational Solution for Agile ALMIntroducing the Rational Solution for Agile ALM
Introducing the Rational Solution for Agile ALM
Matt Holitza
 
Introducing agilealm
Introducing agilealmIntroducing agilealm
Introducing agilealmMatt Holitza
 
Introduction to agility
Introduction to agilityIntroduction to agility
Introduction to agility
Alexandre Cuva
 
Jira Agile
Jira AgileJira Agile
Jira Agile
Peter Perger
 
Design Thinking, Agile, DevOps - fuel the innovation delivery
Design Thinking, Agile, DevOps  - fuel the innovation deliveryDesign Thinking, Agile, DevOps  - fuel the innovation delivery
Design Thinking, Agile, DevOps - fuel the innovation delivery
Yi Xu
 
Agile transformation approach by first consulting
Agile transformation approach by first consultingAgile transformation approach by first consulting
Agile transformation approach by first consulting
Roel van Overdam
 
Agile transformation approach by First Consulting
Agile transformation approach by First ConsultingAgile transformation approach by First Consulting
Agile transformation approach by First Consulting
Roel van Overdam
 
7.agila model
7.agila model7.agila model
7.agila model
Balasingham Karthiban
 

Similar to Agile Programming Techniques (20)

“Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”
“Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”“Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”
“Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
SE chapter 4
SE chapter 4SE chapter 4
SE chapter 4
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Heart of Agile
Heart of AgileHeart of Agile
Heart of Agile
 
Heart of Agile: What is Agile?
Heart of Agile: What is Agile?Heart of Agile: What is Agile?
Heart of Agile: What is Agile?
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering
 
Scrum Framework in Agile
Scrum Framework in AgileScrum Framework in Agile
Scrum Framework in Agile
 
Introducing the Rational Solution for Agile ALM
Introducing the Rational Solution for Agile ALMIntroducing the Rational Solution for Agile ALM
Introducing the Rational Solution for Agile ALM
 
Introducing agilealm
Introducing agilealmIntroducing agilealm
Introducing agilealm
 
Introduction to agility
Introduction to agilityIntroduction to agility
Introduction to agility
 
Jira Agile
Jira AgileJira Agile
Jira Agile
 
Design Thinking, Agile, DevOps - fuel the innovation delivery
Design Thinking, Agile, DevOps  - fuel the innovation deliveryDesign Thinking, Agile, DevOps  - fuel the innovation delivery
Design Thinking, Agile, DevOps - fuel the innovation delivery
 
Agile transformation approach by first consulting
Agile transformation approach by first consultingAgile transformation approach by first consulting
Agile transformation approach by first consulting
 
Agile transformation approach by First Consulting
Agile transformation approach by First ConsultingAgile transformation approach by First Consulting
Agile transformation approach by First Consulting
 
7.agila model
7.agila model7.agila model
7.agila model
 

Recently uploaded

Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 

Recently uploaded (20)

Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 

Agile Programming Techniques

  • 1. Hosam Bayomy | Co-Founder & Principal Software Architect | Kites Software Agile Programming AUG Cairo
  • 2. Agenda Connect to Values and Principles Agile Programming Gray Projects (Legacy)
  • 3. Kites Agile Journey Hosam Bayomy Kites Software Co-Founder & Principal Software Architect Jira, Confluence, Bitbucket - Cloud
  • 4. Agile Values That is, while there is value in the items on the right, we value the items on the left more. Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  • 5. Agile Principles Quality Review Meeting Retrospective Meeting Our highest priority is to satisfy the customer through early and continuous delivery of valuable software (principle 1). At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly (principle 12).
  • 6. Agile Principles TDD Clean Code Coding Standards Test Automation Pair Programming Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage (principle 2).
  • 7. Agile Principles CI/CD (Bitbucket Pipeline) PaaS, SaaS, IaaS Story Slicing Our highest priority is to satisfy the customer through early and continuous delivery of valuable software (principle 1). Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale (principle 3).
  • 8. Agile Principles ATDD BDD Business-People and Developers must work together daily throughout the project (principle 4). https://www.linkedin.com/pulse/bdd-tips-tricks-somaya-aboulwafa/ https://www.linkedin.com/pulse/benefits-using-bdd-somaya-aboulwafa/
  • 9. Agile Principles Coaching Facilitation Mentoring Teaching Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done (principle 5). The most efficient and effective method of conveying information to and within a development team is face-to-face conversation (principle 6). The best architectures, requirements, and designs emerge from self-organizing teams (principle 11).
  • 10. Agile Principles Burn Up Chart Burn Down Chart Control Chart Velocity Chart Cumulative Flow Diagram Release Burn Down Working software is the primary measure of progress (principle 7).
  • 11. Agile Principles Definition of Done Definition of Ready Story Sizing Sprint Planning Release Planning Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely (principle 8).
  • 12. Agile Principles Ambition and Personal Plan Continuous attention to technical excellence and good design enhances agility (principle 9). https://www.infoq.com/articles/creative-innovative-culture-at-scale/
  • 13. Agile Principles Refactoring Min. Viable Arch. KISS SOLID Continuous attention to technical excellence and good design enhances agility (principle 9). Simplicity--the art of maximizing the amount of work not done--is essential (principle 10). The best architectures, requirements, and designs emerge from self-organizing teams (principle 11).
  • 14. How to improve team agility https://www.linkedin.com/pulse/how-improve-your-teams-burn-up-chart-somaya-aboulwafa/
  • 15. Agenda Connect to Values and Principles Agile Programming Gray Projects (Legacy)
  • 16. Code Standards Scannable Code Clean Code Code Layers (Level of Abstraction) Naming (Variables, Functions, Classes) Law of Demeter as Indicator in OOP Small Functions/Classes is always maintainable (Do One Thing/Responsibility) Conditional Statement (Switch/Nested IF) (N-Arity problem)
  • 18. Agenda Connect to Values and Principles Agile Programming Gray Projects (Legacy)
  • 19. Mindset • Growth • Awareness • Learning • Coaching Practices • XP • Scrum • Kanban • BDD Culture • Self-organized • Servant leader • Safety • Team Alliance Environment • Process • Management • HR Policies • Setup
  • 20. Adopting Practices TCR Characterization Test Code Extraction Understand legacy code Build safety net Refactor to clean code https://www.youtube.com/watch?v=FFzHOyFeovEhttps://medium.com/@kentbeck_7670/test-commit-revert-870bbd756864
  • 21. Mindset Shift Educate everyone about agile. Try to make everyone find his role in agile. Help everyone to recognize the value of agile. Growth mindset Adaptation Flexibility Self-Motivation
  • 22. Culture Hire Agile Coach. Consult external Coach. Self-Organized Team. The best architectures, requirements, and designs emerge from self-organizing teams (principle 11).
  • 23. Environment Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done (principle 5). Frederic Laloux
  • 24. Thank you! Hosam Bayomy | Co-Founder | Kites Software