don’t let process hold you back: best practices for cross-functional collaboration

39
Don’t Let Process Hold You Back Best Practices for Cross-Functional Collaboration

Upload: tasktop

Post on 21-Jan-2018

324 views

Category:

Software


0 download

TRANSCRIPT

Don’t Let Process Hold You BackBest Practices for Cross-Functional Collaboration

GoToWebinar Housekeeping

Check your email tomorrow for

recording and slides.

If you are having technical problems,

please contact GoToWebinar:

Toll-Free: (855) 202-7959

Long Distance: (805) 617-7049*United States Numbers

Meet the presenters

Victor Wu

Product Manager, GitLab

Cynthia Mancha

Product Manager, Tasktop

Software is created by many stakeholders Software delivery process is not limited to development and operations

05

01

02 03

04

Expected business

outcomes

Product

requirements

UX and design

considerations

Sales, marketing, and

customer feedback

Development &

production

Software

Development

Lifecycle

PLAN CODE TEST DEPLOY ANALYZE

DEVELOPMENT DELIVERY

Working in many, disparate systems

To quell the chaos, we create processes

AgileScrum

W

A

T

E

R

F

A

L

L

MethodologyREQUIREMENTSB

A

C

K

L

O

G

CollaborationS

T

R

U

C

T

U

R

E

PHASES

IMPLEMENTATION Sprint

● Collaboration framework

● Human interfaces

● Visibility

● Efficiency

Advantages:

Why do processes breakdown?

● Information silos

● Repeated information

● Broken telephone

● Compliance

Why did the chicken cross the road?

The Business Owner: Because I have 3 other

business initiatives riding on the chicken being

on the other side of the road that were supposed

to start 6 weeks ago.

Developer: Because the requirements said so.

The trebuchet was the most efficient method.

Oh, she had to get to the other side alive? Where

was that in the requirements?

Scrum manager: Let’s iterate, people. Let’s get

the chicken to the center line today, and we’ll talk

about the rest of the way tomorrow.

Product manager: The chicken cannot cross

until the 10 missing requirements make it back

into the functionality.

Process for the sake of process.

Understanding process

Conway's law:

"Any organization that designs a system will produce a design whose

structure is a copy of the organization's communication structure."

Process is about connecting people and ensuring that

they are communicating and collaborating effectively

Collaboration & communication are ongoing

It’s natural to have many tools, workflows, and

processes across different teams and organizations, but

the people involved still need to stay connected

throughout the process.

This can be accomplished by:

● Async work styles

● Integrated tools

● Processes that optimize for collaboration

Even when considering cross-functional workflows

Best Practices for

Cross-Functional Collaboration

How to be less prescriptive and more descriptive

1. Goals first, process second.

What you

initially thought

the goal was

What the

initial optimal

solution was

Optimal

solution

moved to

● Get all stakeholders (biz, DevOps, marketing, UX,

etc.) together up front to determine goals and

outcomes

● Establishes clear expectations and gives everyone

a chance to voice their concerns about scope

● Determine the best process for reaching the desired

outcome, review cycles, and communication

vehicles

2. Establish a single source of truth

PLAN CODE TEST DEPLOY ANALYZE

DEVELOPMENT DELIVERY

Tip for remote teams: Avoid meetings, especially when stakeholders

are scattered across time zones. Instead, determine a single source of

truth where information can be written down, conversations

documented, and collaborators can work asynchronously.

3. Clear, visible outcomes

● We use GitLab Issues to coordinate

outcomes for each phase of the project

● Issues can be linked to merge requests

so stakeholders can see the changes in

a production-like environment

● Everything is connected and publically

accessible to those involved in the

process

● Concerns or problems can be flagged at

any stage of the process by any

stakeholder

4. Work cross-functionally from start to finish

Instead of locking communication per-stage, per team, or

per-specialty principle, leave the doors as open as possible.

Tips for achieving open communication:

● Embrace principle of “Written-first online

conversations”.

● Use real-time editing tools for meetings.

Everyone can add to agenda, add notes, can

see what was discussed, and immediately

see follow-up items.

● Prevent “Not Invented Here” syndrome by

practicing Innersourcing—make it possible for

the rest of the organization to contribute.

● If you can make something public, make it

public!

5. Improve the process in iterations

● Avoid throwing out all process and

starting from scratch

● Take advantage of the tools you

have and work to pull together

disparate tools & communications

● Make small changes, test them,

and incorporate learnings

