Lean Architecture and Agile Feature Implementation

Architecture is a heavy-weight activity, and the magic of Agile makes it unnecessary to bother with up-front design, right? Wrong on two counts!

In this class we teach you how to implement Lean Architecture and implement requirements in an Agile way, how to be flexible with your architecture, and ready for emergent requirements — all within the spirit and practice of the Agile Manifesto, and in a way that dovetails perfectly into Scrum projects. Make the best of your efforts by reducing waste even in lean business times. This new version of the course breaks new ground in an Agile architecture designed for testability and direct care for user needs management, inspired by the DCI work of Trygve Reenskaug, inventor of MVC.

Today’s Agile projects often find themselves stumbling across business understandings during the first few sprints, which leads to low feature velocity. Re-work in code is the order of the day. This drag on velocity is often a result of weak architectural foundations, so maintainability and evolution suffer beyond the first iteration. The discipline of refactoring can help only with local code structure, not architectural mistakes: though many Agile projects claim to recover from these problems using refactoring, they are really only hacking. However, deferring the architectural focus to this stage is costly and negates most of the time-to-market advantages of Agile techniques. There is no difference between the last responsible moment and the first responsible moment.

This course describes how to adapt architecture to Agile development, with a focus on Scrum. Not only will we show its importance to maintainability, feature velocity, test development, GUI design, and organizational structuring, but will describe how to do it — all the way from domain models and User Stories down to real code. On the first day you’ll learn how to use domain analysis and Agile techniques to fit a robust architecture framework into your first sprint — just enough, just in time. On the second day you’ll learn how to capture behavioral requirements directly in your architecture and how to achieve high feature velocity, using just-in-time development techniques, object-oriented programming, and Trygve Reenskaug’s new DCI architecture. They entire approach is squarely in the center of the principles of the Agile manifesto.

Audience

The primary audience is system and software architects and developers. ScrumMasters and Product Owners will appreciate the knowledge they gain of the place of architecture in product development, and of the flows of behavioral and architectural PBIs through the process.

Outline

Day 1

  • Introduction
  • Time and Time to Market: Motivating Architecture’s Value
    • YAGNI Re-visited
    • Case studies and models of profitability with and without up-front work
  • Architecture and Technique
    • The Potential for TDD to erode architecture — and the remedy
    • Symbiosis between architecture and usability: MVC foundations and business objects
    • The link from architecture to functional requirements and Use Cases
  • Architecture and Maintainability
    • Lightweight Domain Modeling
    • How much architecture?
    • Software Families
  • Domain-Driven Design: Problem Domain Analysis
    • Commonality and Variation
    • Domain Starter Sets
  • Solution Domain Analysis
    • The Paradigms
    • Positive and Negative Variability
    • Simple Domain Partitioning
    • Transformational Analysis
    • Variability tables.
    • Transformational Analaysis
    • Reducing to code
    • Domain Dependency Graphs

Day 2

  • The MVC-U Four-Layer Architecture
    • Business Objects and Domain Modeling
    • Business Objects as Tools
    • Tools and MVC
  • Architecture in Process
    • Incremental Architectural Slices
    • How much architecture, and when?
  • Capturing functionality in code
    • Code readability
    • A model from the perspective of Aspects
    • Class and object definitions with weavers
    • Role definitions
    • Capturing Use Cases
    • Role definitions
    • Tieing it together
  • Summary and wrapup

Zaplanowane szkolenie "Lean Architecture and Agile Feature Implementation "

W chwili obecnej nie jest zorganizowane takie szkolenie. Prosimy o kontakt telefoniczny bądź mailowy. W naszej ofercie znajdują się również szkolenia zamknięte, które są organizowane dla konkretnej firmy, a czas, miejsce oraz trener jest dopasowany do indywidualnych potrzeb klienta.