SlideShare a Scribd company logo
1 of 72
Agile Development Dennis Degryse- DEBOCOM bvba.
16/03/2011 Agile Development 2
Contents Object-Oriented Analysis and Design Planning Waterfall Development Process Scrum Extreme Programming Conclusion 16/03/2011 Agile Development 3
Object-oriented analysis and design Agile Development
Object-oriented Analysis and Design Conceptual models OO Systems OO Analysis What should it do? OO Design How should it do it? Reflects structures in the actual business process 16/03/2011 Agile Development 5
Object-oriented Analysis and Design Requirements analysis Functional Requirements Quality requirements Domain analysis Activity diagrams Sequence diagrams 16/03/2011 Agile Development 6
Requirements Analysis 16/03/2011 Agile Development 7
Requirements Analysis Functional Requirements Defines functions in a software system What should the system be able to DO? Hierarchy Use-cases Input Processing Output 16/03/2011 Agile Development 8
Requirements Analysis Stakeholder interviews 16/03/2011 Agile Development 9
Requirements Analysis Use-case diagram 16/03/2011 Agile Development 10
Requirements Analysis Quality Requirements What is the system supposed to BE? Execution Qualities Security, usability Evolution Qualities Testability, maintainability, scalability, extensibility 16/03/2011 Agile Development 11
Domain Analysis Model-driven Object-oriented models Entity-relationship diagrams Basis for software architectures 16/03/2011 Agile Development 12
Domain Analysis Object-oriented model Entity-relationship diagram 16/03/2011 Agile Development 13
Activity Diagram Workflow of components in a system Explains a process in more detail using models Uses stepwise activities and actions Petri net-like semantics 16/03/2011 Agile Development 14
Activity Diagram Activity Diagram 16/03/2011 Agile Development 15
Sequence Diagram Interaction between processes Specification of runtime scenarios Diagram Object life lines Messages (A)synchronous calls Return messages 16/03/2011 Agile Development 16
Sequence Diagram Sequence Diagram 16/03/2011 Agile Development 17
Planning Agile Development
Planning Problems Estimating time costs Unplanned interrupts Different team member qualities Changing requirements 16/03/2011 Agile Development 19
Estimating Time Costs Clearly define all requirements Define a fixed scope Planning Poker Estimating time cost per use case Minimizes anchoring More accurate estimates 16/03/2011 Agile Development 20
Planning Poker Traditional Planning Planning Poker 4 4 4 2 1 2 4 4 4 3 2 3 5 5 5 4 5 5 5 4 16/03/2011 Agile Development 21
Unplanned interrupts Prevention System back-up, source control, … Deep analysis Planning margin Reserve time for unplanned interrupts Max. 80% 16/03/2011 Agile Development 22
Different Team Member Qualities Right task for the right team member Stimulate team members to… … work closely together … increase communication Share knowledge 16/03/2011 Agile Development 23
Changing Requirements Additional functionalities Within the scope of the project? Changes in existing functionalities Prevention Stakeholder interviews, analysis, contracts, … Generic code and architecture 16/03/2011 Agile Development 24
Waterfall development process Agile Development
Waterfall Development Process 16/03/2011 Agile Development 26
Waterfall Development Process Traditional Problems Adaptability Visibility Business value Hard to plan 16/03/2011 Agile Development 27
Waterfall Development Process Visibilty Adaptability 16/03/2011 Agile Development 28
Waterfall Development Process Business value Risk 16/03/2011 Agile Development 29
Waterfall Development Process Results Estimated time is nearly 50% of actual time cost Project cost is much higher than estimated Functionality is not what the customer asked for 16/03/2011 Agile Development 30
Scrum Agile Development
Scrum Artifacts Roles Process Preparation Sprints Deliverable 16/03/2011 Agile Development 32
Artefacts Product scope Product backlog Product burndown Delta report Impediments list Sprint scope Sprint backlog Sprint burndown 16/03/2011 Agile Development 33
Roles Product owner Business perspective Voice of the costumer Manages Product Backlog Scrum master Coach and fixer Evaluating 16/03/2011 Agile Development 34
Roles Product owner Business perspective Voice of the costumer Manages Product Backlog Scrum master Coach and fixer Evaluating Team members 16/03/2011 Agile Development 35
Process Preparation Deliverable Sprints 16/03/2011 Agile Development 36
Preparation Initial product backlog Output from analysis Stories (functionality) Priorities Initial release plan Business case Team assembly Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 37
Sprints A sprint is… … a focused effort for a 2 (up to 4)-week period toward fixed goals … a 6-step cycle Sprint Planning Meeting Daily Cycle Product Increment Sprint Review Sprint Retrospective Update Product Backlog Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 38
Sprint Planning Meeting Select functionalities to implement Snapshot of stories from Product Backlog Re-evaluate Time estimates Priorities Scope Output Sprint Backlog Sprint Goal Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 39
Daily Cycle Daily Scrum Brief meeting (max. 15 min) Eliminate speed impediments Daily Work Pair Programming Continuous Testing Continuous Integration Refactoring Measuring Project Velocity Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 40
Daily Cycle Burndown Chart Visual representation offinished and remainingstories Sprint-level Product-level Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 41
Product Increment Demonstration To users and stakeholders Working software Evaluation Progress status Feedback Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 42
Sprint Review Assessment of project progress On WHAT the team is building Required adaptations Next course to take Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog SprintReview Sprint Retro-spective 16/03/2011 Agile Development 43
Sprint Retrospective Meeting about project progress On HOW the team is building Increase productivity Keep work enjoyable Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog SprintReview Sprint Retro-spective 16/03/2011 Agile Development 44
Update Product Backlog Meeting about project progress Add new requirements Update priorities Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog SprintReview Sprint Retro-spective 16/03/2011 Agile Development 45
Deliverable Offering the product owner visibility Demonstration Fully functional Product Offering adaptability Feedbackper sprint Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 46
Extreme programming Agile Development
Extreme Programming Pair Programming KISS Continuous Testing Continuous Integration Continuous Refactoring 16/03/2011 Agile Development 48
Pair Programming Rules 1 Keyboard 2 Programmers Typing and tactically thinking Strategically thinking Advantages Same productivity Higher quality 16/03/2011 Agile Development 49
KISS Keep it stupid/simple Only implement what’s required now Refactor in the future 16/03/2011 Agile Development 50
Continuous Testing Advantages Deterministically measuring progress Preventing defects Test First Writing tests before actual code Unit-level and acceptance-level 16/03/2011 Agile Development 51
Continuous Integration Rules Quickly release code Hold onto changes for max. 1 day Everyone works on the latest version Advantages Avoiding and detecting compatibility issues early Avoiding diverging and fragmented development 16/03/2011 Agile Development 52
Continuous Refactoring Problems Readability of code Maintainability of code Navigating code Design correctness 16/03/2011 Agile Development 53
Continuous Refactoring Readability of code The smell of code Duplicate code smell Long method smell Code comments smell 16/03/2011 Agile Development 54
Continuous Refactoring Duplicate code smell Textual level Conceptual level Long method smell Code comments smell Apologies for code that’s hard to read Code should be self-explanatory Comments should describe why, not what. 16/03/2011 Agile Development 55
Continuous Refactoring Maintainability of code The smell of code Feature envy code smell Object-oriented myopia code smell Inappropriate intimacy code smell Lazy class code smell Contrived complexity code smell 16/03/2011 Agile Development 56
Continuous Refactoring Feature envy code smell Highly coupled classes Delineation of logic Object-oriented myopia code smell Fallacy of reuse Inappropriate intimacy code smell Encapsulation 16/03/2011 Agile Development 57
Continuous Refactoring Lazy class code smell Classes that have little or nothing to do Contrived complexity code smell Urge to use design patterns Extra complexity for the sake of complexity 16/03/2011 Agile Development 58
Continuous Refactoring Navigating code Conventions Consistency Naming Scoping IDE Diagrams 16/03/2011 Agile Development 59
Continuous Refactoring Design correctness Liskov substitution principle Sibling refactoring Refactor to one class Composition over inheritance Events over virtual methods Delegation over inheritance 16/03/2011 Agile Development 60
Continuous Refactoring Solutions Remove redundancy Rejuvenate obsolete designs Express everything once and only once Advantages Avoiding messy code and complexity Code is easier to understand and maintain Less time required to produce an improved system 16/03/2011 Agile Development 61
Improving Extreme Programming Disadvantages of XP Pair programming in small teams Refactoring over generic design Improvements Increase communication and integration speed Logging of documentation sources Deep analysis before coding is still a best practice 16/03/2011 Agile Development 62
TOOLS Agile Development
Tools Analysis UML Software IDE Plugin’s Round-trip engineering tools Scrum and Extreme Programming Ticketing software Code repositories with version control Time registration software 16/03/2011 Agile Development 64
Analysis UML Software Visual Paradigm Microsoft Visio Umbrello MS Visual Studio 2010 16/03/2011 Agile Development 65
Scrum and Extreme Programming Web-based front-ends Assembla Trac Jira Repositories SVN GIT Mercurial CVS 16/03/2011 Agile Development 66
Conclusion Agile Development
Conclusion Iterative process Continuous evolution Planning Developing Refactoring Testing Integration 16/03/2011 Agile Development 68
Conclusion Visibilty Adaptability 16/03/2011 Agile Development 69
Conclusion Business value Risk 16/03/2011 Agile Development 70
Q&A Agile Development
Q&A 16/03/2011 Agile Development 72

