fbpx  

Modern Engineering for Software Developers

In this course we review the Modern Engineering for software developers using Extreme Programming (XP) framework and how the software development practices support a product centric organization. Extreme Programming has 12 practices, grouped into four areas, derived from the best practices of software engineering. Participants will review, demonstrate, and practice each principle as it related to modern day software development using a real-world project

In this course we review the Modern Engineering for software developers using Extreme Programming (XP) framework and how the software development practices support a product centric organization.  Extreme Programming has 12 practices, grouped into four areas, derived from the best practices of software engineering.  Participants will review, demonstrate, and practice each principle as it related to modern day software development using a real-world project.  This course is ideal for team looking to understand XP or to use XP practices to take their projects to the next level.

Who Should Attend:

  • Product Owners
  • Business Analysts
  • Developers
  • QA
  • Architects

Outline of Modern Engineering for Product Development

Agile Overview

  • Manifesto & Principles
  • What is Extreme Programming (XP)
  • How and why XP with Scrum
  • XP Values and Rules – 12 practices of XP overview

Agile and Scrum Framework

  • What is time-boxing and why time-boxing?
  • What is Empirical Process?
  • Scrum Framework – in Brief

Scrum with XP Teams

  • Roles and Responsibilities
  • Creating Shared understanding
  • Coding Standards
  • Collective Code Ownership
  • Simple Design
  • System Metaphor
  • Whole Team

 Scrum & XP Overview

  • Scrum Roles, Artifacts and Events
  • Definition of Done
  • Development Team Practices
    • Whole Team

Scum & XP Backlog Planning

  • User Story and Estimation
  • User Story Writing Workshop
  • Acceptance Criteria (Gherkin syntax)
  • Splitting User Story
  • Running Spikes on Complex stories
  • Release Planning
    • Planning Game
    • Small Releases
    • Metaphor
    • Iteration Planning
  • Refine Product Backlog: Prioritization, Sequencing MVP & MMF

Product Thinking

  • Lean Startup
    • Test everything
    • Build-Measure-Learn
    • Lean Canvas
    • MVP
  • Design Thinking
    • The role of UX
    • Discovery
  • Dual Track Agile
  • Architecture
    • Monolithic vs micro-services
    • Working with legacy systems

Teams

  • Component teams vs feature teams
  • Multi-team integration 

BDD workshop – Collective Ownership and Testing (optional-extra day)

  • Principles of Behavior Driven Development
  • Why Examples needed for specification
  • Writing Examples in Gherkin
  • Practicing BDD

Scrum & XP Execution\Development

Test Driven Development

  • Test Driven Development
    • Test Driven Development
    • Pair Programming
  • Improving the quality and design of the code by testing?
  • Different types of tests: unit, integration, functional

Refactoring

  • Consequence of technical debt and risk of “breaking” the code
  • Where? When? How refactoring?
  • Support of TDD and ATDD during refactoring
  • Best practices and limitations
  • The various categories of refactoring tools

Introduction to Continuous Integration

  • Continuous Integration Overview
    • Continuous Improvement
    • Refactoring
  • CI and DevOps
    • Small Releases
Share This!
Course Information
  • Days:3 day

Let us know you're interested and we'll get right back to you!

Related Courses

post =