SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
What is Agile?
Introduction to Agile Software Development
How Projects Really Work
How the customer explained it
How the project leader understood it
How the analyst designed it
How the programmer wrote it
How the business consultant described it
How the project was documented
How much the project cost
What the customer really needed
Agenda

  What is Agile?
     Agile Manifesto
     Benefits
  Values
  Selected Practices
  Agile at Orange & Bronze
What is Agile?

  Family of methodologies that
  advocate “lightweight” and
  “human” software development
  processes
     Extreme Programming (XP),
     Scrum, Kanban, Lean, Crystal,
     Agile Unified Process...


  Coined in 2001 by the creators
  of similar methodologies
  reacting to “heavyweight”
  methodologies
     “heavyweight”: too much work
What is Agile?

  Emphasis on...
    Customer satisfaction
    Job satisfaction
    Remove things that do not contribute to above


  Culture
    Values and attitude of people involved are just as
    important as processes
The Agile Manifesto

We are uncovering better ways of developing software
by doing it and helping others do it. Through this work
we have come to value:
   Individuals and interactions over processes and
   tools
   Working software over comprehensive
   documentation
   Customer collaboration over contract negotiation
   Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.
Benefits

Studies show...
   Improved customer satisfaction
      Higher quality
      Better predictability
   Improved employee retention
      Higher job satisfaction
   Mainstream acceptance
      Your clients are probably adopting agile
Values

  Communication
  Simplicity
  Feedback
  Courage
  Respect
Communication

  Goal is shared view
  Documentation should have a purpose
  Face-to-face is preferred
  Common work area
    Cubicles discouraged
Simplicity

  YAGNI – You Ain't Gonna Need It
     Don't overcomplicate with what might be needed in the
     future. Things may will change.
  Use simplest possible solution
     Design, code, documentation, tools, etc
     Improves communication
Feedback

  From System
     Automated tests and continuous integration
  From Customer
     Acceptance tests and frequent interactions
  From Team
     Team communicates estimates and issues with
     customer and among themselves
  Feedback becomes input to project leading to
  continuous improvement
Courage

  Find and discuss problems early
    Especially with client
  Say when you need help
  Change and experiment to continuously improve
    New requirements
    Refactoring
    New processes and practices
    New technologies and tools
Respect

  Don't commit broken code
  Keep automated tests running
  Don't delay the work of others
  Maintain quality and communication
  Keep teammates motivated
Selected Practices

To be discussed:        Others:
   Whole Team              Continuous Integration
   Customer/Developer      Stand-Up Meetings
   Roles                   Self-Managed Teams
   Short Iterations        Pair Programming
   Test-Driven             Refactoring
   Development
                           User Stories
   Planning
                           Planning Boards
   Tracking
                           Burn-Down Charts
   Sustainable Pace
                           Retrospectives
                           Collective Code
Whole Team

  Everyone involved should feel part of one team,
  including customer
     Often requires educating customer
  Everyone should be easily accessible for questions
  and other impromptu communication
  Common work area where possible, frequent
  meetings where not
  Shared access to resources
     Common repository, issue tracker, etc
  Focus
     People ideally should have only one project at a time
Customer/Developer Roles


                 Customer




   Developer                Developer




                 Customer
Short Iterations

What's the problem with
“Waterfall”?
  Mistakes are hard to
  find in early stages
     Difficult to validate
  Change becomes more
  expensive in later
  stages
Short Iterations

Reality...
  Customers don't know
  what they want until
  they see it
  Developers don't know
  how hard a problem is
  until they start
  Business needs change
Short Iterations

  Evolutionary approach
  Each iteration is complete development cycle
     Analysis, Design, Implementation, Testing, and
     sometimes incremental Deployment
  Output is working, usable software!
  Demo session held with customer at end of iteration
     gain feedback
     adjust plans for succeeding iterations
  1 – 3 weeks
Test-Driven Development

  Tests are central to development process
  Types
     Unit Tests: method and class level
     Integration Tests: between classes, components and
     other systems
     Acceptance Tests: customer requirements defined as
     tests
  Tests are automated where possible
     Unit, Integration – always
Test-Driven Development

   Tests are unambiguous requirements specifications
      Avoid misunderstandings by defining requirements as
      acceptance tests!
   Unit tests cut the time spent finding bugs
      Fixing a bug is usually easy, finding it is a nightmare!
   Unit tests shape design
      Components are decoupled, interfaces well-thought
