CSE 2205 Software Engineering
Md. Shafiuzzaman
Lecture #3
Today
"Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan”
- The Agile Manifesto
Agile analysis process
• Identify System Users
– Who will use the system?
• Define Main Users Goals
– What I as a user want to achieve with the help of the
system?
• Define System Usage Patterns
– What are the typical user behaviors (daily, specific
situations, etc.)?
Agile analysis process
• Invent Functional Solutions to meet Users Goals
and Usage Patterns
– What is the best way to satisfy usage patterns?
• Define Main Navigation Paths
– What functional/action should user execute to complete
usage patterns?
– How many areas required to complete user goal in
specific pattern?
Agile analysis process
• Create User Interface Mock-ups
• Polishing User Interface Elements (optional)
– Can we improve User Interface to reduce clicks and
provide better visibility?
Agile Modeling Core Principles
• Model with a Purpose
• Assume Simplicity
• Embrace Change
• Enabling the Next Effort is Your Secondary Goal
• Incremental Change
• Maximize Stakeholder Investment
Agile Modeling Core Principles
• Multiple Models
• Quality Work
• Rapid Feedback
• Software is Your Primary Goal
• Travel Light
Agile Modeling Best Practices
Extreme Programming (XP)
• test-first strategy
– write test cases before coding
• code refactoring
– revise code frequently
• Goal: reduce the cost of changes in requirements by having multiple
short development cycles
• Motivation: Changes are a natural, inescapable and desirable aspect
of software-development projects, and should be planned for, instead
of attempting to define a stable set of requirements
Extreme Programming Core Practices
• Pair Programming
• Planning Game
• Whole Team
• Unit Tests
• Continuous Integration rather than batch
• Design Improvement
• Small Releases
• Simple Design
• System Metaphor
• Collective Code Ownership
• Coding Standard
• Sustainable Pace
Scrum
• support complex product development
• consists of Scrum Teams and their associated roles, events,
artifacts, and rules
• each component within the framework serves a specific
purpose and is essential to Scrum’s success and usage
Scrum Framework
Scrum Team
• The Product Owner
• The Development Team
• The Scrum Master
Scrum Events
• The Sprint
– Sprint Planning Meeting
– Daily Scrum
– Development work
– Sprint Review
– Sprint Retrospective
Scrum Events
• Canceling The Sprint
• Sprint Planning Meeting
– What will be done this Sprint?
– How will the chosen work get done?
• Daily Scrum
– What has been accomplished since the last meeting?
– What will be done before the next meeting?
– What obstacles are in the way?
Scrum Events
• Sprint Review
• Sprint Retrospective
• Product Backlog
• Monitoring Progress Toward a Goal
The Other Agile Methodologies
• Feature Driven Development Agile Methodology
• Test Driven Development (TDD) Agile Methodology
Limitations of Agile Methodologies
• Agile Methodologies depend heavily on the user involvement, and
thus, the success of the project will depend on the cooperation and
communication of the user
• Agile methodologies work best for teams with relatively small number
of members (no less than 3 and no more than 9)

Agile Methodology

  • 1.
    CSE 2205 SoftwareEngineering Md. Shafiuzzaman Lecture #3
  • 2.
    Today "Individuals and interactionsover processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan” - The Agile Manifesto
  • 3.
    Agile analysis process •Identify System Users – Who will use the system? • Define Main Users Goals – What I as a user want to achieve with the help of the system? • Define System Usage Patterns – What are the typical user behaviors (daily, specific situations, etc.)?
  • 4.
    Agile analysis process •Invent Functional Solutions to meet Users Goals and Usage Patterns – What is the best way to satisfy usage patterns? • Define Main Navigation Paths – What functional/action should user execute to complete usage patterns? – How many areas required to complete user goal in specific pattern?
  • 5.
    Agile analysis process •Create User Interface Mock-ups • Polishing User Interface Elements (optional) – Can we improve User Interface to reduce clicks and provide better visibility?
  • 6.
    Agile Modeling CorePrinciples • Model with a Purpose • Assume Simplicity • Embrace Change • Enabling the Next Effort is Your Secondary Goal • Incremental Change • Maximize Stakeholder Investment
  • 7.
    Agile Modeling CorePrinciples • Multiple Models • Quality Work • Rapid Feedback • Software is Your Primary Goal • Travel Light
  • 8.
  • 9.
    Extreme Programming (XP) •test-first strategy – write test cases before coding • code refactoring – revise code frequently • Goal: reduce the cost of changes in requirements by having multiple short development cycles • Motivation: Changes are a natural, inescapable and desirable aspect of software-development projects, and should be planned for, instead of attempting to define a stable set of requirements
  • 10.
    Extreme Programming CorePractices • Pair Programming • Planning Game • Whole Team • Unit Tests • Continuous Integration rather than batch • Design Improvement • Small Releases • Simple Design • System Metaphor • Collective Code Ownership • Coding Standard • Sustainable Pace
  • 12.
    Scrum • support complexproduct development • consists of Scrum Teams and their associated roles, events, artifacts, and rules • each component within the framework serves a specific purpose and is essential to Scrum’s success and usage
  • 13.
  • 14.
    Scrum Team • TheProduct Owner • The Development Team • The Scrum Master
  • 15.
    Scrum Events • TheSprint – Sprint Planning Meeting – Daily Scrum – Development work – Sprint Review – Sprint Retrospective
  • 16.
    Scrum Events • CancelingThe Sprint • Sprint Planning Meeting – What will be done this Sprint? – How will the chosen work get done? • Daily Scrum – What has been accomplished since the last meeting? – What will be done before the next meeting? – What obstacles are in the way?
  • 17.
    Scrum Events • SprintReview • Sprint Retrospective • Product Backlog • Monitoring Progress Toward a Goal
  • 18.
    The Other AgileMethodologies • Feature Driven Development Agile Methodology • Test Driven Development (TDD) Agile Methodology
  • 19.
    Limitations of AgileMethodologies • Agile Methodologies depend heavily on the user involvement, and thus, the success of the project will depend on the cooperation and communication of the user • Agile methodologies work best for teams with relatively small number of members (no less than 3 and no more than 9)