SlideShare a Scribd company logo
1 of 24
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
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).
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

É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?Alan Braz
 
Agile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and AgileAgile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and AgileParaic Hegarty
 
Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...
Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...
Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...Vineet Patni
 
Agile Software Development - a Suvojyoti Presentation
Agile Software Development - a Suvojyoti PresentationAgile Software Development - a Suvojyoti Presentation
Agile Software Development - a Suvojyoti Presentationsankhadeep
 
Slaying the Dragons of Agile, DevOps and ITSM Information Flow
Slaying the Dragons of Agile, DevOps and ITSM Information FlowSlaying the Dragons of Agile, DevOps and ITSM Information Flow
Slaying the Dragons of Agile, DevOps and ITSM Information FlowCA Technologies
 
Agile tools for everyone (slideshare)
Agile tools for everyone (slideshare)Agile tools for everyone (slideshare)
Agile tools for everyone (slideshare)Don Bolen
 
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.
 
Collaborative Agile Development in Virtual Reality by Talal Shaikh
Collaborative Agile Development in Virtual Reality by Talal ShaikhCollaborative Agile Development in Virtual Reality by Talal Shaikh
Collaborative Agile Development in Virtual Reality by Talal ShaikhAgile ME
 
A Portfolio of Opportunities, Johan Oskarsson - Knowit
A Portfolio of Opportunities, Johan Oskarsson - KnowitA Portfolio of Opportunities, Johan Oskarsson - Knowit
A Portfolio of Opportunities, Johan Oskarsson - KnowitKnowit_TM
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management CUPE_Projects
 
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRAWikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRAzAgile
 
Agile Development – Why requirements matter by Fariz Saracevic
Agile Development – Why requirements matter by Fariz SaracevicAgile Development – Why requirements matter by Fariz Saracevic
Agile Development – Why requirements matter by Fariz SaracevicAgile ME
 
Is a Business Analyst required on an agile team?
Is a Business Analyst required on an agile team?Is a Business Analyst required on an agile team?
Is a Business Analyst required on an agile team?IIBA UK Chapter
 
DOES16 San Francisco - DevOps Workshop: Organizational Design
DOES16 San Francisco - DevOps Workshop: Organizational DesignDOES16 San Francisco - DevOps Workshop: Organizational Design
DOES16 San Francisco - DevOps Workshop: Organizational DesignGene Kim
 
Going Right! Software Delivery with Atlassian Solution
Going Right! Software Delivery with Atlassian SolutionGoing Right! Software Delivery with Atlassian Solution
Going Right! Software Delivery with Atlassian Solution智治 長沢
 
Agile Certainty, bringing predictability in Agile engagements
Agile Certainty, bringing predictability in Agile engagementsAgile Certainty, bringing predictability in Agile engagements
Agile Certainty, bringing predictability in Agile engagementsPuneet Sachdev
 

What's hot (20)

É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?É possível medir se um gigante é ágil?
É possível medir se um gigante é ágil?
 
Agile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and AgileAgile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and Agile
 
Agile
Agile Agile
Agile
 
Agile introduction
Agile introductionAgile introduction
Agile introduction
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
 
Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...
Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...
Software 4.0 | Anand Paropkari | Pune Agile Unconference 2017 | ScaleUp Consu...
 
Agile Software Development - a Suvojyoti Presentation
Agile Software Development - a Suvojyoti PresentationAgile Software Development - a Suvojyoti Presentation
Agile Software Development - a Suvojyoti Presentation
 
Slaying the Dragons of Agile, DevOps and ITSM Information Flow
Slaying the Dragons of Agile, DevOps and ITSM Information FlowSlaying the Dragons of Agile, DevOps and ITSM Information Flow
Slaying the Dragons of Agile, DevOps and ITSM Information Flow
 
Agile tools for everyone (slideshare)
Agile tools for everyone (slideshare)Agile tools for everyone (slideshare)
Agile tools for everyone (slideshare)
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
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)
 
Collaborative Agile Development in Virtual Reality by Talal Shaikh
Collaborative Agile Development in Virtual Reality by Talal ShaikhCollaborative Agile Development in Virtual Reality by Talal Shaikh
Collaborative Agile Development in Virtual Reality by Talal Shaikh
 