Tests are written before and during implementation
Planning

1. Customers define and prioritize requirements
     Often as “user stories” - lightweight use cases
2. Dev team collectively estimates cost of each
   requirement
     Assign “points” to each
3. Customers review requirements against cost and
   may re-prioritize
4. Dev team distributes requirements across iterations,
   according to estimated team “velocity”
     Higher priority requirements go to earlier iterations
Tracking

  Dev team tracks progress each day, usually via
  “burn down chart”
Tracking

  If dev team sees that iteration schedule will not be
  met, they inform customer immediately
     Too much work – inform customer which requirements
     will not be delivered at iteration ind
     Too little work – request more work from customer or
     pull from “backlog”
  Iteration end date does not move. Only workload
  changes.
Sustainable Pace

  Studies show that productivity drops when
  developers work long hours for extended periods
  Overtime should be controlled and avoided where
  possible
  Communication and courage with customer is
  important
    Track velocity and inform customer early if expected
    schedules will not be met
    Use experience as input for future schedules, ask
    customer to review and re-prioritize requirements
Agile at Orange & Bronze

  Been doing Agile since its foundation in 2005
     Before it became mainstream
  We've tried different methodologies and practices
     XP, Scrum, Kanban
     Not all practices work in all conditions
  The first to offer training in Agile methodologies and
  practices
     Scrum, TDD, Agile Business Analysis, Agile QA, etc
     Trainers are seasoned practictioners
Open Workspaces
Planning Board
Online Charts
Domain Design
Agile Training (internal)
For our Agile and Java training courses, go to:
http://orangeandbronze.com/course-offerings

Contenu connexe

Tendances

Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Groupsuwalki24.pl
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development PrimerDerek Winter
 
Agile Development
Agile DevelopmentAgile Development
Agile Developmentabdpse
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) ModelDamian T. Gordon
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingaaina_katyal
 
ISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about CertificationISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about CertificationMichał Dudziak
 
Agile Pmi 102108 Final
Agile Pmi 102108 FinalAgile Pmi 102108 Final
Agile Pmi 102108 Finalbmcglin
 
Agile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant VashishthaAgile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant VashishthaShriKant Vashishtha
 
XP Explained
XP ExplainedXP Explained
XP Explainedvineet
 
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014Lean India Summit
 
Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...
Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...
Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...Apple Taton
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
Agile Manifesto Values
Agile Manifesto ValuesAgile Manifesto Values
Agile Manifesto ValuesNikolai F.
 
Agile Testing Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015Agile Testing   Agile Ottawa April 2015
Agile Testing Agile Ottawa April 2015Dag Rowe
 

Tendances (20)

Xtreme Programming
Xtreme ProgrammingXtreme Programming
Xtreme Programming
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Resume
ResumeResume
Resume
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User GroupAgile Testing - presentation for Agile User Group
Agile Testing - presentation for Agile User Group
 
An Agile Development Primer
An Agile Development PrimerAn Agile Development Primer
An Agile Development Primer
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
ISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about CertificationISTQB agile tester exam - Conclusions about Certification
ISTQB agile tester exam - Conclusions about Certification
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Pmi 102108 Final
Agile Pmi 102108 FinalAgile Pmi 102108 Final
Agile Pmi 102108 Final
 
Agile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant VashishthaAgile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant Vashishtha
 
XP Explained
XP ExplainedXP Explained
XP Explained
 
Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
 
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
From Productivity to Profitability by Saket Bansal - Lean India Summit 2014
 
Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...
Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...
Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Agile Manifesto Values
Agile Manifesto ValuesAgile Manifesto Values
Agile Manifesto Values
 
Agile Testing Agile Ottawa April 2015
Agile Testing   Agile Ottawa April 2015Agile Testing   Agile Ottawa April 2015
Agile Testing Agile Ottawa April 2015
 

En vedette (11)

Google Apps for Business with Archiving & Discovery
Google Apps for Business with Archiving & Discovery Google Apps for Business with Archiving & Discovery
Google Apps for Business with Archiving & Discovery
 
Agile Executive Forum: Welcoming Remarks
Agile Executive  Forum: Welcoming RemarksAgile Executive  Forum: Welcoming Remarks
Agile Executive Forum: Welcoming Remarks
 
Agile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun AgainAgile Software Development - Making Programming Fun Again
Agile Software Development - Making Programming Fun Again
 