More Related Content

What's hot

Apt agile methodology
Apt agile methodologyApt agile methodology
Apt agile methodology
Indra
 
Agile introduction for dummies
Agile introduction for dummiesAgile introduction for dummies
Agile introduction for dummies
Vinay Dixit
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentation
deyoepw
 
Agile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management TrainingAgile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management Training
Resit Gulec, MBA, PMP®, ITIL®
 
Scrum Primer
Scrum PrimerScrum Primer
Scrum Primer
davelucey
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
James Sutter
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
Mohan Late
 
Sprint backlog specified by example
Sprint backlog specified by exampleSprint backlog specified by example
Sprint backlog specified by example
Agora Group
 

What's hot (20)

Scrum - Agile Methodology
Scrum - Agile MethodologyScrum - Agile Methodology
Scrum - Agile Methodology
 
Apt agile methodology
Apt agile methodologyApt agile methodology
Apt agile methodology
 
Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models Agile vs Iterative vs Waterfall models
Agile vs Iterative vs Waterfall models
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Agile introduction for dummies
Agile introduction for dummiesAgile introduction for dummies
Agile introduction for dummies
 
CAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development PresentationCAI - Agile Scrum Development Presentation
CAI - Agile Scrum Development Presentation
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentation
 
Agile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management TrainingAgile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management Training
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Scrum Primer
Scrum PrimerScrum Primer
Scrum Primer
 
Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
 
