Agile Software Development
Upcoming SlideShare
Loading in...5

Agile Software Development



Software Development methods based on iterative and incremental development.

Software Development methods based on iterative and incremental development.



Total Views
Views on SlideShare
Embed Views



1 Embed 63 63



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.

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

Agile Software Development Agile Software Development Presentation Transcript

  •               
  •  An agile method is a software development methodology designed for the management and support of iterative and incremental development of business systems in environments where change is constant.  Agile methods use software development techniques that enhance teamwork in small, empowered teams and support active customer involvement.  An agile method is designed to produce working software early, using communication, feedback, learning, and frequent meetings in preference to modeling and documentation.  Agile software development methodologies is not only suitable for software developers but also for Team Leaders, Project Managers, Product Managers, Development Managers, Testers, QA Managers, QA Engineers, Technical Writers, UX Designers, anyone involved in the delivering software.
  •  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
  •             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.
  •   Agile development is not a methodology in itself. It is an umbrella term that describes several agile methodologies. These methodologies included       Scrum Extreme Programming (XP) Crystal Feature Driven Development (FDD) Dynamic Software Development Method (DSDM). Since then, lean practices have also emerged as a valuable agile methodology and so are included under the agile development umbrella in the illustration later.
  •     Scrum uses the real-world progress of a project — not a best guess or uninformed forecast — to plan and schedule releases. In Scrum, projects are divided into succinct work cadences, known as sprints, which are typically one to three weeks in duration. At the end of each sprint, stakeholders and team members meet to assess the project’s progress and plan its next steps. This allows project’s direction to be adjusted or reoriented based on the work completed, not speculation or predictions. Philosophically, the emphasis on an ongoing assessment of completed work is largely responsible for its popularity with managers and developers alike. But what allows the Scrum methodology to really work is a set of roles, responsibilities, and meetings that never change.
  •  XP has emerged as one of the most popular and controversial agile methodologies. XP is a disciplined approach to delivering high-quality software quickly and continuously. It promotes high customer involvement, rapid feedback loops, continuous testing and planning, and close teamwork to deliver working software at very frequent intervals, typically every 1-3 weeks.  The original XP recipe is based on four simple values – simplicity, communication, feedback, and courage – and twelve supporting practices
  •             Planning Game Small Releases Customer Acceptance Tests Simple Design Pair Programming Test-Driven Development Refactoring Continuous Integration Collective Code Ownership Coding Standards Metaphor Sustainable Pace
  •  FDD is a wrapper methodology, in that it allows you to apply a method to manage projects at a very high level, but it still allows you to use other methodologies at a lower level.  FDD's focus is on being able to set estimates and schedules and to report on the status of a project as a whole, or at a very granular level, but it doesn't prescribe a specific method to apply in order to create the schedule, leaving that up to you to decide.  The idea is that you can look at your project and state with some certainty what the project status is, whether you are on time, slipping, early, and so on.
  •  Delivers highest business values early on in the project  Promotes customer satisfaction  Provides customer driven approach  Focuses on speed of delivery  Provides openness and visibility to customers  Removes impediments in a prioritized and systematic manner  Improves employee retention by empowering employees and by promoting self-management, team communication, learning, and value-building
  •     we can say that Agile has got a number advantages and our team uses it every time we are faced with tight deadlines and we have to, as always, be quick and efficient. Development teams with a maximum of 10 people are best for agile, for agile loses its original purpose with teams above that number. RUP is still the best method for larger projects that need a lot of documentation and have teams with more than 15 people. If you haven’t already tried Agile, do it – you might like it and it may sometimes solve some of your possible developmental problems.
  •    a-background-to-agile-software-development