KEMBAR78
Agile Club # 11 - Agile Programming Techniques | PPTX
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

Agile Club # 11 - Agile Programming Techniques

  • 1.
    Hosam Bayomy |Co-Founder & Principal Software Architect | Kites Software Agile Programming AUG Cairo
  • 2.
    Agenda Connect to Valuesand Principles Agile Programming Gray Projects (Legacy)
  • 3.
    Kites Agile Journey HosamBayomy 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 RetrospectiveMeeting 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 CodingStandards 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 (BitbucketPipeline) 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 andDevelopers must work together daily throughout the project (principle 4).
  • 9.
    Agile Principles Coaching Facilitation Mentoring Teaching Build projectsaround 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 UpChart 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 ofDone 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 PersonalPlan 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. ViableArch. 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 improveteam agility https://www.linkedin.com/pulse/how-improve-your-teams-burn-up-chart-somaya-aboulwafa/
  • 15.
    Agenda Connect to Valuesand Principles Agile Programming Gray Projects (Legacy)
  • 16.
    Code Standards Scannable Code CleanCode 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)
  • 17.
  • 18.
    Agenda Connect to Valuesand 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 CodeExtraction 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 everyoneabout 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. Consultexternal Coach. Self-Organized Team. The best architectures, requirements, and designs emerge from self-organizing teams (principle 11).
  • 23.
    Environment Build projects aroundmotivated 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