SlideShare a Scribd company logo
1 of 42
Agile Software Development
          making programming fun again
How Projects Really Work




Software engineering done right.
How the customer explained it




Software engineering done right.
How the project leader understood it




Software engineering done right.
How the analyst designed it




Software engineering done right.
How the programmer wrote it




Software engineering done right.
How the business consultant described it




Software engineering done right.
How the project was documented




Software engineering done right.
How much the project cost




Software engineering done right.
What the customer really needed




Software engineering done right.
“CHAOS Report” by Standish Group




Software engineering done right.
Challenged Projects - Reasons
 
      Lack of User Input           
                                       Technology
 
      Incomplete                       Incompetence
      Requirements &               
                                       Lack of Resources
      Specifications               
                                       Unrealistic Expectations
 
      Changing Requirements        
                                       Unclear Objectives
      & Specifications             
                                       Unrealistic Time Frames
 
      Lack of Executive            
                                       New Technology
      Support




Software engineering done right.
Failed Projects - Reasons
 
      Incomplete                   
                                       Changing Requirements
      Requirements                     & Specifications
 
      Lack of User                 
                                       Lack of Planning
      Involvement                  
                                       Didn't Need It Any
 
      Lack of Resources                Longer
 
      Unrealistic Expectations     
                                       Lack of IT Management
 
      Lack of Executive            
                                       Technology Illiteracy
      Support




Software engineering done right.
Successful Projects - Reasons
 
      User involvement             
                                       Project manager
 
      Executive management             expertise
      support                      
                                       Financial management
 
      Clear business               
                                       Skilled resources
      objectives                   
                                       Formal methodology
 
      Optimizing scope             
                                       Standard tools and
 
      Agile process                    methodology




Software engineering done right.
What's wrong with “Waterfall”?




Software engineering done right.
What's wrong with “Waterfall”?

 
         Mistakes are hard to find in early stages
 
         Expensive to fix mistakes in later stages
 
         Customers don't know what they want from the
         beginning
 
         Developers don't know how long a project will take
         from the beginning
 
         Business needs change




Software engineering done right.
Effects of “Waterfall”
 
        Death March projects
         ‒
               Mis-estimated schedules lead to successive overtime
         ‒
               Delays in one stage cause delays in succeeding stages
 
        Conflict between customers and developers
         ‒
               Customers don't get the software that they want
         ‒
               Developers don't get clear requirements
 
        Process and tool obsession
         ‒
               People focus on creating artifacts but lose sight of the
               goal of working software
         ‒
               Processes replace natural communication


Software engineering done right.
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.




Software engineering done right.
Selected Practices

 
        Iterative Development
 
        User Stories
 
        Test-Driven Development
 
        One Team
 
        Self-Managed Teams
 
        Sustainable Pace




Software engineering done right.
Iterative Development

 
        Software development as an evolutionary process




Software engineering done right.
Iterative Development

 
        All steps of SDLC are done at each iteration




Software engineering done right.
Iterative Development

 
        Working software produced at each iteration
       –     No such thing as “X% complete”, only done and not
             done




Software engineering done right.
Iterative Development

 
        Benefits
         ‒       Customers can evaluate what they want and adjust
                 requirements
         ‒       Developers get better estimates of future tasks
         ‒       Better communication between customer and
                 developers and among developers
                        
                                   Talk is about something concrete, not abstract
         ‒       Just enough artifacts are created to produce working
                 software
                        
                                   Less waste



Software engineering done right.
User Stories

 Traditional requirements: “The system shall... the
   system shall...”




Software engineering done right.
User Stories

 As a < user role >
 In order to < business goal >
 I want to < behavior >

 
        Focus on business goals
       - Requirements have context
 
        Story-telling is the most natural way of
        communication


Software engineering done right.
Test-Driven Development
       Bugs are harder to find
        and fix when found later
       Modifying code tends to
        introduce bugs
       - Difficult to know if one has
         introduced bugs without
         tests
       Manual tests are
        expensive to repeat and
        provide limited
        information

Software engineering done right.
Test-Driven Development

 
        Programmers should write automated tests as they
        code
       - Write test before implementation
 
        Provides immediate feedback if their code works
 
        Builds suite of automated tests that can be run each
        time code is modified
 
        Makes it safe to modify existing code
 
        Frameworks: JUnit, NUnit, hundreds of others...



Software engineering done right.
Software engineering done right.
TDD Benefits

 
        Code is safe to modify
 
        Tests are excellent documentation
       - Programmers hate writing documentation, but they like to
         code
 
        Design improves
       - Programmers think of their code's behavior before coding
       - Programmers see their code from a second-person's
         point-of-view
                        •     Is my code readable? Easy to use?
       - Components become decoupled to facilitate testing

