45
Design Thinking, Agile, DevOps Fuel the Innovation Delivery Yi XU, Agile Coach & Consultant GCG Agile/DevOps CoE, IBM GBS

Design Thinking, Agile, DevOps - fuel the innovation delivery

  • Upload
    yi-xu

  • View
    2.667

  • Download
    2

Embed Size (px)

Citation preview

Design Thinking, Agile, DevOps Fuel the Innovation Delivery

Yi XU, Agile Coach & Consultant GCG Agile/DevOps CoE, IBM GBS

Agile has been Hot for Years

9th Annual State of Agile Survey, by VersionOne

Visibility Adaptability

Business Value Risk

1.  Functionality is developed or prototyped and immediately checked with business - hence the outcome (application functionality) is visible from the start and continuously improved

2.  Close interactions or collaboration between business and IT leads to better outcome

3.  Responding to changes instead of following long term plans gives flexibility

4.  Pervasive transparency that shows the status of the development at any stage reduces risk

Agile Value Proposition is Good, but Not Enough

IBM Design :: IBM Confidential :: ©2014 IBM Corporation 4

“The biggest driver of sustained growth is the Client Experience”

-- Ginni Rometty

IBM Design :: IBM Confidential :: ©2014 IBM Corporation

!  An approach for leaders to guide their teams to achieve market outcomes

!  An approach for project teams (business, design, & technology) to develop exemplary solutions

!  An approach to transform companies into becoming client-centered

IBM Design Thinking

Placing ‘user experience’ and the ability to meet customer needs at the core of design, by using it as the measure for generated business and customer value.

DevOps Approach Apply Lean principles to software innovation and delivery to create a continuous feedback loop with customers

Line-of-business

Customer

1

3

2

1.  Get ideas into production fast 2.  Get people to use it

3.  Get feedback

Adopt DevOps approach to continuously manage changes, obtain feedback and ,

deliver changes to users

Eliminate any activity that is not

necessary for learning what

customers want

IBM DESIGN THINKING

Understand

Explore

Prototype

Evaluate

Hills Invest for market

outcomes

Sponsor Users Envision the user

experience

Playbacks Collaborate, align,

engage!

!  The IBM Design Thinking framework is a modern approach to iterative experience design and development. Paired with agile, IBM Design Thinking is a powerful way to increase and accelerate innovation across our clients. IBM Design Thinking Principles

The IBM Design Thinking is rooted in a product management philosophy for software and experience implementation and has been practiced and refined at scale across hundreds of IBM Software Application and client digital design and development initiatives. The main principles of design thinking include: •  understand

developing deep empathy for users •  explore

the process of generating potential solutions for your user’s problem

•  prototype process of rendering ideas as concrete experiences

•  evaluate decide whether to move forward with an idea, or generate more solutions

IBM Design Thinking combines these general principles with three new core practices that are unique to IBM: Hills, Sponsor Users, and Playbacks. These practices are designed to maintain a Team’s focus as they attempt to solve big, often complex problems for real people, ensuring that we hit unforeseen roadblocks early, before we get to market.

IBM Design Thinking supports Agile product development

IBM Design Thinking

9

IBM has a long history in design and was the first corporation to establish a worldwide design program in the 1950s. Our services organization has worked for decades helping clients achieve their business goals through design. Building on that heritage and organizational knowledge as well as industry best practices, we now have a company-wide framework called IBM Design Thinking which is optimized for the fast moving world of cloud, mobile, analytics, social, and more. It is used within our product divisions and is available to clients through our Interactive Experience services organization within Global Business Services (GBS). It brings together specialists in business, technical, and design to collaborate in order to understand, explore, prototype, and evaluate with a razor focus on the problem spaces to address and achieving desired market outcomes.

IBM Design Thinking focuses on three core practices to help solve a number of well-known issues during product delivery – Hills, Sponsor Users, and Playbacks.

Empathy Map

SAYS THINKS

DOES FEELS

Prototype

Karel Vredenburg IBM Design Director/

Sponsor User

Playback and Evaluate

I Like

I Wonder I Suggest

I Would Improve

•  Overall experience and improvement the function will bring to work efficiency. •  PEM chat function between HR, PEM and staff. •  Having an overview of staff and activities in one place (home screen). •  Alerts notifying of outstanding actions and approaching deadlines.

•  The clarity of the overall Home Screen •  The labelling of the alerts and functions to make it clearer •  Clearer understanding of how to go between screens •  The link functionality to all PEM data sources

•  Can I see employee salary? •  Will this bring a reduction in the number of reminders and approval emails that I currently receive (5/day)?

•  Including texts for icons on the Home Screen •  Making it clearer that all key links are on one page. •  Consistency between screens (e.g. headings). •  Maximum of 5 clicks to complete a task •  Calendar will automatic booking of meetings •  Ability to customise the Home Page. •  Only alerts that require actions visible on screen.