What Is Agile Scrum
What Is Agile ScrumWhat Is Agile Scrum
What Is Agile Scrum
 
Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
 
Overview of agile
Overview of agileOverview of agile
Overview of agile
 
Scrum and the agile development process
Scrum and the agile development processScrum and the agile development process
Scrum and the agile development process
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar Report
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Agile methodology and Scrum Framewwork
Agile methodology and Scrum FramewworkAgile methodology and Scrum Framewwork
Agile methodology and Scrum Framewwork
 
Agile Scrum Methodology - Introduction
Agile Scrum Methodology - IntroductionAgile Scrum Methodology - Introduction
Agile Scrum Methodology - Introduction
 
Sprint backlog specified by example
Sprint backlog specified by exampleSprint backlog specified by example
Sprint backlog specified by example
 

Viewers also liked

The Economics of Green Building
The Economics of Green BuildingThe Economics of Green Building
The Economics of Green Building
nilskok
 
Iocl compensation
Iocl compensationIocl compensation
Iocl compensation
mukti91
 
C Prog. - Operators and Expressions
C Prog. - Operators and ExpressionsC Prog. - Operators and Expressions
C Prog. - Operators and Expressions
vinay arora
 

Viewers also liked (20)

Polymer & the web components revolution 6:25:14
Polymer & the web components revolution 6:25:14Polymer & the web components revolution 6:25:14
Polymer & the web components revolution 6:25:14
 
