The Macro Process Is the Micro Process

Similar documents
The Challenge: Balancing Change and Control of Continuous Delivery at Scale

One Size Does Not Fit All

Rational Unified Process (RUP) in e-business Development

Achieving Balance: The New Pivotal Points of Software Development

What Is the Rational Unified Process?

Process, Models, Methods, Diagrams Software Development Life Cyles. Part - II

What You Didn t Know About RUP

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Building High Assurance Systems with SAFe 4.0

CSE 435 Software Engineering. Sept 14, 2015

Accenture Architecture Services. DevOps: Delivering at the speed of today s business

Software development processes: from the waterfall to the Unified Process

MTAT Software Engineering Management

Scale. Becoming a Lean Enterprise with IBM and SAFe

Processes and Life- Cycles. Kristian Sandahl

Introduction of RUP - The Rational Unified Process

Daitan White Paper The Software Development versus Maintenance Dilemma COMMON MISCALCULATIONS IMPACT REVENUE AND MARKET SHARE

Software development processes: from the waterfall to the Unified Process

Other Agile Approaches & Methodologies

7. Model based software architecture

Chapter 3 Prescriptive Process Models

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008

Processes and Life- Cycles. Kristian Sandahl

Agile at Mid-Scale. Al Shalloway. Introducing FLow for Enterprise Transformations (FLEX)

DevOps: Accelerating Application Delivery. DevOps on IBM i: Barriers, Techniques, and Benefits to the Business

The good news. 34% of software projects succeed. Standish Group, CHAOS Report, 2003

Lean Manufacturing 1

The recipe for hyperfast DevOps instrumentation. An e-guide to infrastructure as code

Unified Process and Testing with EasyAccept. Peter Dolog dolog [at] cs [dot] aau [dot] dk E2-201 Information Systems February 22, 2007

RELEASING HIGH-QUALITY APPLICATIONS AND INFRASTRUCTURE FASTER WHITE PAPER OCTOBER 2017

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

Software Engineering Modern Approaches

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

The Business of Continuous Delivery

DASA DEVOPS FUNDAMENTALS. Syllabus

7. What is planning? It is an act of formulating a program for a definite course of action. Planning is to decide what is to be done.

Sistemi ICT per il Business Networking

Introduction to Software Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 06 09/08/2016

Welcome to the webinar. We will begin shortly.

SOA Governance is For Life, Not Just a Strategy

How to Choose an Enterprise Agile Platform

DEVOPS FUNDAMENTALS - MOCK EXAM

Software Modeling & Analysis. - Fundamentals of Software Engineering - Software Process Model. Lecturer: JUNBEOM YOO

Object-Oriented and Classical Software Engineering

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

The Rational Unified Process for Systems Engineering PART II: Distinctive Features

Agility at Scale. Support de la méthodologie SAFe dans la plateforme CE-ALM. Christophe Telep Offering Manager, IBM

Implementing SAFe: A Roadmap

D E V O P S T E X A S TEXAS DEVOPS M E E T U P INFLUENCING A DEVOPS CULTURE

Aligning Business Architecture with Business Design

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

TOOLS AND METHODOLOGY FOR DEVOPS

Rational Unified Process

Agile Introduction for Leaders

A GUIDE TO FRICTIONLESS DELIVERY

Scale. What s New in the Continuous Engineering (CE) Solution for Enterprise Scaled Agile (SAFe)

Scaling with Feature vs. Component Teams Agile 2013 Nashville, TN August 8, 2013 by Kenny Rubin

Frameworks - Which one should you choose?

Analyze, Design, and Develop Applications

Introduction to Software Life Cycles and Agile. CSCI 5828: Foundations of Software Engineering Lecture 03 09/02/2014

5 Important Questions to Ask Potential BPM Vendors

l e a n The Scaling Dilemma software development It s Not About Agile

Processes. Object Orientated Analysis and Design. Benjamin Kenwright

The Strengths and Weaknesses of Software Architecture Design in the RUP, MSF, MBASE and RUP-SOA Methodologies: A Conceptual Review

DEVOPS IN A BOX: MAKING CONTINUOUS INTEGRATION EASIER

Implementing an Agile Transformation Using Discipline Agile Delivery Michael J Lyons World Wide Solution Deployment Architect, IBM Rational

