Skip Navigation LinksAgileDevelopment

​Agile Software Development

Course Overview

Purpose:

Learn how to apply Agile Scrum techniques to real world software development, and practical methods to expedite effective integration. Students will take a deep dive into the approaches, methodology, best practices, and implementation processes which have proven to be effective.

Type:                 Course
Level:                200
Technology:      Java, C#
Length:             3 days
Language(s):     English

Audience:

  • Business Analyst
  • Manager
  • Product Manager
  • Project Manager
  • Team Lead
  • Tester
  • Programmer/Developer 

By the end of this course, students will be able to:

  • Explain the value of Agile Scrum Software Development
  • Understand Pair Programming
  • Participate in Sprint Planning & Execution
  • Assist in the setup of Consistent Code Review/Testing
  • Learn how to integrate Test Driven Development
  • Explain the difference between Continuous Integration & Continuous Delivery
  • Set up, work within, and integrate Agile workflows

This 4-Day instructor led Workshop creates an immersive, collaborative experience that requires students to participate in each quiz, exercise, hands on lab, and class discussion. Students will be trained to have a solid understanding of the Agile Scrum methodology, and how to participate in the execution of:

  • Daily Scrum
  • Sprint setup, analysis, & review
  • Test Driven Development
  • Consistent Unit Testing
  • Continuous Integration
  • Continuous Deployment

Module 1

This module will review a number of different approaches to Agile software development, all of which are contingent upon project requirements, deadlines, and many other factors.

Lesson 01: Agile Principles:

  • The Agile Manifesto
  • Measuring progress by successful delivery of product
  • Measuring team efficiency by speed to market
  • Customer Collaboration
  • Responding to changing requirements
  • Consistent review of workflow & process

Lesson 02:  Agile methodologies:

  • Lean Development
  • Kanban Development
  • Extreme Programming
  • Dynamic Systems Development Method (DDSM)
  • Feature Driven Development (FDD)
  • Scrum

Lesson 03:  Agile Scrum

  • Highest possible product Quality
  • speed to market
  • flexibility for changing requirements
  • lest cost for maintainability

Lab 01:  Exercise 1

  • Create a unit test & solution for a new App
  • Write a failing test
  • Create a new Class Library Project
  • Run a failing test
  • Refactor Code
  • Run the failing test

Module 2: Why Agile Scrum is so Effective

In this module, we will look at the benefits of Agile Scrum that have been proven through case studies, reports, and independent studies.  Benefits associated with Agile Scrum will be exemplified including:

  • Faster ROI
  • Higher product value
  • Higher flexibility for changing requirements
  • Decreased risk in solution delivery
  • Lower Development Cost
  • Increased Transparency
  • Alignment of IT Objectives with Business Goals

Lesson 01:  Agile Scrum Statistics:

  • Project Success Rates
  • Scrum Adoption Rates
  • Aligning Business Priorities with Scrum
  • Non-It Departments that use Scrum  

Lesson 02:  Agile Scrum Success Stories

Class Discussion

How can scrum improve the workflows of your current company projects? Each student will provide best case scenario examples that apply to real world, real time issues that their team currently faces.

Module 3: Agile Scrum Implementation

This module will provide step by step instructions with the necessary details that will make an Agile Scrum team successful.  Students will also review the pros & cons for benefit/risk assessment for each solution.

Lesson 01:  Project Transparency

  • Team communication
  • Daily Scrum Meeting
  • Planning Approach
  • User Stories
  • Planning Poker​

​Lesson 02:  Test Driven Development

  • Unit Testing
  • Refactoring
  • Integration Testing
  • Acceptance Testing
  • Documentation & Reporting 

​Lesson 03:  Consistent Sprint Management

  • Sprint Planning
  • Sprint Iteration
  • Sprint Output
  • Sprint Review

​Class Exercise: Paper Planes

Students will form teams and compete in a real world example that exemplifies Sprints, Sprint Planning, and Sprint Review, and actual quality.

Module 4: Continuous Integration & Delivery

In this module, we will look at the importance and effectiveness of Continuous Integration.  Students will perform in a hands on lab which ensures a complete understanding of code updates to a build.

Lesson 01:  Continuous Integration

  • Creating a code repository
  • Committing changes to an Automated the build
  • Testing against the build with each upgrade
  • Tracking developer updates daily
  • Parallel test Environments
  • Automating Deployments

Lesson 02:  Continuous Delivery

  • Database Versioning
  • Document deployment analytics for KPI analysis
  • Run Testing with every change/update

Lab 04

  • Establish requirements for code repository
  • Build automated test
  • Deploy update to database
  • Run automated test​

​Module 5: Ensuring High Quality Products for Agile Deployment

Module 4 puts a focus on delivering the highest quality product to your client with the swift delivery & speed to market. We will also look at best practices which ensure that your product remains viable & resilient to withstand the inevitable changes in software technology.

Lesson 01:  Maintaining High Quality Deployment

  • Product Backlog
  • Burndown Charts
  • Manage & Prioritize Requirements
  • Task Board
  • Sprint Backlog

​Lesson 02:  Maintainability

Constant communication with executives, managers, & clients Increasing product quality through continuous improvement Ability to Adapt to changing requirements late in development Automating repetitive tasks

​Lesson 03:  Gaging your Teams effectiveness

  • Velocity
  • Analytics Reporting
  • KPI's for Agile deployment

​Lesson 04:  Agile Management Tools:

Lab 05

Create series of Stack Tests

  • Used & Empty
  • Push, Pop & Validate
  • Multi-Push, Pop & Validate
  • Pop Empty Test
  • Push & Peek Not Empty
  • Multi-Push & Peek
  • Peek Empty​​