Conflict Resolution In Kai
Conflict Resolution In KaiConflict Resolution In Kai
Conflict Resolution In Kai
 
Downtown & Infill Tax Increment Districts: Strategies for Success
Downtown & Infill Tax Increment Districts: Strategies for SuccessDowntown & Infill Tax Increment Districts: Strategies for Success
Downtown & Infill Tax Increment Districts: Strategies for Success
 
Appraisal and Performance Management in Schools - A practical approach
Appraisal and Performance Management in Schools - A practical approachAppraisal and Performance Management in Schools - A practical approach
Appraisal and Performance Management in Schools - A practical approach
 
The Economics of Green Building
The Economics of Green BuildingThe Economics of Green Building
The Economics of Green Building
 
The Etsy Shard Architecture: Starts With S and Ends With Hard
The Etsy Shard Architecture: Starts With S and Ends With HardThe Etsy Shard Architecture: Starts With S and Ends With Hard
The Etsy Shard Architecture: Starts With S and Ends With Hard
 
Increment letter format
Increment letter formatIncrement letter format
Increment letter format
 
Downtown & Infill Tax Increment Districts
Downtown & Infill Tax Increment DistrictsDowntown & Infill Tax Increment Districts
Downtown & Infill Tax Increment Districts
 
Increment Strategy ppt 2012-13 : Play this in slide show mode
Increment Strategy ppt 2012-13 : Play this in slide show modeIncrement Strategy ppt 2012-13 : Play this in slide show mode
Increment Strategy ppt 2012-13 : Play this in slide show mode
 
Lecture 8 increment_and_decrement_operators
Lecture 8 increment_and_decrement_operatorsLecture 8 increment_and_decrement_operators
Lecture 8 increment_and_decrement_operators
 
String
StringString
String
 
Iocl compensation
Iocl compensationIocl compensation
Iocl compensation
 
Incremental
IncrementalIncremental
Incremental
 
Intro To Scrum.V3
Intro To Scrum.V3Intro To Scrum.V3
Intro To Scrum.V3
 
Normal forest – growing stock and increment
Normal forest – growing stock and incrementNormal forest – growing stock and increment
Normal forest – growing stock and increment
 
Introduction to Redux
Introduction to ReduxIntroduction to Redux
Introduction to Redux
 
An overview of techniques for detecting software variability concepts in sour...
An overview of techniques for detecting software variability concepts in sour...An overview of techniques for detecting software variability concepts in sour...
An overview of techniques for detecting software variability concepts in sour...
 
C Prog. - Operators and Expressions
C Prog. - Operators and ExpressionsC Prog. - Operators and Expressions
C Prog. - Operators and Expressions
 
Kerala Service Rules-Part 1
Kerala Service Rules-Part 1Kerala Service Rules-Part 1
Kerala Service Rules-Part 1
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 

Similar to Agile Development

Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2
shankar chinn
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
Moataz Nabil
 
portfolio of products and processes
portfolio of products and processesportfolio of products and processes
portfolio of products and processes
Mark Stempski, Ph.D.
 
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
ghodgkinson
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment ppt
Shweta Ghate
 
Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2
Guang Ying Yuan
 

Similar to Agile Development (20)

An introduction to scrum 2.0
An introduction to scrum 2.0An introduction to scrum 2.0
An introduction to scrum 2.0
 
Online class intro to agile & scrum - final
Online class   intro to agile & scrum - finalOnline class   intro to agile & scrum - final
Online class intro to agile & scrum - final
 
Agile methods
Agile methodsAgile methods
Agile methods
 
Agilent Technologies Demo
Agilent Technologies DemoAgilent Technologies Demo
Agilent Technologies Demo
 
Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2
 
Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013Working Agile with Scrum and TFS 2013
Working Agile with Scrum and TFS 2013
 
portfolio of products and processes
portfolio of products and processesportfolio of products and processes
portfolio of products and processes
 
Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software Development
 
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
Case Study: Experiences Using IBM Rational Method Composer to Deliver a BPM I...
 