Software engineering done right.
One Team

 
        Everyone is considered
        part of one team,
        including the customer
 
        Developers, testers,
        business analysts,
        project managers, web
        designers, etc, work in
        the same place,
                   place
        usually on the same
        table


Software engineering done right.
Software engineering done right.
One Team

 
         Faster communication
             –      Issues resolved faster
 
         Natural communication
             –      Face-to-face, ad hoc and continuous throughout the
                    day
 
         Less misunderstanding and antagonism between
         functional groups




Software engineering done right.
Self-Managed Teams

 When teams manage themselves...
 
     Higher motivation
 
     More creative solutions
 
     Faster resolution of issues
 
     Drive for continuous improvement




Software engineering done right.
Self-Managed Teams

 Practices/Tools
 
     Daily Stand-Up Meetings
 
     Retrospectives
 
     Big Visible Charts,
     Whiteboards
 
     Direct access to
     customers




Software engineering done right.
Sustainable Pace

 
        Overtime leads to
        lower productivity
 
        Lowers morale




Software engineering done right.
Sustainable Pace

 
        Team should measure “velocity” at each iteration
 
        Keep work load within velocity
 
        If iteration load was underestimated, ask customer
        to decide which features to move to future iterations




Software engineering done right.
Other Practices...
 
            Planning
 
            Tracking
 
            Continuous Integration
 
            Pair Programming
 
            Refactoring
 
            Planning Boards
 
            Burn-Down Charts
 
            Collective Code Ownership
 
            Coding Standards
 Many more...
Software engineering done right.
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


Software engineering done right.
Open Workspaces




Software engineering done right.
Project Automation




Software engineering done right.
Collaborative Design




Software engineering done right.
Agile Training




Software engineering done right.

More Related Content

What's hot

Why EPM Live? EPM Live Overview and Demo
Why EPM Live? EPM Live Overview and DemoWhy EPM Live? EPM Live Overview and Demo
Why EPM Live? EPM Live Overview and Demo
EPM Live
 
Moah Mini Upa2009
Moah Mini Upa2009Moah Mini Upa2009
Moah Mini Upa2009
ayemoah
 
Agile Business Intelligence - course notes
Agile Business Intelligence - course notesAgile Business Intelligence - course notes
Agile Business Intelligence - course notes
Evan Leybourn
 

What's hot (20)

The Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software DevelopmentThe Business Analysts Role in Agile Software Development
The Business Analysts Role in Agile Software Development
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 
Agile development
Agile developmentAgile development
Agile development
 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer Perspective
 
Kevin bryan coduru
Kevin bryan coduruKevin bryan coduru
Kevin bryan coduru
 
Bdd Introduction
Bdd IntroductionBdd Introduction
Bdd Introduction
 
Solution Architecture tips & tricks by Roman Shramkov
Solution Architecture tips & tricks by Roman ShramkovSolution Architecture tips & tricks by Roman Shramkov
Solution Architecture tips & tricks by Roman Shramkov
 
Software Modernization
Software ModernizationSoftware Modernization
Software Modernization
 
Why EPM Live? EPM Live Overview and Demo
Why EPM Live? EPM Live Overview and DemoWhy EPM Live? EPM Live Overview and Demo
Why EPM Live? EPM Live Overview and Demo
 
Behavior Driven Development (BDD)
Behavior Driven Development (BDD)Behavior Driven Development (BDD)
Behavior Driven Development (BDD)
 
Moah Mini Upa2009
Moah Mini Upa2009Moah Mini Upa2009
Moah Mini Upa2009
 
A littlebook about agile
A littlebook about agileA littlebook about agile
A littlebook about agile
 
Agile Business Intelligence
Agile Business IntelligenceAgile Business Intelligence
Agile Business Intelligence
 
Essential Elements Of Distributed Agile
Essential Elements Of Distributed AgileEssential Elements Of Distributed Agile
Essential Elements Of Distributed Agile
 
Cu32604607
Cu32604607Cu32604607
Cu32604607
 
Agile Maintenance
Agile MaintenanceAgile Maintenance
Agile Maintenance
 
Agile Overview As V1.2
Agile Overview As V1.2Agile Overview As V1.2
Agile Overview As V1.2
 
Softexpert Proje ve Portfolio Yonetimi
Softexpert Proje ve Portfolio YonetimiSoftexpert Proje ve Portfolio Yonetimi
Softexpert Proje ve Portfolio Yonetimi
 