AGILE DELIVERY

Follow Industry Practices

Popular & Well-Known Agile Methods & Practices

What to expect out of Agile team? Agile integrates proven practices that enable innovation and mitigate solution delivery risk

16

IBM Confidential

Agile Waterfall

Self-Organizing, Empowered, Cross Functional, End-to-End Value Delivery Team

Developers

Testers

Business Analyst

A team that has everything and everyone they need to

deliver a working increment of tested, documented,

deployable software.

Core Agile Delivery

Team Lead Developer

Product Owner / Business SME

Scrum Master

Vertical Slicing & User Story

•  a premium member can cancel the same day without a fee •  a non-premium member is charged 10% for a same-day cancellation •  an email confirmation is sent.

As a member, I want cancel a reservation, so that I can avoid waste.

Condition of Satisfaction

Definition of Done

Condition of Satisfaction •  = Confirmation (User Story’s 3C) •  ≈ Acceptance Test It is •  Feature’s behavior details •  User’s expected results in certain scenarios

Quality: CoS & DoD

Small Batch, Itemized Requirement to Delivery

Sprint Planning •  Fit to Sprint Capacity

SS

SS

SSS S

SSS S

SS

S

Future Future

Small Batch Requirement Analysis •  Refine Requirements according to Sprint Capacity •  Prepare Requirements for future Sprints

Req. Analysis

SSSS

•  Ordered Requirement/Story •  Team Backlog

Continuous Analysis, Planning, Implementation

Req. DONE Req. Ongoing Req. for Next Sprint

!  One team culture !  Two-way flow !  Minimise hands-off !  End-to-end and capability within each location

!  Innovation !  Share and learn !  Continuous knowledge transfer

!  Empowered !  Willing to do everything !  T-shaped skills !  Courage to challenge, and be challenged

!  Being able to start/stop work at low cost !  Move from Push-to-Pull culture of Self-Service !  Deliver Business Value rather than Projects

!  Being able to start/stop work at low cost !  Funding of work is conductive to the Agile ways of

working !  Agile Demand Management

Agility @

Scale

!  End-to-end capability within teams !  Long lived teams !  “you build it, you maintain it” !  Capacity and Dependency Management

PASSIONATE PEOPLE

CONTINUOUS IMPROVEMENT

DISTRUBUTED DELIVERY

CUSTOMER VALUE

SCALING TEAMS

AGILE GOVERNANCE

Scale Matters

Agile Delivery with Multiple Teams

Team Backlog Team Backlog Team Backlog Team Backlog Team Backlog Team Backlog

Team Backlog Team Backlog Team Backlog Team Backlog Team Backlog Team Backlog

Team Backlog Team Backlog Team Backlog Team Backlog Team Backlog Team Backlog

Product Feedback Loop

Product Backlog

Product Increment Product Increment Product Increment

Agile Team A

Agile Team B

Agile Team C

Product Feedback Loop Product Feedback Loop

© 2015 IBM Corporation

Self-Organizing Cross-Functional Feature Teams i.e. End-to-End Delivery Team

Scrum of Scrums

Scrum of Scrums of Scrums

E2E Delivery Team S o S

E2E Delivery Team

Shared Dev Platform, Requirements (Product Backlog), Testing Env etc.

(@Suncorp) Lync TV for video conference, JIRA

to sync physical wall (backlog)

Continuous Integration Quality Dashboard

Scale Agile in a Global Organization

Product  Backlog  

Sprint  Backlog  

Deployable  Capabili7es  Mul7ple  Sprints  

Agile  Team  1  

Agile  Team  n  

Product Mangement Team Define themes, capabilities, initial stories, assumptions Capacity Planning for next release Facilitate common cross-team product insight and tradeoffs

Delivery Support Teams Guide and support agile teams Assist in product backlog refinement Work WITH teams to standardize and optimize

(agile approach, architecture decisions, reviews, code integration, regression test)

Release  Backlog  

SAMPLE Organization Structure

Arch CoP

Tester CoP

Front-End Dev CoP

SoS

Scrum Team

Chief PO

PO PO PO

SM SM SM SM SM SM

Chief SM

MW Dev CoP

End-

to-E

nd P

rodu

ct D

eliv

ery

Specific Arch Team

Scrum Team Scrum Team Scrum Team Scrum Team Scrum Team

SAMPLE: Business Process Modeling & User Story

Business Process Modeling

MRD L0—L2

PRD L3

Level 0 – Industry Area Level 1 – Business Area Level 2 – Business Scope Level 3 – Business Process Level 4 – Business Activity Level 5 & 6 – Business Step Level 7 & 8 – System Operation Step

As [type of user],

