Agile Teams and Architecture. Tommy Ågren



Similar documents
Agile Systems Engineering: What is it and What Have We Learned?

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

Glossary SAFe 4.0 for Lean Software and Systems Engineering

Introduction to Agile and Scrum

Kanban vs Scrum Making the most of both

Introduction to Enterprise Agile Frameworks

Agile Software Development. Stefan Balbo / Patrick Dolemieux

Agile and lean methods for managing application development process

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Introduction to Agile Scrum

Quality Assurance in an Agile Environment

Agile Project Management By Mark C. Layton

LEAN AGILE POCKET GUIDE

Agile and lean methods for managing application development process

Software Engineering

Introduction to Agile Software Development Process. Software Development Life Cycles

Secrets of a Scrum Master: Agile Practices for the Service Desk

How service-oriented architecture (SOA) impacts your IT infrastructure

The Agile Manifesto is based on 12 principles:

Program & Portfolio! Management using! Kanban! Copyright 2013 Davisbase Consulting. Limited Display License Provided to ASPE

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

Lean Software Development and Kanban

Roles: Scrum Master & Project Manager

Challenges of Software Security in Agile Software Development

How to manage agile development? Rose Pruyne Jack Reed

Successfully Doing TOGAF in a Scrum Project

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

Agile Development and Software Architecture: Understanding Scale and Risk

Kanban vs Scrum Making the most of both

Teaching an Elephant to Dance. Patterns and Practices for Scaling Agility

Scrum Guidelines. v W W W. S C R U M D E S K. C O M

How Silk Central brings flexibility to agile development

TRANSFORMING TO NEXT-GEN APP DELIVERY FOR COMPETITIVE DIFFERENTIATION

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Statistics New Zealand is Agile Continued Implementation of AGILE Process at Statistics NZ

Digital Marketplace Services Service Definition

Scaling Agile with the Lessons of Lean Product Development Flow Copyright 2012 Net Objectives, Inc. All Rights Reserved

SOA and BPO SOA orchestration with flow. Jason Huggins Subject Matter Expert - Uniface

Lean vs. Agile similarities and differences Created by Stephen Barkar -

HP Agile Manager What we do

Agile and Secure: Can We Be Both?

AGILE - QUICK GUIDE AGILE - PRIMER

SCALING AGILE. minutes

Agile Requirements Engineering + LESSONS LEARNED

Agile Methods. Introduction to. AAddison-Wesley. Sondra Ashmore, Ph.D. Kristin Runyan. Capetown Sydney Tokyo Singapore Mexico City

Getting Started with Agile Project Management Methods for Elearning

Atomate Development Process. Quick Guide

Scrum, User Stories, and More! CSCI 5828: Foundations of Software Engineering Lecture 22 11/06/2014

The Agile Drupalist. Methodologies & Techniques for Running Effective Drupal Projects. By Adrian AJ Jones (Canuckaholic)

EXIN Agile Scrum Foundation

G-Cloud Service Definition. Atos Software Development Services

AGILE & SCRUM. Revised 9/29/2015

Scaling Lean-Agile Practices Across the Enterprise

Workshop 1: Can CM find common ground for HW & SW development?

Agile Development to Transform FedEx

Experiences Linking Business Architecture with an Agile/Lean Development Method

CURRICULUM VITAE DAMIR KUSAR

Course Title: Managing the Agile Product Development Life Cycle

Five best practices for deploying a successful service-oriented architecture

A Practical Guide to implementing Agile QA process on Scrum Projects

Scrum QA Assessment. John Scarborough VP System Engineering STeP-IN Summit January 2006

Applied Agile Practices for Large-scale Organizations

How Product Management Must Change To Enable the Agile Enterprise

Building the Lean Agile Enterprise with the Scaled Agile Framework:

agenda AGILE AT SCALE

Collaborating for Quality in Agile Application Development From Beginning to End

How To Be Successful At An Agile Software Engineering

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