A Portfolio of Opportunities, Johan Oskarsson - Knowit
A Portfolio of Opportunities, Johan Oskarsson - KnowitA Portfolio of Opportunities, Johan Oskarsson - Knowit
A Portfolio of Opportunities, Johan Oskarsson - Knowit
 
Agile Project Management
Agile Project Management Agile Project Management
Agile Project Management
 
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRAWikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
Wikidsmart PM: Requirements Management within Confluence, Integrated with JIRA
 
Agile Development – Why requirements matter by Fariz Saracevic
Agile Development – Why requirements matter by Fariz SaracevicAgile Development – Why requirements matter by Fariz Saracevic
Agile Development – Why requirements matter by Fariz Saracevic
 
Is a Business Analyst required on an agile team?
Is a Business Analyst required on an agile team?Is a Business Analyst required on an agile team?
Is a Business Analyst required on an agile team?
 
DOES16 San Francisco - DevOps Workshop: Organizational Design
DOES16 San Francisco - DevOps Workshop: Organizational DesignDOES16 San Francisco - DevOps Workshop: Organizational Design
DOES16 San Francisco - DevOps Workshop: Organizational Design
 
Going Right! Software Delivery with Atlassian Solution
Going Right! Software Delivery with Atlassian SolutionGoing Right! Software Delivery with Atlassian Solution
Going Right! Software Delivery with Atlassian Solution
 
Agile Certainty, bringing predictability in Agile engagements
Agile Certainty, bringing predictability in Agile engagementsAgile Certainty, bringing predictability in Agile engagements
Agile Certainty, bringing predictability in Agile engagements
 

Similar to Agile Club # 11 - 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
 
Agile software development
Agile software developmentAgile software development
Agile software developmentpradeeppatelpmp
 
Fundamentals of Software Engineering
Fundamentals of Software Engineering Fundamentals of Software Engineering
Fundamentals of Software Engineering Madhar Khan Pathan
 
Desenvolvimento Ágil com XP e Scrum
Desenvolvimento Ágil com XP e ScrumDesenvolvimento Ágil com XP e Scrum
Desenvolvimento Ágil com XP e ScrumGuilherme Chapiewski
 
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
 
Heart of agile by Pierre Hervouet
Heart of agile by Pierre HervouetHeart of agile by Pierre Hervouet
Heart of agile by Pierre HervouetAgile ME
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development MethodologiesPradeep Patel, PMP®
 
Agile transformation approach by first consulting
Agile transformation approach by first consultingAgile transformation approach by first consulting
Agile transformation approach by first consultingRoel van Overdam
 
Agile transformation approach by First Consulting
Agile transformation approach by First ConsultingAgile transformation approach by First Consulting
Agile transformation approach by First ConsultingRoel van Overdam
 
Agile presentation to Telstra, April 2010
Agile presentation to Telstra, April 2010Agile presentation to Telstra, April 2010
Agile presentation to Telstra, April 2010bennw
 
Introduction to agility
Introduction to agilityIntroduction to agility
Introduction to agilityAlexandre Cuva
 

Similar to Agile Club # 11 - 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
 
SE chapter 4
SE chapter 4SE chapter 4
SE chapter 4
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
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
 
Agile in a nutshell
Agile in a nutshellAgile in a nutshell
Agile in a nutshell
 
Agile vs Len Methodology
Agile vs Len MethodologyAgile vs Len Methodology
Agile vs Len Methodology
 
7.agila model
7.agila model7.agila model
7.agila model
 
Desenvolvimento Ágil com XP e Scrum
Desenvolvimento Ágil com XP e ScrumDesenvolvimento Ágil com XP e Scrum
Desenvolvimento Ágil com XP e Scrum
 
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?
 
Heart of agile by Pierre Hervouet
Heart of agile by Pierre HervouetHeart of agile by Pierre Hervouet
Heart of agile by Pierre Hervouet
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
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
 
Agile presentation to Telstra, April 2010
Agile presentation to Telstra, April 2010Agile presentation to Telstra, April 2010
Agile presentation to Telstra, April 2010
 
Introduction to agility
Introduction to agilityIntroduction to agility
Introduction to agility
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 

More from Agile Club

A Great Agile Coach? - insights from coaching trenches
A Great Agile Coach? - insights from coaching trenchesA Great Agile Coach? - insights from coaching trenches
A Great Agile Coach? - insights from coaching trenchesAgile Club
 
