60 likes | 324 Views
Agile Development. Kathy Schulting and Linda Blair September 18, 2009. What is Agile?. Agile: Agile projects strive to deliver high-quality, tested, and documented code at frequent intervals throughout the implementation phase of the project.
E N D
Agile Development Kathy Schulting and Linda Blair September 18, 2009
What is Agile? • Agile: • Agile projects strive to deliver high-quality, tested, and documented code at frequent intervals throughout the implementation phase of the project. • Accept changing requirements, even late in development. • Business people and developers must work together daily throughout the project. • Agile processes promote sustainable development. • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Waterfall vs Agile Development • Large scale definitions are defined at the beginning of the project. • Product owner is part of the team and is very active throughout the project. • Team consists of developers, customer or product owner, SQA and writers very early. • Team is defined so the team member doing the work will complete the time estimation for the feature. • Feature set is prioritized at the start and it is reviewed prior to each sprint. • Requirements can change throughout the project. • Team meetings happen daily -15 minute meetings. • Minimize “Death March” at the end of the project. • All definitions are detailed at the beginning of the project. • Product owner is very active at the start of the project and works with the team but is not very involved until the end of the project again. • Team consists of all developers. • Software Quality Engineers and Technical Writers step in toward the end of the project. • Estimations for feature completion may be done by the project manager or a skill group lead. • Feature set is not necessarily prioritized. • Requirements are considered “locked” based on signed feature set at the start of the project. Every change is “feature creep” • Team meetings typically happen once per week. • Typically leads to the “Death March’ at the end of the project.
Terminology • Scrum • An agile development approach that emphasizes close communication through daily stand-up meetings. Scrum is intended to increase speed and flexibility in the development process. • Scrum Master • The team member who facilitates scrum meetings and works to remove blocks that prevent team members from proceeding with their work. • Backlog • The repository for all requirements and wish list items for the project. It is useful if the backlog contains rough estimates for the items to help with prioritizing during regular planning and review times. • Iteration or Sprint • A single development cycle. • Iteration (Sprint) planning • First day of the sprint – select User Stories to be worked on for current sprint. • Iteration (Sprint) demos • Demonstration for product owner to show what was completed in previous sprint –may be the last day of the sprint. • Team retrospective • Prior to sprint planning, this is a time for the team to reflect on the previous sprint and determine if there are things to change or not to make the process work better. • Daily stand-ups • Daily 15 minute meetings (preferably in the mornings) to answer 3 questions. What did I do yesterday? What am I going to work on today? What are my obstacles? • Stories • A User Story is a simple statement about what a user wants to do with a feature of the software, written from a user's perspective. • Tasks • Breakdown of the User Story –tasks should take about 1 -2 days to complete. • Capacity • Availability of resource during the Sprint cycle.