Agile Engineering. and other stuff I m working on

Similar documents
Profile: How to update your CV - just an idea. 1) Make sure your margins are a slim as possible. 2) Make sure your font size is 10-12

Turbo boost your digital app test automation with Jenkins

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

The Scaled Agile Framework

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK

02291: System Integration

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016

Designed in collaboration with Infosys Limited

Weblogic8.1/9.1, Apache Tomcat 5.0, Jboss, WebSphere7.0, Axis. Windows XP/2000/NT/98/95, UNIX and MS Dos, iphone SDK, Mac Os x

Software Engineering I (02161)

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Practical Model-Driven Development with the IBM Software Development Platform

Using Data Science to deliver Workforce & Labour Market Insights. Gary Gan Co-Founder, JobKred

Christian Schnapp Software Architect/ Developer(Full Stack) Attachments: Curriculum Vitae Projects

Lecture 7: Software Processes. Refresher: Software Always Evolves

Choudhry Nisar. Web: asifnisar.co.uk Phone no:

skill [years experience]

Testing Tools to Support Agile Software Delivery. The Critical Role of Automated Functional Testing in Enterprise Environments

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

About Dean Leffingwell

Advanced Data Modeling: Be Happier, Add More Value and Be More Valued

Collaboration at Scale: Prioritizing a Backlog. 13-Dec-2017

JBuilder 2008 also now has full support for Struts 1.x applications including graphical editing and Web flow development.

Next Generation Mobile Collaboration

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Adopting Agile Practices

SHIVA SHANKAR Sr Liferay Java J2ee Consultant

Curriculum Vitae. Skills. Languages: Java (preference), JavaScript. Lesser so recently: C#, VB, C/C++, PHP

My goal is to work on the Information Technology area and be relevant to a company where you are constantly challenged.

SAFe AGILE TRAINING COURSES

A Tale of Continuous Testing

This Thing Called Kanban

Introduction to. and. Scott W. Ambler Source Documents

Kanban One-Day Workshop

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

Agile Testing in the Real World Moving Beyond Theory to Achieve Practicality [NEED PICTURE HERE]

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

Agile 2005 Experience Report

Hyperion System 9 Financial Management release

ClearPath Secure Java Overview For ClearPath Libra and Dorado Servers

Managing Change at the Speed of Business

IT Needs Analysis For Your Company Executive Summary - Sample

Take Your Oracle WebLogic Applications to The Next Level with Oracle Enterprise Manager 12c

Lean-Thinking. Re-Defined. Going Beyond Toyota. Alan Shalloway.

Optimize tomorrow today.

Open Source in Real Life

HP APPs v.12 Solutions for Dev-Ops

IBM IBM WebSphere Lombardi Edition V7.2 BPM Program Management. Download Full Version :

Shift Left Testing: are you ready? Live Webinar, Sept 19

James Hollingshead SUMMARY

I am Stephen LeTourneau from Sandia National Laboratories Sandia s National Security Missions include: Nuclear Weapons Defense Systems & Assessments

Introduction to Extreme Programming

} Michael Coen. Work Summary. Experience

Managing and Accessing 500 Million Files (and More!)

Test Automation: Agile Enablement for Business Intelligence Teams

HP ALM Overview. Accelerating Innovation, Industrialising Quality. Oren Ziv, Product Manager, QC/ALM

Managing The Digital Network Workforce Transformation

Implementing IBM CICS JSON Web Services for Mobile Applications IBM Redbooks Solution Guide

How to Build an Appium Continuous Testing Pipeline

JBoss World 2009 Aaron Darcy

DAVIS SYSTEMS

CONTINUOUS DELIVERY IN THE ORACLE CLOUD

DevPartner Java Edition System Requirements Release

Gaurav Rai Mazra. Senior Software Developer

Ryan Rich - Software Developer & Architect

Rapid Application Development. Course Outline Semester 2, 2012

A Strategic Approach to Web Application Security

ORACLE SERVICES FOR APPLICATION MIGRATIONS TO ORACLE HARDWARE INFRASTRUCTURES

Simplifying Migrations with the WebSphere Application Server Migration Toolkit

OpenESB SE Enterprise Edition V3.0 Installation guide

The Kanban Playbook: A Step-by-Step Guideline For The Lean Practitioner (The LEAN Playbook Series) By Chris A. Ortiz

Test Engineer Expert Course

Was gibt es Neues Better Team Work with Cloud

The 4 Ts of Test Automation: Your Planning Guide to Success Workshop. Presented By: David Dang Questcon Technologies

Test Driven Development TDD

Caliber Data Training

Enterprise Architectures

Best Practices for Collecting User Requirements

Test Driven Development

(216)

Software Development Process Models

GETTING STARTED. User Story Mapping