I want [feature],

So that [business value]

User Story Estimation 5 Story Points

Task1 Make login page UI

Estimate 5 Hours

Task2 Coding text field verification rule

Estimate 2 Hours

Task3 Call web service to verify credentials

Estimate 3 Hours

Task4 Write tests

Estimate 4 Hours

Priority

User Experience Design and Agile

Agile Team Kanban Board

SAMPLE: Project & Team Kanban Boards

Project Kanban Boards

Not a Perfect Example, as Team is in multi-Projects

Pair Programming TDD

Acceptance Test

Collective Code Ownership

Daily Standup

Product Backlog

Burndown Chart

Sprint Planning Retrospective

Scrum Master

Product Owner

Refactoring

Whole Team

Sustainable Pace

Awareness

Agile Transformation Committee

Product Planning & Management

System Metaphor

Governance

Management Technical

Agile Delivery Adoption

Agile Transformation We also need tooling+ to speed up delivery.

DEVOPS

The DevOps Ecosystem

1

2

3

4

5

Developer

Tools

Environment

Process

QA Tester Team LeadOperations Analyst

DevOps components: Process (includes governance and organization), Tools, Environment DevOps Methodology supports various environments: Mainframe, Midrange, Distributed, Cloud, Mobile, etc Various Tools to support project life-cycle depending upon the environment The processes aid continuous solution delivery using Iterative Agile Methodology by leveraging tighter integration between Development and Ops Teams The processes, tools and environment become the foundation on which product driven iterative development occurs

DevOps is a development and test approach that fosters collaboration between Development and Operations teams to enable continuous delivery

Previous efforts/practices, such as Agile, addressed only a subset of the value chain

Develop / Test

Release / Deploy

Plan / Measure

Monitor / Optimize

Continuous Delivery of Software-driven innovation with a feedback loop

Business Owner

Service Developer/Tester Service

Operations Target Customer

Goal: Get ideas into market/production fast, get people to use it, get feedback

Idea Market

DevOps

DevOps breaks down silos and enables collaboration

Continuous Deployment

Cont. Business Planning Continuous Integration

Agile Development Continuous Monitoring

Continuous Testing

DevOps enables an E2E approach to product delivery

© 2015 IBM Corporation

Implementing a DevOps toolchain

SCM

Build / CI Server

Unit testing Test Automation Test Stubbing

Delivery Pipeline

Environment Configuration

Automated Monitoring

Asset Repository

DevOps Best Practices,

Build a tooling “pipeline” for DevOps practices !  Assess tooling options that are available

!  Implement tooling solutions for enablement of DevOps

!  Supporting build cycle –  source code check in source code control, coordinate your

build

!  Deployment –  automated test environments and infrastructure

!  Automated testing

!  Reporting & monitoring

!  Experimentation & feedback loops

!  Analytics

Provide those Tools-as-a-Service

!  Dev teams should use hosted everything

!  Infrastructure, dev tools, build/test/deploy tools, + operational tools

!  Hosted tools should evolve quickly, be extensible, and have great SLAs

!  Tools should work well individually but better together

how does IBM do it and recommend

People

Process Tools

Operate Develop/ Test

Deploy

Steer

Continuous Delivery Pipeline

Agile  planning  and  tracking  Applica7on  auto-­‐scaling  AppScan  mobile  analyzer  Con7nuous  delivery  pipeline  Git  hos7ng  

Mobile  applica7on  security  Mobile  data  Mobile  quality  assurance  Monitor  &  analy7cs  Push  

Bluemix DevOps services RapidApps  (beta)  Server-­‐side  code  Web  IDE  

AGILE TRANSFORMATION

Operate Develop/ Test

Deploy

Steer

© 2015 IBM Corporation

First, preposition the role of architecture and product manager. They need sort out the items and set priority to projects and requirements by using tools like integrated model.

2

Second, architecture and product manager will assign tasks with agreed priorities to each development team.

2

Agile in development team includes daily scrum meeting, sprint iteration, Kanban, automatic testing, continuous integration, etc. Put aside environment dependency, through data and environmental simulation, with the help of XP and TDD which can improve personal capability and efficiency, component team can be transferred into feature team. Each team can achieve team level agile and ultimately improve team productivity.

1

From project level, under project dimension, each development team leader and project manager form virtual project agile team. They track and monitor tasks, coordinate progress. Finally delivery based on priority achieved.

2

Based on project level agile, each department collaborate with each other to solve problems of version-level requirements, dependency management, multiple project requirements pool, project priority and requirements , task priority analyze and delivery, testing task precondition, large version project tracking and management issues.

3

The ultimate vision is to achieve enterprise level agile with continuous delivery, that is, agile practice with continuous integration extends to the testing center and application support, achieve continuous integration testing and deployment of agile whole processes, product innovation center hit from the business requirements and back-end verification, testing center quick delivery, starting with requirements analysis, application support provide high efficient support for quick delivery.