LeSS Like Adoption @ SAP
LeSS Like Adoption @ SAPLeSS Like Adoption @ SAP
LeSS Like Adoption @ SAP
 
Tn 100504 T Cermak Rev V2
Tn 100504 T Cermak Rev V2Tn 100504 T Cermak Rev V2
Tn 100504 T Cermak Rev V2
 
Agile Network India | Measure What Matters with OKRs and EBM | Rituraj Patil
Agile Network India | Measure What Matters with OKRs and EBM | Rituraj PatilAgile Network India | Measure What Matters with OKRs and EBM | Rituraj Patil
Agile Network India | Measure What Matters with OKRs and EBM | Rituraj Patil
 
Agile planning with Rational Team Concert
Agile planning with Rational Team ConcertAgile planning with Rational Team Concert
Agile planning with Rational Team Concert
 
Faster New Product Introduction Using Oracle Project Portfolio Management
Faster New Product Introduction Using Oracle Project Portfolio ManagementFaster New Product Introduction Using Oracle Project Portfolio Management
Faster New Product Introduction Using Oracle Project Portfolio Management
 
Agile: Not Just for Sofware
Agile: Not Just for SofwareAgile: Not Just for Sofware
Agile: Not Just for Sofware
 
Analytics SEO The Future Webinar 30th November 2011
Analytics SEO The Future Webinar 30th November 2011Analytics SEO The Future Webinar 30th November 2011
Analytics SEO The Future Webinar 30th November 2011
 
Unified process,agile process,process assesment ppt
Unified process,agile process,process assesment pptUnified process,agile process,process assesment ppt
Unified process,agile process,process assesment ppt
 