IT4IT : the new enterprise architecture framework

SESSION 802 Wednesday, November 4, 10:15am - 11:15am Track: Continual Service Improvement

UNDERSTANDING AGILE PROJECT MANAGEMENT

Test Workflow. Michael Fourman Cs2 Software Engineering

A SUCCESSFUL JOURNEY TO THE DIGITAL WORKPLACE

Why SCRUM I O A N N I S K O S T A R A S A G I L E C R E T E

Digital Transformation for Rapid Responsiveness

Development Process Bennett, McRobb and Farmer 1

Lean Agile Product Development using the Scaled Agile Framework (SAFe )

Fueled with ALM Octane

DevOps: Start-up Speed, Enterprise Scale

The IBM Rational Software Development Platform

Plutora Test. Product Features DATA SHEET

Measuring Business Value with Agile

DevOps architecture overview

Proven steps to get the most out of your GIS investment. Paul Burgess Anna Sokol

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson

2009 Spring. Software Modeling & Analysis. - Software Process Model. Lecturer: JUNBEOM YOO

DevOps. Changing the way you deliver software

UNISYS BUSINESS BLUEPRINTS.

Value Stream Services

Are Life Cycles Still Relevant?

Innovating at Internet Speed: How to balance speed and efficiency in the digital age

Workload Automation as Digital Business Automation(DBA) James J. Gingras

Lean Flow Enterprise Elements

Getting ready for ALM Octane

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Four DevOps Journeys to Agility & Continuity in Your Organization

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes


When the Business Wants Waterfall Implementing Agile in a Phase-Based Environment

Essentials of Business Architecture Roger Burlton

EXPERIENCE EVERYTHING

JANUARY 2017 $ State of DevOps

Transcription:

The Macro Process Is the Micro Process Israel Gat, Director and Fellow (With many thanks to Murray Cantor, Tom Grant and Paul Ryan) IEEE Computer Society Symposium November 12, 2014

Bio Areas of research & consulting: Agile methods Devops Software governance Technical debt Technical Due Diligence Major products delivered: BMC Performance Manager/PATROL Microsoft Operations Manager Tivoli Smart Handheld Device Manager EMC Cellera Digital s NetView Nixdorf 8890 Books: The Concise Executive Guide to Agile Sample accolades: Winner, 2006 Innovator Award [Application Development Trends, May 2006] "When I deal with technical debt issues, I refer to Israel Gat regularly. His approach is the only one I've found that actually works [Director, Verisk Health] Nearly three times faster time to market than industry average one quarter the expected number of defects based on team sizes and schedules. [QSM Study, August 2007] The change you bought to BMC with Agile is the single largest change to the development model that I have ever witnessed in my almost 20 years at BMC. [Director, BMC Software] 2

Agenda Faking It Recipe for Software Development in our Era Single-Piece Batch The New Semantics 3

Part I: Faking It 4

Faking It Parnas and Clements in their 1986 paper A Rational Design Process: How and Why to Fake It we will never find a process that allows us to design software in a perfectly rational way the good news is that we can fake it if we agree on an ideal process, it becomes much easier to measure the progress that the process is making. 5

Why is the Software Development Process so Difficult that We Need to Fake It?! When an individual or a team solves a problem, they engage in four activities: Scoping. Ensuring they fully understand the problem. Designing. Developing an approach to solving the problem, usually using some sort of sketch or diagram. Implementing. Carrying out the design. Verifying. Confirming that the solution actually solves the original problem. It is important to understand that these are activities, not phases. An activity is something you do to reach an outcome. Phases are the steps in the lifecycle that mark the project s progress. Phases are not strictly tied to problem-solving activities since the activities often span the phases. [Murray Cantor] 6

Grady Booch s Two-Tier Process Structure Phases Process Workflows Inception Elaboration Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Supporting Workflows Configuration Mgmt Management Environment Preliminary Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1 Iterations Source: Grady Booch, Rational Software

The Macro Process vis-à-vis the Micro Process The macro process represents the activities of the entire development team/value stream in terms of content and time Content: Requirements Analysis & design Implementation Test Deployment Time: Milestones to ensure quality or maturity, not dates per se The Micro Process represents the technical activities of the development team Traditionally analysis and design, e,g, in the Booch method 8