Preface p. 1 Who This Book Is For p. 2 Goals of This Book p. 3 What Is Not Covered p. 5 What Is Covered (Technologies and Process) p.

The Case: Danske Bank

Requirements Testing: Turning Compliance into Commercial Advantage. Mike Bartley, Test and Verification Solutions

Red Hat Application Migration Toolkit 4.2

Microsoft. Recertification for MCSD: Application Lifecycle Management

The information system for the State Archives of the Ministry of Interior of the responsibilities

Bob Galen. Bob began as a developer, then moved to Project Management and Leadership, then Testing.

Smartsheet for Jira Visibility is the Key to Velocity

Automated Acceptance Testing

Hyperion System 9 BI+ Analytic Services

Test-Driven Porting. 1 Introduction

CONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010

IT CONSULTING JP BVBA

J2EE Application Development with WebSphere Studio

Project Plan. SISCalendar. for. Prepared by Zach Masiello. Ethan Mick Michael Caputo Shawn Thompson Organization: SIS.io

02161: Software Engineering I

Development Processes Agile Adaptive Planning. Stefan Sobek

Transcription:

Agile Engineering and other stuff I m working on 2008 Gilb conference on Risk Ryan Shriver > Managing Consultant > rshriver@dominiondigital.com Leader in IT Performance Improvement > www.dominiondigital.com The Agile Engineer - theagileengineer.com 1 1

About Me Live and work in Richmond, Virginia, USA Leader in 50-person consulting boutique Like slinging code...just not every day Mostly coaching and high-level architecture currently Starting to write a bit at theagileengineer.com 2

Today s Agenda Story Telling Agile Engineering Augmenting Scrum with Evo Recent Case Studies Value Meter Demo 3

What I know about Risk 4

What I know about Risk Next to nothing Mitigation by Design Tackle head-on 4

Story Telling 5

My Agile Journey 1995.. 2000 2001 2002 2003 2004 2005 2006 2007 2008 Scrum XP Evo Developer Software Architect Agile Coach Systems Engineer Started using XP Lead Architect - Product Development development practices J2EE extreme Programming Explained Beck Design Patterns JUnit Refactoring Fowler Martin Test-Driven Domain Driven Project Start using XP with 6 developers. In 18 months we had 40 developers, 100+ project members Automation Scaling Agility Gilb Learned how to make XP adapt firsthand, but struggled with issues not addressed by XP (size and complexity) FitNesse 3-week iterations Sun Labs Collins Contract: 4,400 2,000+ requirements user stories Evo and Scrum Lean Smart Rails Decisions Drucker What s Business Value? Production 6

My Agile Journey 1995.. 2000 2001 2002 2003 2004 2005 2006 2007 2008 Scrum XP Evo Developer Software Architect Agile Coach Systems Engineer Started using XP Lead Architect - Product Development development practices J2EE extreme Programming Explained Beck Design Patterns JUnit Refactoring Fowler Martin Test-Driven Domain Driven Project Start using XP with 6 developers. In 18 months we had 40 developers, 100+ project members Scaling Agility Gilb Automation Learned how to make XP adapt firsthand, but struggled with issues not addressed by XP (size and complexity) FitNesse 3-week Collins iterations Sun Labs Contract: 4,400 requirements 2,000+ user stories Evo and Scrum Lean Smart Rails Decisions Drucker What s Business Value? Production Can we build large scale systems efficiently and effectively using Agile? 6

System Background Suite of Lending Products Web-based system-of-record for billions in assets Platform O/S Database App Servers Rules OS Libraries Tools Testing Performance Java 2 Enterprise Edition Solaris, Windows, Linux, z390 Oracle, SQL Server, DB2 BEA WebLogic, IBM WebSphere Embedded Blaze Rules Engine Hibernate, Spring, Struts, Apache Commons CVS, Maven, CruiseControl, Eclipse, Jira, WIki JUnit, FitNesse, Selenium Mercury, JProfiler, verbose:gc 7

Software Specifications Lines of Code 673,000 Java classes 5,300 FitNesse Selenium JUnit 118,000 assertions run nightly 9,000 test scripts 637 Test classes - 3,243 test methods Libraries 97 Architecture Adapters MVC, Domain Driven, Events, Services Web Services, JMS, File 8

Sources of Complexity Accounting Domain Configurability of Product Range of Client Needs Implementation Complexity Performance Requirements 9

Our User Stories Story Estimate Story Name Unique Story Number QA Testing Estimate Color-coded sticker per application layer / components Signed and dated by QA when approved Strikethrough signifies this developer is done with their piece Developer s initials & their estimate 10

Our Iteration Tracking 11

Our Release Backlog Upcoming Stories Upcoming Iterations 12