Agile Mëtteg - June 2011
Agile Mëtteg - June 2011Agile Mëtteg - June 2011
Agile Mëtteg - June 2011
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Agile Development

  • 1. Agile Development Dennis Degryse- DEBOCOM bvba.
  • 3. Contents Object-Oriented Analysis and Design Planning Waterfall Development Process Scrum Extreme Programming Conclusion 16/03/2011 Agile Development 3
  • 4. Object-oriented analysis and design Agile Development
  • 5. Object-oriented Analysis and Design Conceptual models OO Systems OO Analysis What should it do? OO Design How should it do it? Reflects structures in the actual business process 16/03/2011 Agile Development 5
  • 6. Object-oriented Analysis and Design Requirements analysis Functional Requirements Quality requirements Domain analysis Activity diagrams Sequence diagrams 16/03/2011 Agile Development 6
  • 7. Requirements Analysis 16/03/2011 Agile Development 7
  • 8. Requirements Analysis Functional Requirements Defines functions in a software system What should the system be able to DO? Hierarchy Use-cases Input Processing Output 16/03/2011 Agile Development 8
  • 9. Requirements Analysis Stakeholder interviews 16/03/2011 Agile Development 9
  • 10. Requirements Analysis Use-case diagram 16/03/2011 Agile Development 10
  • 11. Requirements Analysis Quality Requirements What is the system supposed to BE? Execution Qualities Security, usability Evolution Qualities Testability, maintainability, scalability, extensibility 16/03/2011 Agile Development 11
  • 12. Domain Analysis Model-driven Object-oriented models Entity-relationship diagrams Basis for software architectures 16/03/2011 Agile Development 12
  • 13. Domain Analysis Object-oriented model Entity-relationship diagram 16/03/2011 Agile Development 13
  • 14. Activity Diagram Workflow of components in a system Explains a process in more detail using models Uses stepwise activities and actions Petri net-like semantics 16/03/2011 Agile Development 14
  • 15. Activity Diagram Activity Diagram 16/03/2011 Agile Development 15
  • 16. Sequence Diagram Interaction between processes Specification of runtime scenarios Diagram Object life lines Messages (A)synchronous calls Return messages 16/03/2011 Agile Development 16
  • 17. Sequence Diagram Sequence Diagram 16/03/2011 Agile Development 17
  • 19. Planning Problems Estimating time costs Unplanned interrupts Different team member qualities Changing requirements 16/03/2011 Agile Development 19
  • 20. Estimating Time Costs Clearly define all requirements Define a fixed scope Planning Poker Estimating time cost per use case Minimizes anchoring More accurate estimates 16/03/2011 Agile Development 20
  • 21. Planning Poker Traditional Planning Planning Poker 4 4 4 2 1 2 4 4 4 3 2 3 5 5 5 4 5 5 5 4 16/03/2011 Agile Development 21
  • 22. Unplanned interrupts Prevention System back-up, source control, … Deep analysis Planning margin Reserve time for unplanned interrupts Max. 80% 16/03/2011 Agile Development 22
  • 23. Different Team Member Qualities Right task for the right team member Stimulate team members to… … work closely together … increase communication Share knowledge 16/03/2011 Agile Development 23
  • 24. Changing Requirements Additional functionalities Within the scope of the project? Changes in existing functionalities Prevention Stakeholder interviews, analysis, contracts, … Generic code and architecture 16/03/2011 Agile Development 24
  • 25. Waterfall development process Agile Development
  • 26. Waterfall Development Process 16/03/2011 Agile Development 26
  • 27. Waterfall Development Process Traditional Problems Adaptability Visibility Business value Hard to plan 16/03/2011 Agile Development 27
  • 28. Waterfall Development Process Visibilty Adaptability 16/03/2011 Agile Development 28
  • 29. Waterfall Development Process Business value Risk 16/03/2011 Agile Development 29
  • 30. Waterfall Development Process Results Estimated time is nearly 50% of actual time cost Project cost is much higher than estimated Functionality is not what the customer asked for 16/03/2011 Agile Development 30
  • 32. Scrum Artifacts Roles Process Preparation Sprints Deliverable 16/03/2011 Agile Development 32
  • 33. Artefacts Product scope Product backlog Product burndown Delta report Impediments list Sprint scope Sprint backlog Sprint burndown 16/03/2011 Agile Development 33
  • 34. Roles Product owner Business perspective Voice of the costumer Manages Product Backlog Scrum master Coach and fixer Evaluating 16/03/2011 Agile Development 34
  • 35. Roles Product owner Business perspective Voice of the costumer Manages Product Backlog Scrum master Coach and fixer Evaluating Team members 16/03/2011 Agile Development 35
  • 36. Process Preparation Deliverable Sprints 16/03/2011 Agile Development 36
  • 37. Preparation Initial product backlog Output from analysis Stories (functionality) Priorities Initial release plan Business case Team assembly Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 37
  • 38. Sprints A sprint is… … a focused effort for a 2 (up to 4)-week period toward fixed goals … a 6-step cycle Sprint Planning Meeting Daily Cycle Product Increment Sprint Review Sprint Retrospective Update Product Backlog Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 38
  • 39. Sprint Planning Meeting Select functionalities to implement Snapshot of stories from Product Backlog Re-evaluate Time estimates Priorities Scope Output Sprint Backlog Sprint Goal Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 39
  • 40. Daily Cycle Daily Scrum Brief meeting (max. 15 min) Eliminate speed impediments Daily Work Pair Programming Continuous Testing Continuous Integration Refactoring Measuring Project Velocity Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 40
  • 41. Daily Cycle Burndown Chart Visual representation offinished and remainingstories Sprint-level Product-level Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 41
  • 42. Product Increment Demonstration To users and stakeholders Working software Evaluation Progress status Feedback Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 42
  • 43. Sprint Review Assessment of project progress On WHAT the team is building Required adaptations Next course to take Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog SprintReview Sprint Retro-spective 16/03/2011 Agile Development 43
  • 44. Sprint Retrospective Meeting about project progress On HOW the team is building Increase productivity Keep work enjoyable Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog SprintReview Sprint Retro-spective 16/03/2011 Agile Development 44
  • 45. Update Product Backlog Meeting about project progress Add new requirements Update priorities Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog SprintReview Sprint Retro-spective 16/03/2011 Agile Development 45
  • 46. Deliverable Offering the product owner visibility Demonstration Fully functional Product Offering adaptability Feedbackper sprint Daily Cycle Sprint Planning Meeting Preparation Deliverable Sprints Product Increment Update Product Backlog Sprint Review Sprint Retro-spective 16/03/2011 Agile Development 46
  • 48. Extreme Programming Pair Programming KISS Continuous Testing Continuous Integration Continuous Refactoring 16/03/2011 Agile Development 48
  • 49. Pair Programming Rules 1 Keyboard 2 Programmers Typing and tactically thinking Strategically thinking Advantages Same productivity Higher quality 16/03/2011 Agile Development 49
  • 50. KISS Keep it stupid/simple Only implement what’s required now Refactor in the future 16/03/2011 Agile Development 50
  • 51. Continuous Testing Advantages Deterministically measuring progress Preventing defects Test First Writing tests before actual code Unit-level and acceptance-level 16/03/2011 Agile Development 51
  • 52. Continuous Integration Rules Quickly release code Hold onto changes for max. 1 day Everyone works on the latest version Advantages Avoiding and detecting compatibility issues early Avoiding diverging and fragmented development 16/03/2011 Agile Development 52
  • 53. Continuous Refactoring Problems Readability of code Maintainability of code Navigating code Design correctness 16/03/2011 Agile Development 53
  • 54. Continuous Refactoring Readability of code The smell of code Duplicate code smell Long method smell Code comments smell 16/03/2011 Agile Development 54
  • 55. Continuous Refactoring Duplicate code smell Textual level Conceptual level Long method smell Code comments smell Apologies for code that’s hard to read Code should be self-explanatory Comments should describe why, not what. 16/03/2011 Agile Development 55
  • 56. Continuous Refactoring Maintainability of code The smell of code Feature envy code smell Object-oriented myopia code smell Inappropriate intimacy code smell Lazy class code smell Contrived complexity code smell 16/03/2011 Agile Development 56
  • 57. Continuous Refactoring Feature envy code smell Highly coupled classes Delineation of logic Object-oriented myopia code smell Fallacy of reuse Inappropriate intimacy code smell Encapsulation 16/03/2011 Agile Development 57
  • 58. Continuous Refactoring Lazy class code smell Classes that have little or nothing to do Contrived complexity code smell Urge to use design patterns Extra complexity for the sake of complexity 16/03/2011 Agile Development 58
  • 59. Continuous Refactoring Navigating code Conventions Consistency Naming Scoping IDE Diagrams 16/03/2011 Agile Development 59
  • 60. Continuous Refactoring Design correctness Liskov substitution principle Sibling refactoring Refactor to one class Composition over inheritance Events over virtual methods Delegation over inheritance 16/03/2011 Agile Development 60
  • 61. Continuous Refactoring Solutions Remove redundancy Rejuvenate obsolete designs Express everything once and only once Advantages Avoiding messy code and complexity Code is easier to understand and maintain Less time required to produce an improved system 16/03/2011 Agile Development 61
  • 62. Improving Extreme Programming Disadvantages of XP Pair programming in small teams Refactoring over generic design Improvements Increase communication and integration speed Logging of documentation sources Deep analysis before coding is still a best practice 16/03/2011 Agile Development 62
  • 64. Tools Analysis UML Software IDE Plugin’s Round-trip engineering tools Scrum and Extreme Programming Ticketing software Code repositories with version control Time registration software 16/03/2011 Agile Development 64
  • 65. Analysis UML Software Visual Paradigm Microsoft Visio Umbrello MS Visual Studio 2010 16/03/2011 Agile Development 65
  • 66. Scrum and Extreme Programming Web-based front-ends Assembla Trac Jira Repositories SVN GIT Mercurial CVS 16/03/2011 Agile Development 66
  • 68. Conclusion Iterative process Continuous evolution Planning Developing Refactoring Testing Integration 16/03/2011 Agile Development 68
  • 69. Conclusion Visibilty Adaptability 16/03/2011 Agile Development 69
  • 70. Conclusion Business value Risk 16/03/2011 Agile Development 70
  • 72. Q&A 16/03/2011 Agile Development 72