Course 347:
Agile Software Development Boot Camp

(5 days)

 

Course Description

In today’s business climate, time is of the essence. Software development needs to be flexible, responsive, and adaptive to new business changes and advances in technology. There are multiple platforms and global markets influencing every line of code. Agile software development approaches meet the demands of technology changes and the ever-shifting marketplace. This course delivers a comprehensive interactive view of the Agile software development landscape in a way that will introduce many new concepts and practices that can be taken back to the projects and implemented immediately to improve the overall software development project flexibility and responsiveness.

Learning Objectives

At the end of this course, participants will be able to:

  • Select from among a number of Agile practices to adopt in their workplace
  • Identify the strengths and weaknesses of the various Agile methods available
  • Apply the concepts of Agile software development to their projects
  • Adapt their current software development processes to be more agile

Who Should Attend

Software development managers, programmers, developers, quality assurance analysts, executives, and anyone interested in learning the benefits of agile development.

Prerequisites

Knowledge of current development processes, such as structured top-down development and the waterfall method.


Course Outline

Unit 1: Introduction

  • Software Development Life Cycles
    • Mandatory Elements
    • Transitions
    • Traditional Life Cycle Models
  • Basis for Agile Development
    • Timeboxing
    • Iterative Development
    • Incremental Delivery

Unit 2: The Agile Approach

  • The Rise of Agile Methods
  • Forms of Communication
  • The Agile Manifesto
    • Individuals and Interactions
    • Customer Collaboration
    • Working Software
    • Response to Change
  • Principles of Agile Methods
    • The People Factor
    • Simplest Thing that Will Work
    • Testing
    • Documentation
    • Management

Unit 3: Agile System Architecture

  • Developing a System Model
  • Relationship of the Model to Agile Development
  • Documentation in the Agile Environment
  • Structure, Method, Documentation
  • Architectural Spikes and Other Anomalies

Unit 4: Agile Product Definition

  • Customer Interaction
    • On Site Customer
    • Product Owner
  • Product Roadmaps
    • When Product Roadmap Is Necessary *
    • Why a Product Roadmap
    • Create Product Roadmaps *
  • User Stories
    • Basis for User Stories
    • Format for User Stories *
    • Alternate Formats for User Stories *
    • Story Mapping Process *
  • Epics, Themes and Other Aspects
    • Epics *
    • Epics into Stories *
    • Stories into Epics *
    • Themes
    • Defining Themes and Goals *
  • The Requirements Backlog
    • Product Backlog *
    • Iteration Backlogs *

Unit 5: Incremental Delivery and Iterative Development

  • Classic Approaches to Delivery
  • Principles of Incremental Delivery
  • Planning Incremental Delivery *
  • Evolutionary Delivery vs. Exploratory Development
  • Methodology
  • Structuring the Evolutionary Project *
  • Classic Approaches to Development
  • What Is Iterative Development
  • Iterating Development Cycles
  • Benefits of Iterative Development
  • Planning the Iterations *
    • Iteration Length
    • Iteration Size
  • Website Iteration with Wire Frames
    • Roles of the UX and IA
    • Static vs. Dynamic Prototypes
  • Change Control in an Iterative Approach

Unit 6: Agile Analysis and Design

  • Classic Approaches to Analysis and Design
  • Agile Modeling Concepts *
  • Iterative Design Approaches *
  • Refactoring Design
  • Agile Method: Feature-Driven Development (FDD)
    • Background
    • Processes
    • Develop an Overall Model
    • Build a Features List *
    • Plan by Feature *
    • Design by Feature
    • Build by Feature

Unit 7: Agile Programming

  • Classic Programming Approaches
  • Principles of Agile Programming
    • Refactoring
    • Complexity *
    • Mutual Ownership of Code
  • Agile Method: Extreme Programming
    • Twelve Practices
      • Pair Programming *
      • Test-Driven Development *
      • Continuous Integration *
    • Process
      • “Planning Game” Meeting *
      • Exploration
      • Management
      • Commitment
    • Documentation *

Unit 8: Agile Software Development Management

  • Classic Software Development Management *
  • Agile Self-Organizing Teams
  • Planning and Estimating
    • Planning Poker *
    • Story Points
    • Velocity and Capacity *
  • Business Representation
    • Choosing the Customer or Product Owner *
    • Business Analyst on the Team
  • Agile Method: Scrum
    • Background
    • The Scrum Pattern
    • Scrum Roles
      • Product Owner
      • Scrum Master
      • Development Team
    • Principles
      • The Sprint *
      • The Daily Stand-Up Meeting
      • The Backlog
    • Example Scrum
      • Create Product Backlog *
      • Conduct Sprint 0 – Planning *
      • Conduct Sprint Planning Session *
      • Estimate Stories and Create Spring Backlog *
      • Hold Daily Stand-Up and Update Burndown Chart *
      • Conduct Sprint Review Session *
      • Conduct Retrospective *
    • Just In Time Methodology
    • Humans and Technology
    • Team-Orientation

Unit 9: Adapting Agile Methods to Your Organization

  • Decision Points
    • Organizational Culture
    • Systems Organization Culture
    • Post Implementation Processes
    • Overall Focus
    • Applicability of Standards
  • Quality Points
    • Ease of Adoption
    • Availability of Training
    • Thoroughness
    • Standards Adherence
    • State of Method Evolution

Unit 10: The Bottom Line

  • Establishing an Agile Development Process
  • Agile Good Practices for Software Development
  • Ideas to Use
  • Where to Go for More Information

* The topics marked with an asterisk indicate an exercise with participant involvement such as a discussion, individual or paired exercise, or a group exercise involving a case study. 

Please Contact Your ROI Representative to Discuss Course Tailoring!