Fire fighting a-developers-story
Fire fighting a-developers-storyFire fighting a-developers-story
Fire fighting a-developers-storyAgile Club
 
Let's Shape Our Team Identity
Let's Shape Our Team IdentityLet's Shape Our Team Identity
Let's Shape Our Team IdentityAgile Club
 
Agile Club #16 - Online Retrospectives
Agile Club #16 - Online RetrospectivesAgile Club #16 - Online Retrospectives
Agile Club #16 - Online RetrospectivesAgile Club
 
Agile Club #15 - Lean Night #05: How to use the 10 Types of Innovations to en...
Agile Club #15 - Lean Night #05: How to use the 10 Types of Innovations to en...Agile Club #15 - Lean Night #05: How to use the 10 Types of Innovations to en...
Agile Club #15 - Lean Night #05: How to use the 10 Types of Innovations to en...Agile Club
 
Scaling kanban with domain storytelling
Scaling kanban with domain storytellingScaling kanban with domain storytelling
Scaling kanban with domain storytellingAgile Club
 
Delegation Board - A tool to protect the team
Delegation Board - A tool to protect the teamDelegation Board - A tool to protect the team
Delegation Board - A tool to protect the teamAgile Club
 
How to design your investor pitch?
How to design your investor pitch?How to design your investor pitch?
How to design your investor pitch?Agile Club
 
Scrum Team Group Coaching
Scrum Team Group CoachingScrum Team Group Coaching
Scrum Team Group CoachingAgile Club
 
Gamification at the workplace
Gamification at the workplaceGamification at the workplace
Gamification at the workplaceAgile Club
 
Escaping the Priority Trap
Escaping the Priority TrapEscaping the Priority Trap
Escaping the Priority TrapAgile Club
 
Portfolio management
Portfolio management Portfolio management
Portfolio management Agile Club
 
Enterprise agile Framework
Enterprise agile FrameworkEnterprise agile Framework
Enterprise agile FrameworkAgile Club
 

More from Agile Club (15)

A Great Agile Coach? - insights from coaching trenches
A Great Agile Coach? - insights from coaching trenchesA Great Agile Coach? - insights from coaching trenches
A Great Agile Coach? - insights from coaching trenches
 
Fire fighting a-developers-story
Fire fighting a-developers-storyFire fighting a-developers-story
Fire fighting a-developers-story
 
SAFe 101
SAFe 101SAFe 101
SAFe 101
 
Let's Shape Our Team Identity
Let's Shape Our Team IdentityLet's Shape Our Team Identity
Let's Shape Our Team Identity
 
Agile Club #16 - Online Retrospectives
Agile Club #16 - Online RetrospectivesAgile Club #16 - Online Retrospectives
Agile Club #16 - Online Retrospectives
 
Agile Club #15 - Lean Night #05: How to use the 10 Types of Innovations to en...
Agile Club #15 - Lean Night #05: How to use the 10 Types of Innovations to en...Agile Club #15 - Lean Night #05: How to use the 10 Types of Innovations to en...
Agile Club #15 - Lean Night #05: How to use the 10 Types of Innovations to en...
 
Scaling kanban with domain storytelling
Scaling kanban with domain storytellingScaling kanban with domain storytelling
Scaling kanban with domain storytelling
 
Delegation Board - A tool to protect the team
Delegation Board - A tool to protect the teamDelegation Board - A tool to protect the team
Delegation Board - A tool to protect the team
 
How to design your investor pitch?
How to design your investor pitch?How to design your investor pitch?
How to design your investor pitch?
 
Scrum Team Group Coaching
Scrum Team Group CoachingScrum Team Group Coaching
Scrum Team Group Coaching
 
Gamification at the workplace
Gamification at the workplaceGamification at the workplace
Gamification at the workplace
 
Escaping the Priority Trap
Escaping the Priority TrapEscaping the Priority Trap
Escaping the Priority Trap
 
Portfolio management
Portfolio management Portfolio management
Portfolio management
 
Enterprise agile Framework
Enterprise agile FrameworkEnterprise agile Framework
Enterprise agile Framework
 
Introduction
IntroductionIntroduction
Introduction
 

Recently uploaded

What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Agile Club # 11 - 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 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).
  • 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