Mitigating Risk with Agile Development. Rich Mironov CMO, Enthiosys

Scrum in a Large Project Theory and Practice

Agile Fundamentals, ROI and Engineering Best Practices. Rich Mironov Principal, Mironov Consulting

Jukka Mannila KEY PERFORFORMANCE INDICATORS IN AGILE SOFTWARE DEVELOPMENT

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Strategy. Agility. Delivery.

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

Introduction to Agile

Business Analysts in an Agile World. Christian Antoine

From SOA to MOA: Transitioning from Service to Mobile Oriented Architectures

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Chapter 6. Iteration 0: Preparing for the First Iteration

Lean Agile Scrum Business Value Development and Delivery using Agility. Brenden McGlinchey Software Done Right, Inc.

Service Oriented Architecture Based Integration. Mike Rosen CTO, AZORA Technologies, Inc.

Technical Writing - A Review of Agile Software Development Services

Adoption of Agile Methodology in Software Development

CMMI and KANBAN is it possible?

Call for Tender for Application Development and Maintenance Services

SWEN - Software Engineering Network Donnerstag 06. Mai. 2010

WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS.

VISUAL REQUIREMENTS MANAGEMENT WITH KANBAN. Mahesh Singh Co-founder/ Sr. VP Product, Digite, Inc.

Kanban A Lean approach to Agile software development

Your Agile Team s Indispensible Asset

EB TechPaper. Managing complexity with agile development. automotive.elektrobit.com

Development Testing for Agile Environments

Transcription:

Agile Teams and Architecture Tommy Ågren

Some guiding values and principles

What is Lean and Agile? A set of Values and Principles That have proven to work! Lean: Toyota (manufacturing & production) Agile: Software lightweight methods 2001 Agile Manifesto www.agesis.se 3

Adopting Lean & Agile Benefits and Why Wanted business effects! Values and Principles Principles that govern the wanted effects Creates context and alignment Practices, how to do it Processes, Organization, Methods and Tools Try out, learn and Adapt www.agesis.se 4

Agile & Lean Architecture Agile principles Continuous attention to technical excellence and good design enhances agility The best architectures, requirements, and design solutions emerge from self-organizing teams Simplicity is essential Lean Software principles Build Integrity in (system integrity and quality) No defects! The system should function as a cohesive unit www.agesis.se 5

Agile Teams Self-organizing (within a context) Cross-functional 5-9 members Long living Responsible for the result www.agesis.se 6

Roles, Skills and Responsibility I m the Tester I m the Designer Want to grow knowledge and skills, favor collaboration and coach team members to that take responsibility for the whole I m the Java Developer Want to avoid static and appointed responsibilities! www.agesis.se 7

An Agile Architect? A person highly skilled in architecture work Works in, or close with, an Agile Development Team Embraces the Agile/Lean values and principles Collaborates with and coaches team members Acknowledges and empowers people Communicates architecture and decisions (face-to-face) Accepts and adapts to ideas from others Keeps things simple - travels light! Embraces and manages change! www.agesis.se 8

An Agile Architecture? Supports Agile Development! Makes the system easy to understand, maintain and build upon Reduce system complexity Makes the system easy to test, integrate and deploy Supports change www.agesis.se 9

Examples of Architecture Requirements (Quality Attributes) Structural Modularity Maintainability Portability Reusability Integrability Testability Architectural Conceptual Integrity Correctness and completeness Run-time Performance Interoperability Scalability Reliability Availability Security Safety Usability www.agesis.se 10

Agile friendly Architecture Requirements (QAs), examples Modularity Maintainability Testability Integrability Conceptual Integrity Scaled development Interoperability Usability (UX) www.agesis.se 11

Product and Anatomy (meta model) Requirements are described as customer-oriented s Marketable Product/Service seen from the Customer perspective Customers / Stakeholders A working potentially releasable increment The product anatomy/structure seen as a set of modules/components/systems/services www.agesis.se 12