4

Vision for Transformation

SAMPLE: Pilot Projects Execution Plan

standardization and commitment Guidance and consolidation Cultivation and Research

Pro

ject

Pre

para

tion

E

stim

atio

n P

hase

Promotion of development culture changes

Promotion of Agile core implementation

Promotion of Agile Tool/Environment support

Promotion of Implementation Requirement Agility

S

umm

ary

of P

ilot P

roje

cts

Three Phases

Agile Practice Implement

SAMPLE: Agile Assessment*

* IBM Service Offering

© 2015 IBM Corporation

Coaching and Transformation*

Identifying priorities of practices of each phases by measuring the team maturity and traits  

Burn Down Chart

User story

Diff

icul

ty L

evel

Team Maturity

Stand-up meeting

Kanban

Panning meeting

Retrospective

Spring Review

Requirement Itemizing

SoS

Grooming

Proactive testing

Continuous Integration

Unit Test

Estimation and

Velocity

Automation Testing

Environment Improvement

Requirement List

Agile management tooling

Main Branch

Development

team morale Prioritizing

requirements

Iteration List

Initial Underway Mature

*

*

*

*

*

SAMPLE: Team’s Agile Practice Adoption Path

* IBM Service Offering

Coaching and Transformation*

Actions Implemented

Key Points along the way

•  Intense training and education training to internal Agile Coaches

•  Agile Coaches train all members of product line teams

•  Rearrange requirements according to Agile approach

•  Core member backup development

•  Code peer review •  Dev-Test collaboration •  Arch-Design cross-

review

•  Training to business department senior directors

•  Add cooperation and deployment processes

•  Consultant coach on refining architecture

•  Product KPI, data-based operation •  Team self-organizing, community

interaction •  Culture cultivation, activity

management

•  Re-charging Period for Agile Coaches

•  Office place select •  Role candidates

selection •  Learning period for

team members

•  Coaching on solving conflicts between new and traditional ways of working

•  Agile capability build-up •  Q&A and coaching during Agile

adoption

•  Coaching more product lines

•  Product quality support

•  Testing work coaching

•  Labor division problem of product x

•  Collaboration and cooperation (with other related systems) problems of product y

•  Architecture problem coaching

•  Operation planning and coaching

•  Teams into rapid development period

Aw

aren

ess

& T

rain

ing

Coa

chin

g by

IB

M C

onsu

ltant

Coa

chin

g by

In

tern

al C

oach

Team

Sel

f-O

rgan

izin

g * IBM Service Offering

Agile Planning & Agile Project Delivery*

2~4 Week Sprint

Daily Product Backlog

Sprint Backlog

Stand-Up

Potential Shippable Product Increment

Sprint Goal Area Product

Backlog

Product Vision

Release Planning Sprint Planning Sprint Review Sprint Retro

Continuous Integration

Test Automation

User Story

1

2

3

5

4 5

6

7

8

9

Through Continuous Coaching to Embrace Agile Values and Principles into Practice

Expect to take two or three months to start feeling comfortable with the practices and another two to six months for them to become second nature. ------ “The Art of Agile Development”, James Shore

* IBM Service Offering

IBM Design Thinking, Agile and DevOps

!  Organisations are embracing User Stories as a way to document project requirements.

!  Great User Stories alone do not guarantee compelling customer experiences. > Design Thinking focusses teams on valuable customer outcomes

!  Organisations are embracing agile software development techniques to create potentially valuable outcomes.

!  Great outcomes are only valuable when they can be used by customers. > DevOps brings an Agile way of working into the IT Operations teams, enabling rapid delivery.

!  Live use generates real feedback from real Customers, Business & IT Operations people.

!  Imagine a world where project outcomes are shaped by genuine insight, not clairvoyance.

1(IBM Design Thinking) + 1(Agile Development) + 1(DevOps) > 3

Kaveri, Yi XU

Agile Coach & Consultant

GCG Agile/DevOps Center of Excellence

IBM GBS GCG

CSM, CSP, PSM I

PMI-ACP, ITILv3 Foundation

Certified Coach of MG-SCC

CONTACT

•  Email: [email protected] •  Site: http://kaverjody.com •  http://linkedin.com/in/kaveri •  http://slideshare.net/kaverjody •  WeChat / Skype: kaverjody •  Translation: Agile Manifesto, Scrum

Reference Card, Explore It, Agile Coaching, The Element of Scrum, Management 3.0, Beautiful Teams

Books Translated by Yi XU

Thanks!

Enjoy Agile Coaching!

Yi XU, Agile Coach & Consultant

GCG Agile/DevOps CoE, IBM GBS