Agile methodology programming
1 / 19

Agile Methodology & Programming - PowerPoint PPT Presentation

  • Uploaded on

Agile Methodology & Programming. Ric Holt July 2009. Reaction to “Pure” Waterfall Model. Around 1990 , writing and discussion of more fine grained and more adaptive methodologies. Need for faster development, notably when spec is not well known and teams are small.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Agile Methodology & Programming' - luisa

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Reaction to pure waterfall model
Reaction to “Pure” Waterfall Model

  • Around 1990, writing and discussion of more fine grained and more adaptive methodologies.

  • Need for faster development, notably when spec is not well known and teams are small.

Agile programming 2001 wikipedia
Agile Programming [2001][Wikipedia]

  • Development methodology based on

    • Iterative development

    • Collaboration

    • Self-organizing teams

    • Goal: New release at end of each interaction

    • Ideally: face-to-face team interactions

    • Ideal team size: 7 +/- 1

    • Daily meetings/interactions, perhaps with client

Definition of the term manifesto
Definition of the term “manifesto”

  • A public declaration of principles, policies, or intentions, especially of a political nature.

Agile software development agile manifesto 2001
Agile Software Development = Agile Manifesto [2001]

  • Individuals and interactions over processes and tools

  • Working software over comprehensive documentation

  • Customer collaboration over contract negotiation

  • Responding to change over following a plan

Principles behind the agile manifesto
Principles behind the Agile Manifesto

  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

  • Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

  • Business people and developers must work together daily throughout the project.

  • Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

  • Working software is the primary measure of progress.

  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

  • Continuous attention to technical excellence and good design enhances agility.

  • Simplicity--the art of maximizing the amount of work not done--is essential.

  • The best architectures, requirements, and designs emerge from self-organizing teams.

  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Extreme programming
Extreme Programming

  • A software methodology

  • A type of agile programming

  • Has short development cycles (called boxes) & releases

  • Advocates: pair programming, ongoing unit testing, flat management structure, frequent communication among team & with customer

Possible drawbacks of extreme programming beck 1996
Possible drawbacks of extreme programming [Beck 1996]

  • Lack of overall specification

  • (In)ability to scale up to large projects

The game of rugby similar to american football
The game of rugby --- similar to American football

  • Scrum. Packs of opposing players push against each other for possession of the ball

  • Once a team gets the ball, it attempts to “sprint” to the goal line.

The rugby sprint
The rugby “sprint”

Scrum development 1986
Scrum Development [1986]

  • Scrum: incremental framework for managing complex work (such as new product development) commonly used with agile software development.

Three major roles in scrum
Three major roles in scrum

  • ScrumMaster, who maintains the processes (typically in lieu of a project manager);

  • Product Owner, who represents the stakeholders; and

  • Team, a cross-functional group of about 7 people who do the actual analysis, design, implementation, testing, etc.

Daily scrum 15 minute meeting
Daily Scrum (15 minute meeting)

  • What have you done since yesterday?

  • What are you planning to do by today?

  • Do you have any problems preventing you from accomplishing your goal?

Burndown chart
Burndown chart

Sprint planning meeting
Sprint Planning Meeting

  • Plan next 15-30 days

  • Select what work is to be done

  • Prepare the Sprint Backlog that details the time it will take to do that work, with the entire team

  • Identify and communicate how much of the work is likely to be done during the current sprint

  • Eight hour limit

Sprint review meeting
Sprint Review Meeting

  • Review the work that was completed and not completed

  • Present the completed work to the stakeholders (a.k.a. "the demo")

  • Incomplete work cannot be demonstrated

  • Four hour time limit

Sprint retrospective
Sprint Retrospective

  • All team members reflect on the past sprint.

  • Make continuous process improvement.

  • Two main questions are asked in the sprint retrospective: What went well during the sprint? What could be improved in the next sprint?

  • Three hour time limit

Scrum diagram
Scrum diagram