Technology trends and the skills you should learn
Technology trends and the skills you should learnTechnology trends and the skills you should learn
Technology trends and the skills you should learn
 
Why Most IT Projects Fail
Why Most IT Projects FailWhy Most IT Projects Fail
Why Most IT Projects Fail
 
Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
 
Agile Executive Forum: Agile and Outsourcing
Agile Executive Forum: Agile and OutsourcingAgile Executive Forum: Agile and Outsourcing
Agile Executive Forum: Agile and Outsourcing
 
Lesser Known Opportunities in Technology
Lesser Known Opportunities in TechnologyLesser Known Opportunities in Technology
Lesser Known Opportunities in Technology
 
Agile Executive Forum: Agile Development Practices at Sabre
Agile Executive  Forum: Agile Development Practices at SabreAgile Executive  Forum: Agile Development Practices at Sabre
Agile Executive Forum: Agile Development Practices at Sabre
 
Featuring JDK 7 Nio 2
Featuring JDK 7 Nio 2Featuring JDK 7 Nio 2
Featuring JDK 7 Nio 2
 
Agile Executive Forum: O&B Adoption Story
Agile Executive Forum: O&B Adoption StoryAgile Executive Forum: O&B Adoption Story
Agile Executive Forum: O&B Adoption Story
 

Similaire à What is agile

Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XPSemen Arslan
 
Best Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project ManagementBest Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project ManagementRobert McGeachy
 
Using Agile Processes on Documentum Projects
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum ProjectsBlueFish
 
Using Agile Processes on Documentum Projects
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum Projectsmufflerdog
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teamsDennis Popov
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development OverviewMark Kovacevich
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overviewguestb4c770
 
Agile driven development main principles
Agile driven development main principlesAgile driven development main principles
Agile driven development main principlesTanya Epstein
 
Notes on agile
Notes on agileNotes on agile
Notes on agileAmolS7
 
Agile testing practice
Agile testing practiceAgile testing practice
Agile testing practiceMary Jiang
 
Quality - A Priority In Service Engagements
Quality - A Priority In Service EngagementsQuality - A Priority In Service Engagements
Quality - A Priority In Service Engagementsppd1961
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrumPrudentialSolutions
 
Changing landscape of software project management
Changing landscape of software project managementChanging landscape of software project management
Changing landscape of software project managementPramesh Vaidya
 
Agile software development
Agile software developmentAgile software development
Agile software developmentpradeeppatelpmp
 

Similaire à What is agile (20)

Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XP
 
Best Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project ManagementBest Practices When Moving To Agile Project Management
Best Practices When Moving To Agile Project Management
 
Using Agile Processes on Documentum Projects
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum Projects
 
Using Agile Processes on Documentum Projects
Using Agile Processes on Documentum ProjectsUsing Agile Processes on Documentum Projects
Using Agile Processes on Documentum Projects
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Agile driven development main principles
Agile driven development main principlesAgile driven development main principles
Agile driven development main principles
 
Notes on agile
Notes on agileNotes on agile
Notes on agile
 
Agile Testing
Agile Testing Agile Testing
Agile Testing
 
Lect7
Lect7Lect7
Lect7
 
Lect7
Lect7Lect7
Lect7
 
Agile testing practice
Agile testing practiceAgile testing practice
Agile testing practice
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Quality - A Priority In Service Engagements
Quality - A Priority In Service EngagementsQuality - A Priority In Service Engagements
Quality - A Priority In Service Engagements
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
Changing landscape of software project management
Changing landscape of software project managementChanging landscape of software project management
Changing landscape of software project management
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Agile testing
Agile testingAgile testing
Agile testing
 
QA in Agile World
QA in Agile WorldQA in Agile World
QA in Agile World
 

Dernier

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Dernier (20)

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