ERP Implementation Methodology
ERP Implementation MethodologyERP Implementation Methodology
ERP Implementation Methodology
 
Agile Business Intelligence - course notes
Agile Business Intelligence - course notesAgile Business Intelligence - course notes
Agile Business Intelligence - course notes
 

Viewers also liked

Viewers also liked (11)

Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
 
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
 
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
 
What is agile
What is agileWhat is agile
What is agile
 
Agile Executive Forum: Welcoming Remarks
Agile Executive  Forum: Welcoming RemarksAgile Executive  Forum: Welcoming Remarks
Agile Executive Forum: Welcoming Remarks
 
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
 
Lesser Known Opportunities in Technology
Lesser Known Opportunities in TechnologyLesser Known Opportunities in Technology
Lesser Known Opportunities in Technology
 
Agile Executive Forum: Agile and Outsourcing
Agile Executive Forum: Agile and OutsourcingAgile Executive Forum: Agile and Outsourcing
Agile Executive Forum: Agile and Outsourcing
 
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
 

Similar to Agile Software Development - Making Programming Fun Again

Agile Injection, Varberg
Agile Injection, VarbergAgile Injection, Varberg
Agile Injection, Varberg
Fredrik Wendt
 
Ims Primavera
Ims PrimaveraIms Primavera
Ims Primavera
cleary21
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
Debora Di Piano
 
Se lect12 btech
Se lect12 btechSe lect12 btech
Se lect12 btech
IIITA
 
Se lect13 btech
Se lect13 btechSe lect13 btech
Se lect13 btech
IIITA
 
SOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPTSOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPT
Sai Charan
 
WorkEngine Overview
WorkEngine OverviewWorkEngine Overview
WorkEngine Overview
EPM Live
 

Similar to Agile Software Development - Making Programming Fun Again (20)

Agile software development
Agile software development Agile software development
Agile software development
 
Agile
AgileAgile
Agile
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Poor Man's Kanban
Poor Man's KanbanPoor Man's Kanban
Poor Man's Kanban
 
Agile Injection, Varberg
Agile Injection, VarbergAgile Injection, Varberg
Agile Injection, Varberg
 
Modern Apps and App Lifecycle
Modern Apps and App LifecycleModern Apps and App Lifecycle
Modern Apps and App Lifecycle
 
Ims Primavera
Ims PrimaveraIms Primavera
Ims Primavera
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTS
 
From Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methodsFrom Waterfall to Agile - from predictive to adaptive methods
From Waterfall to Agile - from predictive to adaptive methods
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
 
Planning for Fixed Price Agile projects. Second step_Problem investigation.
Planning for Fixed Price Agile projects. Second step_Problem investigation.Planning for Fixed Price Agile projects. Second step_Problem investigation.
Planning for Fixed Price Agile projects. Second step_Problem investigation.
 
Agile 101
Agile 101 Agile 101
Agile 101
 
SE chapter 4
SE chapter 4SE chapter 4
SE chapter 4
 
Se lect12 btech
Se lect12 btechSe lect12 btech
Se lect12 btech
 
Se lect13 btech
Se lect13 btechSe lect13 btech
Se lect13 btech
 
SOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPTSOFTWARE PROJECT MANAGEMENT TOOL PPT
SOFTWARE PROJECT MANAGEMENT TOOL PPT
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 
BDD presentation
BDD presentationBDD presentation
BDD presentation
 
WorkEngine Overview
WorkEngine OverviewWorkEngine Overview
WorkEngine Overview
 
Heart of agile by Pierre Hervouet
Heart of agile by Pierre HervouetHeart of agile by Pierre Hervouet
Heart of agile by Pierre Hervouet
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
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
 
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
WSO2 Micro Integrator for Enterprise Integration in a Decentralized, Microser...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