Our Continuous Integration 13

What I Learned 14

What I Learned Agile technical books didn t provide much guidance on building large scale, high-performance systems 14

What I Learned Agile technical books didn t provide much guidance on building large scale, high-performance systems System qualities must be Priority #1 for Architects 14

What I Learned Agile technical books didn t provide much guidance on building large scale, high-performance systems System qualities must be Priority #1 for Architects It s never too late if you follow simple design principles and have an agile codebase Customer Search: 3.962 s => 1.056 s 2x TPS 14

What I Learned Agile technical books didn t provide much guidance on building large scale, high-performance systems System qualities must be Priority #1 for Architects It s never too late if you follow simple design principles and have an agile codebase Customer Search: 3.962 s => 1.056 s 2x TPS I wish I had known sooner about the exponential importance of qualities...i was busy focusing on user stories 14

What I Want To Do Establish Agile as a legitimate method for building large, complex systems Get beyond code-level and move towards systemsengineering agile topics Distill the best ideas into digestible Principles and Practices 15

Agile Engineering 16

Principles of Agile Engineering 1. Deliver Value 2. Quantify Qualities 3. Reduce Feedback Cycles 4. Explore Alternatives 5. Last Responsible Moment 6. Front-to-Back 7. Test-Driven Development 17

Principles of Agile Engineering 1. Deliver Value 2. Quantify Qualities 3. Reduce Feedback Cycles 4. Explore Alternatives 5. Last Responsible Moment 6. Front-to-Back 7. Test-Driven Development 17

Focus on Delivering Value to Stakeholders What they said 18

Quantify Qualities Why people buy ipods: It s not what you do, it s how well you do it, that matters 19

Quantify Qualities Why people buy ipods: It s not what you do, it s how well you do it, that matters $10 price Sales: Zune [Nov 2006 - May 2008]: 2 million units ipod [Oct 2006 - Mar 2008]: 84 million units difference 19

Reduce Feedback Cycles Communication Learning Release Build Integration Testing Plan Do Act Study The only sustainable competitive advantage is the ability to learn faster than the competition. - Arie de Geus, author of The Living Company 20

Last Responsible Moment Maximize time to gather data and make decision Design for Unknowns 21

Last Responsible Moment Maximize time to gather data and make decision Design for Unknowns 21

Explore Alternative Designs Time Don t decide here Decide here 22

Explore Alternative Designs Alternative Design Prototypes Time Don t decide here Gathering Facts Team Learning & Knowledge Decide here 22

Front-to-Back 23

Front-to-Back Client System 23

Front-to-Back Client System User Interface Layer Business Logic Layer Data Access Layer Operating System 23

Front-to-Back Client System User Interface Layer Business Logic Layer Data Access Layer Operating System Database System 23

Front-to-Back S P I K E Client System User Interface Layer Business Logic Layer Data Access Layer Operating System Database System 23

Front-to-Back S P I K E Client System User Interface Layer Business Logic Layer Data Access Layer Operating System Database System 23

Front-to-Back Client System S S S P I K User Interface Layer Business Logic Layer P I K P I K E Data Access Layer E E Operating System Database System 23

Test-Driven Development 24

Test-Driven Development Design Implement Test? 24

Test-Driven Development Design Implement Test? 24

Test-Driven Development Design Implement Test? Test Design Implement Test 24

Measuring Business Value with Scrum 25

Premise Agile is a fine method to help you do things right Agile doesn t help you do the right things 26

So can we adapt Agile? Yes, but we need to: 27

So can we adapt Agile? Yes, but we need to: Deliver the Right Thing 27

So can we adapt Agile? Yes, but we need to: Deliver the Right Thing Measure Business Value 27

So can we adapt Agile? Yes, but we need to: Deliver the Right Thing Measure Business Value Focus on Value Alignment 27

So can we adapt Agile? Yes, but we need to: Deliver the Right Thing Measure Business Value Focus on Value Alignment Measure Progress to Goals 27

Recent Case Studies 28

Evo + Scrum Case Study Start-up subsidiary of international company Building patent-pending, dynamic online marketing engine. Company founded Jan 2007. We started in Mar. Production in Nov. Used Evo for Business Objectives & Requirements. Scrum for implementation As of April 2008 three US airlines and large online travel company live, 3 more airlines and rail in Q3-Q4 2008. ~1 million daily transactions hitting target response times 29

Value Meter Demo 30

Value Meter Tool to specify and measure progress to goals Shooting to open source project in Q3 - Q4 Also hope for hosted solution 31

Thank You Questions? Ryan Shriver > Managing Consultant > rshriver@dominiondigital.com Leader in IT Performance Improvement > www.dominiondigital.com Download this and all my presentations from theagileengineer.com 32 32