What is agile

  • 1. What is Agile? Introduction to Agile Software Development
  • 3. How the customer explained it
  • 4. How the project leader understood it
  • 5. How the analyst designed it
  • 7. How the business consultant described it
  • 8. How the project was documented
  • 9. How much the project cost
  • 10. What the customer really needed
  • 11. Agenda What is Agile? Agile Manifesto Benefits Values Selected Practices Agile at Orange & Bronze
  • 12. What is Agile? Family of methodologies that advocate “lightweight” and “human” software development processes Extreme Programming (XP), Scrum, Kanban, Lean, Crystal, Agile Unified Process... Coined in 2001 by the creators of similar methodologies reacting to “heavyweight” methodologies “heavyweight”: too much work
  • 13. What is Agile? Emphasis on... Customer satisfaction Job satisfaction Remove things that do not contribute to above Culture Values and attitude of people involved are just as important as processes
  • 14. The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  • 15. Benefits Studies show... Improved customer satisfaction Higher quality Better predictability Improved employee retention Higher job satisfaction Mainstream acceptance Your clients are probably adopting agile
  • 16. Values Communication Simplicity Feedback Courage Respect
  • 17. Communication Goal is shared view Documentation should have a purpose Face-to-face is preferred Common work area Cubicles discouraged
  • 18. Simplicity YAGNI – You Ain't Gonna Need It Don't overcomplicate with what might be needed in the future. Things may will change. Use simplest possible solution Design, code, documentation, tools, etc Improves communication
  • 19. Feedback From System Automated tests and continuous integration From Customer Acceptance tests and frequent interactions From Team Team communicates estimates and issues with customer and among themselves Feedback becomes input to project leading to continuous improvement
  • 20. Courage Find and discuss problems early Especially with client Say when you need help Change and experiment to continuously improve New requirements Refactoring New processes and practices New technologies and tools
  • 21. Respect Don't commit broken code Keep automated tests running Don't delay the work of others Maintain quality and communication Keep teammates motivated
  • 22. Selected Practices To be discussed: Others: Whole Team Continuous Integration Customer/Developer Stand-Up Meetings Roles Self-Managed Teams Short Iterations Pair Programming Test-Driven Refactoring Development User Stories Planning Planning Boards Tracking Burn-Down Charts Sustainable Pace Retrospectives Collective Code
  • 23. Whole Team Everyone involved should feel part of one team, including customer Often requires educating customer Everyone should be easily accessible for questions and other impromptu communication Common work area where possible, frequent meetings where not Shared access to resources Common repository, issue tracker, etc Focus People ideally should have only one project at a time
  • 24. Customer/Developer Roles Customer Developer Developer Customer
  • 25. Short Iterations What's the problem with “Waterfall”? Mistakes are hard to find in early stages Difficult to validate Change becomes more expensive in later stages
  • 26. Short Iterations Reality... Customers don't know what they want until they see it Developers don't know how hard a problem is until they start Business needs change
  • 27. Short Iterations Evolutionary approach Each iteration is complete development cycle Analysis, Design, Implementation, Testing, and sometimes incremental Deployment Output is working, usable software! Demo session held with customer at end of iteration gain feedback adjust plans for succeeding iterations 1 – 3 weeks
  • 28. Test-Driven Development Tests are central to development process Types Unit Tests: method and class level Integration Tests: between classes, components and other systems Acceptance Tests: customer requirements defined as tests Tests are automated where possible Unit, Integration – always
  • 29. Test-Driven Development Tests are unambiguous requirements specifications Avoid misunderstandings by defining requirements as acceptance tests! Unit tests cut the time spent finding bugs Fixing a bug is usually easy, finding it is a nightmare! Unit tests shape design Components are decoupled, interfaces well-thought Tests are written before and during implementation
  • 30. Planning 1. Customers define and prioritize requirements Often as “user stories” - lightweight use cases 2. Dev team collectively estimates cost of each requirement Assign “points” to each 3. Customers review requirements against cost and may re-prioritize 4. Dev team distributes requirements across iterations, according to estimated team “velocity” Higher priority requirements go to earlier iterations
  • 31. Tracking Dev team tracks progress each day, usually via “burn down chart”
  • 32. Tracking If dev team sees that iteration schedule will not be met, they inform customer immediately Too much work – inform customer which requirements will not be delivered at iteration ind Too little work – request more work from customer or pull from “backlog” Iteration end date does not move. Only workload changes.
  • 33. Sustainable Pace Studies show that productivity drops when developers work long hours for extended periods Overtime should be controlled and avoided where possible Communication and courage with customer is important Track velocity and inform customer early if expected schedules will not be met Use experience as input for future schedules, ask customer to review and re-prioritize requirements
  • 34. Agile at Orange & Bronze Been doing Agile since its foundation in 2005 Before it became mainstream We've tried different methodologies and practices XP, Scrum, Kanban Not all practices work in all conditions The first to offer training in Agile methodologies and practices Scrum, TDD, Agile Business Analysis, Agile QA, etc Trainers are seasoned practictioners
  • 40. For our Agile and Java training courses, go to: http://orangeandbronze.com/course-offerings