Agile Software Development - Making Programming Fun Again

  • 1. Agile Software Development making programming fun again
  • 2. How Projects Really Work Software engineering done right.
  • 3. How the customer explained it Software engineering done right.
  • 4. How the project leader understood it Software engineering done right.
  • 5. How the analyst designed it Software engineering done right.
  • 6. How the programmer wrote it Software engineering done right.
  • 7. How the business consultant described it Software engineering done right.
  • 8. How the project was documented Software engineering done right.
  • 9. How much the project cost Software engineering done right.
  • 10. What the customer really needed Software engineering done right.
  • 11. “CHAOS Report” by Standish Group Software engineering done right.
  • 12. Challenged Projects - Reasons  Lack of User Input  Technology  Incomplete Incompetence Requirements &  Lack of Resources Specifications  Unrealistic Expectations  Changing Requirements  Unclear Objectives & Specifications  Unrealistic Time Frames  Lack of Executive  New Technology Support Software engineering done right.
  • 13. Failed Projects - Reasons  Incomplete  Changing Requirements Requirements & Specifications  Lack of User  Lack of Planning Involvement  Didn't Need It Any  Lack of Resources Longer  Unrealistic Expectations  Lack of IT Management  Lack of Executive  Technology Illiteracy Support Software engineering done right.
  • 14. Successful Projects - Reasons  User involvement  Project manager  Executive management expertise support  Financial management  Clear business  Skilled resources objectives  Formal methodology  Optimizing scope  Standard tools and  Agile process methodology Software engineering done right.
  • 15. What's wrong with “Waterfall”? Software engineering done right.
  • 16. What's wrong with “Waterfall”?  Mistakes are hard to find in early stages  Expensive to fix mistakes in later stages  Customers don't know what they want from the beginning  Developers don't know how long a project will take from the beginning  Business needs change Software engineering done right.
  • 17. Effects of “Waterfall”  Death March projects ‒ Mis-estimated schedules lead to successive overtime ‒ Delays in one stage cause delays in succeeding stages  Conflict between customers and developers ‒ Customers don't get the software that they want ‒ Developers don't get clear requirements  Process and tool obsession ‒ People focus on creating artifacts but lose sight of the goal of working software ‒ Processes replace natural communication Software engineering done right.
  • 18. 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. Software engineering done right.
  • 19. Selected Practices  Iterative Development  User Stories  Test-Driven Development  One Team  Self-Managed Teams  Sustainable Pace Software engineering done right.
  • 20. Iterative Development  Software development as an evolutionary process Software engineering done right.
  • 21. Iterative Development  All steps of SDLC are done at each iteration Software engineering done right.
  • 22. Iterative Development  Working software produced at each iteration – No such thing as “X% complete”, only done and not done Software engineering done right.
  • 23. Iterative Development  Benefits ‒ Customers can evaluate what they want and adjust requirements ‒ Developers get better estimates of future tasks ‒ Better communication between customer and developers and among developers  Talk is about something concrete, not abstract ‒ Just enough artifacts are created to produce working software  Less waste Software engineering done right.
  • 24. User Stories Traditional requirements: “The system shall... the system shall...” Software engineering done right.
  • 25. User Stories As a < user role > In order to < business goal > I want to < behavior >  Focus on business goals - Requirements have context  Story-telling is the most natural way of communication Software engineering done right.
  • 26. Test-Driven Development  Bugs are harder to find and fix when found later  Modifying code tends to introduce bugs - Difficult to know if one has introduced bugs without tests  Manual tests are expensive to repeat and provide limited information Software engineering done right.
  • 27. Test-Driven Development  Programmers should write automated tests as they code - Write test before implementation  Provides immediate feedback if their code works  Builds suite of automated tests that can be run each time code is modified  Makes it safe to modify existing code  Frameworks: JUnit, NUnit, hundreds of others... Software engineering done right.
  • 29. TDD Benefits  Code is safe to modify  Tests are excellent documentation - Programmers hate writing documentation, but they like to code  Design improves - Programmers think of their code's behavior before coding - Programmers see their code from a second-person's point-of-view • Is my code readable? Easy to use? - Components become decoupled to facilitate testing Software engineering done right.
  • 30. One Team  Everyone is considered part of one team, including the customer  Developers, testers, business analysts, project managers, web designers, etc, work in the same place, place usually on the same table Software engineering done right.
  • 32. One Team  Faster communication – Issues resolved faster  Natural communication – Face-to-face, ad hoc and continuous throughout the day  Less misunderstanding and antagonism between functional groups Software engineering done right.
  • 33. Self-Managed Teams When teams manage themselves...  Higher motivation  More creative solutions  Faster resolution of issues  Drive for continuous improvement Software engineering done right.
  • 34. Self-Managed Teams Practices/Tools  Daily Stand-Up Meetings  Retrospectives  Big Visible Charts, Whiteboards  Direct access to customers Software engineering done right.
  • 35. Sustainable Pace  Overtime leads to lower productivity  Lowers morale Software engineering done right.
  • 36. Sustainable Pace  Team should measure “velocity” at each iteration  Keep work load within velocity  If iteration load was underestimated, ask customer to decide which features to move to future iterations Software engineering done right.
  • 37. Other Practices...  Planning  Tracking  Continuous Integration  Pair Programming  Refactoring  Planning Boards  Burn-Down Charts  Collective Code Ownership  Coding Standards Many more... Software engineering done right.
  • 38. 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 Software engineering done right.