The Macro Process vis-à-vis the Micro Process Strong separation of concern between the two processes Macro Process: choice of lifecycle style: Waterfall, Iterative, Agile, etc. Micro Process: choice of technique, e.g. Object Oriented The Macro Process drives the Micro Process by prescribing products and activities that enable: Assessing risk Early corrections to the Micro Process 9

The Flow Problem: Handoff from One Phase to the Next One To represent reality, the macro process must capture wait periods between phases Like it or not, your artifacts are waitinggggggggggggggggggggggggggggggggg VSM has been used as a supplementary tool to that purpose, but in general it has not been explicitly incorporated in the macro process Only way to do so is by incorporating artifact wait states in the process definition See http://www.cutter.com/offers/devintell.html As various studies by Don Reinertsen have illustrated, the waiting periods between phases might be more important (in terms of flow than) the phases themselves 10

Part II: Single-Piece Batch 11

Single-Piece Batch Enables Optimizing Flow 12

The Process is Managed through Software Development Analytics Before After Source: Murray Cantor

By the Way, It All Applies to Devops The whole business of deployment as a separate activity/discipline is an extremely unfortunate consequence of archaic organizational structures All you need to do is handle deployment as ordinary steps/tasks in your single-piece batch system 14

Part III: The New Semantics 15

You Win on Flow, You Lose on Grouping Substance The very nature of the phases concept is transformed: Phase gates Flow optimization levers (WIP limits, etc.) Question: How do we to capture the user mental model? Think of the Table construct in a text editor Not understanding it in an early phase has a cost for flow, value delivered By analyzing the amount of investment in understanding the user mental model needed to increase the reliability of value delivered, analyzed at the micro level, we can reach macro level conclusions Think of what it means: we de-facto reintroduced the phase construct through new techniques 16

Question: When is Conception Completed in the Era of Continuous Deployment? Phases Process Workflows Inception Elaboration Construction Transition Business Modeling Requirements Analysis & Design Implementation Test Deployment Supporting Workflows Configuration Mgmt Management Environment Preliminary Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1 Iterations

Answer: Three Kinds of Development More Descriptive More Predictive Source: Murray Cantor

Part IV: Recipe for Software Development in our Era 19

First Step: What Kind of Project is on Your Hands? Are you doing: A new platform? New features on existing platform? Maintenance and small change requests on existing platform? Each kind requires different kind of analytics Moreover, for a new platform you will need to resurrect some form of the Elaboration phase to ensure just enough architectural runway to enable future small changes and new features will add up Appropriately enough, we call it Agile RUP 20

Second Step: Minimize Number of Roles; Maximize Flexibility End User The Business Customers Domain Experts Developers & Testers End User Feature priorities, scope Purchase convenience Product/ feature feasibility Quality and proper functionality The Business Feasibility Create standards Process requirements Feasibility Source of revenue Customers A market Products and services Create standards Compliance with standards Source of revenue Domain Experts Range of product variation Workplace well-being Need for standards Domain synergies and conflicts Constraints on technology Developers & Testers Requirement clarification Workplace well-being Advice on delivery process Guidance, APIs, poka-yoke Clarification of how existing code works Read down the columns to see what the roles contribute to the value stream; rows indicate the roles to whom value is provided. Source: Coplien & Bjornvig, Lean Architecture for Agile Software Development, Wiley, 2010. 21

Alignment Low Alignment High Third Step: Build on the First Two Steps to Attain Autonomy through Alignment High Autonomy w/high Alignment is Possible Alignment vs. Autonomy is a false dichotomy Alignment leads to autonomy My job is to provide the alignment: Overall team goals Overall business goals Top Level product strategy Your jobs are to creatively work to achieve these goals by innovative problem solving Silos Everyone gets their thing done, not necessarily overall success. Autonomy Low Salt Mines MIcromanagement. Innovati on Everone knows all of the goals and works to achieve them though problem solving. Autonomy High Anarchy This is not the meaning of agile (stolen from http://vimeo.com/85490944) Slide used with the kind permission of Mr. Paul Ryan 22

QUESTIONS? 23

Thank You! Israel Gat igat@cutter.com @agile_exec 24