Smaller organization One or few independent teams

Smaller organization, one Development Team pull A cross-functional and self-organizing Development Team working releasable increment of the product (Customer perspective) The knowledge and the skills needed to build increments of the end-product, can be captured by one single team The team can take responsibility for architecture work www.agesis.se 14

Include Architecture work in the process events Example: Scrum Daily Scrum Sprint Planning Sprint Review (demo) Arch. Arch. QAs Development Team Retrospective SAD Definition of Done Backlog Management and Preparation www.agesis.se 15

and Component Teams two Development Team stereotypes

Teams Team Working product increment End-to-End oriented Take on (pull) customer-oriented s, and produce working product increments Highly cross-functional Able to work across the product structure Develop, integrate and deploy components independently of other teams www.agesis.se 17

Teams Team Working product increment Address Solution Architecture + Realize customer-oriented requirement + See to solution consistency + Integration, Acceptance Testing and Deployment + Address architecture requirements/qualities on solution level Performance Communication mechanisms Availability (overall fault detection and recovery) Scalability (solution level) www.agesis.se 18

Teams Team Working product increment! Usually need to work in parallel with other teams in the same code base Consistency and Conceptual Integrity (overall, components) Infrastructure and tools for cross-product and parallel work (CM, CI, CD) www.agesis.se 19

Component Teams Req. Req. Component Team Specialists on one particular part of the product structure - a component Owns and guards the component Develops, builds and delivers the component, as a result of their work www.agesis.se 20

Component Teams Req. Req. Component Team Address Component Architecture + Integrity and responsibility + Testability + Maintainability + Performance + Reliability (robustness & usage, well defined API, ) + Availability (fault isolation and detection, recovery, ) + Scalability www.agesis.se 21

Component Teams Req. Req. Component Team! Need to break down s into component-oriented requirements Understanding of the whole picture and Customer value! Awareness of overall Product Structure and Architecture Solution consistency and integrity www.agesis.se 22

What type of teams to prefer? Can mix Teams with Component Teams in various constellations Prefer Teams (focus on making s done) Complement with Component Teams where strategic Note: and Component Teams are stereotypes Try out what works, reflect and adapt www.agesis.se 23

Scaling up, multiple teams

A more complex product Higher demand of work Customers & Stakeholders working releasable increment of the product (Customer perspective) One single team cannot span all the skills needed to build increments of the product, nor meet the demand of work! www.agesis.se 25

A group of Development Teams with common focus Architecture and code must scale! A cross-functional and self-organizing group of teams Customers & Stakeholders Team C workflow (end-to-end) Team A Team D Component Team B working releasable increment of the product (Customer perspective) The teams need to collaborate and build working increments of the product solution together (common responsibility) The teams also need to take responsibility for the architecture! www.agesis.se 26

Multiple Development Teams, Architecture Governance

Multiple Development Teams, Governance and Support Cross-team governance, examples - Architecture - Strategies for testing - CM, CI, CD - Requirements and User experience (UX) - Infrastructure, environment and tools - workflow(s) end-results www.agesis.se 28

Architecture governance, example Who the heck has changed the interface? All integration test cases fail!?! Customers & Stakeholders Team A Team C workflow (end-to-end) I will create a new asynchronous interface for our component Component Team B Team D Hmm, what is the point with these asynchronous calls..? www.agesis.se 29

Architecture Forum, example Members from different teams can meet and coordinate architecture issues in a common Architecture Forum / Community - Possibly facilitated by a senior Agile Architect Architecture Forum (e.g. virtual team) Team A Arch. Arch. QAs Experts that support and governs the Development Teams Ensure common engineering practices overall consistency and integrity Works close with the Development Teams Communicate and explain the big picture Coach, mentor, educate, show how, review Component Team B Team C www.agesis.se 30