Tip for remote teams: After each release

cycle, hold an open forum retrospective to go

over what worked, what didn’t, and how the

process can be improved.

RequirementRequirement

Software

Developer

Changeset

Epic

Story 2

Story 1

Defect

Blocks

Defect

Blocks

Software

Developer

Quality

AssurerBusiness

Analyst

Requirement

Story 2

Story 1

“Structural holes are the gaps that exist within organizations between people

and groups of people. Every organization has them. They represent a lack of

communication between people, and are a limiting factor on companies’ ability

to be agile and responsive to changing conditions.”

-Dr. Ronald Burt, Professor of Sociology and Strategy

University of Chicago

AgileDevOps

Nexus

Methodology Soup

What next???

There will always be more!

Requirements Management

Agile Planning

Test Management ITSM SCM

Build Management

IT Automation

ALM

Project & Portfolio Mgmt

Change / Workflow Mgmt

Issue Tracker

Database Support

Enterprise Modeling

Content Management

Build Management

Test Automation

APM

Code Analysis

BlueprintIBM Rational DOORS NG

IBM Rational DOORSIBM Requisite Pro

iRiseJama

Serena Dimensions RM

CA Agile Central (Rally)CA Agile Planning

GitLab IssuesIBM Bluemix

JIRALeanKitMingle

Pivotal TrackerServiceNow Agile

TargetprocessVersionOne

IBM RTCHPE ALM Octane

Microsoft TFSMS VS Team Services (VSO)

Polarion

IBM RQMHPE QC/ALM

Microsoft Test ManagerTricentis ToscaZephyr for JIRA

SmartBear QAComplete

CA (Clarity) PPMHPE PPM

Microsoft Project ServerPlanview Enterprise

ServiceNow PPM

Borland StarTeamCA Harvest

IBM Rational ClearQuestSerena Business Manager

BugzillaGitHub Issues

BMC RemedyJIRA Service Desk

ServiceNowZendesk

Salesforce Service Cloud

Sparx EA

OracleMS SQL Server

MySQL

GitGitHub

BitBucketSubversion (SVN)

CVSPerforce

SonarQubeCoverityAppScanVeracode

HPE Fortify

uBuildAnt

MavenSnapGrunt

SeleniumHP UFT

ConformiqCucumber

Chef PuppetJenkinsHudsonAnsible

SaltAtlassian Bamboo

UrbanCode Deploy (uDeploy)Travis-CI

ThoughtWorks GoOpenMake

CA Release AutomationXebiaLabs DeployITJetBrains TeamCity

VagrantWindows Powershell

New RelicAppDynamics

DynatraceCompuware APM

BMC APMCA APM (Wily)

IBM APM

And more….

Microsoft SharePoint

Supports 360+ tool versionsBuilt and tested in our

“Integration Factory”• 3300 API tests in spec• 500k API tests per day

Security

WhiteHat Sentinel

Imagine these

disconnects at

scale

RequirementRequirement

Software

Developer

Changeset

Epic EpicRequirement

Story 2

Story 1

Child Req 2

Child Req 1

Story 2

Story 1

Defect

Blocks

Defect

Blocks

Quality

AssurerBusiness

Analyst

Software

Developer

Best Practices for

Cross-Functional Collaboration

(In a multi-tool environment)

• What challenges are we facing?

• What information do our teams need to share?

• What do we hope to achieve?

• What and Why before the How

1. Goals First, Process Second

2. Establish a Single Source of the Truth

• Artifacts as the source of the truth

• Artifacts as currency of communication

Business Analyst Project Manager OPTesterDeveloper

Story Epic TestcaseDefectTicket Feature

Requirement Testcase Link Folder Request

2. Establish a Single Source of the Truth

● Direct comments/discussion/decisions to the artifacts themselves

Artifact

3. Work Cross-Functionally from Start to Finish

Networked

Communication

Slide from April Underwood Talk ‘Future of work and

scaling enterprise products’, Women In Product, 2017

Feature Team

Security Team

Testing Team

Software

development

and communication

are not linear

Architecture Team

Backend

Frontend

Testing

UX/UI Design

Architecture

Security

ETC.

4. Devise Clear Outcomes and Provide Visibility

5. Improve the process in iterations

Bonus: Keep Scale in Mind

Model Based Integration

Bonus: Keep Scale in Mind

Process is about connecting people and ensuring that

they are communicating and collaborating effectively.

Let it enable, rather than hinder, you!

Questions?