Agile Development
Upcoming SlideShare
Loading in...5
×
 

Agile Development

on

  • 5,316 views

 

Statistics

Views

Total Views
5,316
Views on SlideShare
5,313
Embed Views
3

Actions

Likes
4
Downloads
206
Comments
0

2 Embeds 3

http://www.linkedin.com 2
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Agile Development Agile Development Presentation Transcript

    • 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