Architecture work, multiple teams Need to map architecture work into a Scaled Agile method/process Examples Scaled Scrum set-up Kanban, project/program/enterprise level SAFe (Scaled Agile Framework) www.agesis.se 31

Example, common Kanban workflow Note: WIP limits left out for this discussion Input Analyze Waiting for Develop Waiting for Validation Dev. Plan Implement Integrated Validate In Service Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Story Analyze Architecture impact? Specify overall solution Break down work What team builds what? Develop Plan Manage dependencies Coordinate and takt work Guard conceptual integrity Validate Validate result (Customer perspective) Validate solution (reflect and improve) www.agesis.se 32

Scaling up, multiple workflows

Multiple workflows (SAFe) Need to govern Architecture within as well as across the workflows Solution and component Architecture Epic Arch. Epic Epic Epic Portfolio Roadmap QAs Epic Arch. Arch. QAs Epic QAs Epic Arch. QAs Enterprise Architecture www.agesis.se 34

References and further reading Agile Architect http://www.agilearchitect.org Agile Modeling, Scott W. Ambler http://www.agilemodeling.com Scaled Agile Framework (SAFe) http://scaledagileframework.com Lean Kanban University, David J. Anderson http://www.leankanbanuniversity.com Succeeding with Agile, Mike Cohn https://www.mountaingoatsoftware.com

www.agesis.se

Om utbildningen! Certifierad IT-arkitekt Master Michael Thurell Handledare och lärare

Kort om utbildningen K54 sep 2015 >1500 IT-arkitekter Start 1999 6 X 2 dagar Personlig Handledare Ca 25 lärare Inlämningsuppgifter & Arkitekturuppsats Alla IT-arkitekter

Innehåll

Innehåll 1 Vad är IT-arkitektur? Vad gör en IT-arkitekt? Begrepp: System, egenskapskrav, tactics, mönster, ramverk, komponent, tjänst etc. Standarder & arkitekturramverk: ISO/IEC/IEEE 42010, Kruchten 4+1, Rozanski & Woods, RM-ODP, TOGAF, Zachmann

Innehåll 2 Verksamhetsnära IT-arkitektur. Verksamhetsobjekt och verksamhetskomponenter. Verksamhetsmodellering. Övergripande arkitekturarbete (Enterprise Architecture).

Innehåll 3 Teknisk IT-arkitektur. Arkitektur för distribuerade system. Infrastruktur, middleware, databaser, säkerhet, utvecklingsplattformar etc. Realisering av egenskapskrav. 6

Innehåll 4 Metoder för arkitekturutveckling: ADD, RUP, etc. Olika typer av Agila metoder etc. Modellering med UML Styrning av arkitekturarbete (Governance) Metoder för arkitekturutvärdering: Scenariobedömningar, ATAM etc. 7

Innehåll 5 Mönster och stilar för integration. Point-to-Point, Buss, Nav etc. SOA, EAI, ESB, etc. Molnet.

Innehåll 6 Kvalitet och lönsamhet. Test. Ledningens syn på IT-arkitektur. Trender. Redovisning av uppsatsarbete.

Vad utmärker en IT-arkitekt? Egenskaper Kommunikativ & pedagogisk förstå olika intressenters synpunkter och krav förmedla, förklara och tydliggöra olika aspekter/vyer av en ITarkitektur för olika intressenter Analytisk & strukturerad se och förstå helheten förenkla komplexa frågeställningar kunna identifiera de viktigaste arkitekturdrivande kraven Kreativ Ödmjuk Etc. Förmågor Kunna behärska och tillämpa etablerade principer och metoder för utformning av IT-lösningar Kunna förstå & värdera verksamhetsmodeller Kunna identifiera de arkitekturdrivande kraven i en komplex kravbild Kunna omsätta systemkraven till en realiserbar arkitektur Kunna behärska och tillämpa viktiga stilar & mönster för en IT-arkitektur Kunna beskriva & kommunicera arkitekturen till aktuella målgrupper