Agile Software Engineering Frank Maurer Agile Software Engineering














- Slides: 14

Agile Software Engineering Frank Maurer Agile Software Engineering Lab, University of Calgary http: //ase. cpsc. ucalgary. ca/Frank. Maurer frank. maurer@ucalgary. ca

What is software development? Understand Evaluate Construct Agile Methods Overview 2

UI layer Business layer Feature 56 Vision Feature 45 a Feature 45 b Application features Product Feature 1 Iterative and incremental development Final System Data access Hardware Agile Methods Overview 3

Adaptive project management Customer Communication • Project planning meetings, on-site customer reps … Constant Feedback • Demos, pairing with customer, iteration reviews Design & Implement • TDD, develop feature code, vertical slices Agile Methods Overview 4

Whole team o “Individuals and interactions” Requirements Engineering Interaction Design Software Architecture o Customer representatives & developers & testers Quality Assurance o Planning meetings o Retrospectives Domain-driven Design Software Security e. Xtreme Developer Agile Methods Overview 5

Story Test Driven Development – Agile Approach to Quality Ux Designers Customer Team + Testers Development Team Pair Programming Adapted from Rick Mugridge. Advanced FIT Tutorial Agile Methods Overview 6

Agile Project Planning o Project vision the really big picture o Release planning strategic picture o Chooses a few months worth of user stories/features o Date and scope o Can be changed o Creates product backlog o Iteration planning tactical picture o Few weeks o Set of stories prioritized by customer o Creates sprint backlog o Define set of tasks for each story o Task granularity: 1 -3 work days estimation accuracy Agile Project Management 7

Iteration Zero o Demonstrate tool competency as a team by implementing a few features of the assignment project o Create a release plan and low fidelity prototypes o Start reporting process metrics o Form a team out of a group of people Agile Software Engineering 8

Agile Software Engineering Project Visioning Frank Maurer Agile Software Engineering Lab, University of Calgary http: //ase. cpsc. ucalgary. ca/Frank. Maurer frank. maurer@ucalgary. ca

What is software development? Understand Evaluate Construct Project Visioning 10

Project Vision – First step towards understanding o Develop general goal for project o Market research, champion, past experience

Innovation games o The toughest part of innovation: Accurately predicting what customers want, need, and will pay for. o 12 games for answering this question Project Visioning 12

Product box Project Visioning 13

Vision Box – Jim Highsmith o Who – Clarify the target customer and use language intended for that audience o What – Describe what the product is o When – Discuss stakeholders’ time expectations o Where – Will the new product be used by everyone in the organization, or only in parts o Why – Why would the users and stakeholders change their existing habits and migrate to this new product? sell box to audience Project Visioning 14