achieving growth through software agility

24
Achieving Growth Through Software Agility Technology Growth Lessons - CTO Summit 11/2014 Jim Chou CTO Shutterstock

Upload: jim-chou

Post on 13-Jul-2015

235 views

Category:

Software


0 download

TRANSCRIPT

Achieving Growth Through Software AgilityTechnology Growth Lessons - CTO Summit 11/2014 Jim Chou CTO Shutterstock

3

A Global Marketplace for Imagery

3

Shutterstock is a Global Marketplace for Imagery

With Multiple Rapidly Growing Brands

43 million images 2 million video clips 1 million user accounts 60,000 contributors 150 countries, 20 languages Headquartered in NYC Offices in Amsterdam, Berlin, Chicago, Denver, London, Paris, San Francisco 480 employees 21% adjust EBITDA margin

Revenue

Key Facts

2010 2011 2012 2013

$83

$120

$170

$236

42% CAGR

High Growth Leads to

Scalability Challenges…

Can’t hire fast enough (technology resources)

Need faster pace of innovation

Every business unit wants their project done

Balancing legacy code with future architecture

Recruiting - having cool technology problems to solve

Maintaining a high degree of up-time while code base is constantly updated

From Business From Within Tech

Growth Challenges in Technology

Proprietary and Confidential

A few things we learned along the way

9 Lessons to Share

PO

Service Owner/Technical Owner

Architect/Principal Engineer

Software Development Egr.

Software DevelopmentEngineer in Testing

Site ReliabilityEngineer

Product Owner

Designer

Technical Project Manager

Data Scientist

Security Engineer

TL

Arch

SDE

SDET

SRE

PO

UX

TPM

Data

SEC

...TL UX

•Defined roles and responsibilities •Self contained with necessary skills •Team decides how to accomplish

What’s the same in Agile practices:

•Startup culture permeates all •Team mission •Measure by metrics - not what was done •Recruiting for talent - people that we can

learn from

What’s different:

5-10 people

Stakeholders

Team Mission

incr

ease

rev

enue

drive retention

drive engagement

Lesson #1: Have a Differentiated Agile Cross Functional Team

Product Teams: Websites, Mobile, Etc…

Core Technology & ServicesTeams: Data, Apps, Backend, Common Shared Services

Infrastructure Global Tech Ops; Centralize for cost efficiency and scalability

Speed Customer Focus

$$$ / Efficiency

Organize Into Clusters that Balance Customer Focus & Efficiency

Video Music Enterprise Skillfeed

BigStockOffset

API Dev Value Licensing CRM

Data Content Identity Commerce

Shutter CloudSRE Operations

Data Centers

Mobile

WebDAM

Contributor

• Minimize date driven delivery • Don’t dictate solutions

• Minimize going up the flag pole • Ask for a fully baked plan with

tasks and estimates

Don’t:•Articulate what “problem” you

want to solve. •Articulate business drivers: what

results are needed / metrics to impact

•Celebrate success and learn from failure

Do:

Lesson #2: Educate Business on How to Be an Agile Stake-holder

•Co-location is best for teamwork

•Remove offices: everyone on the in the open

•Use rooms as pop-in shared space

•Support remote collaboration through

Hangout across multiple offices

•Roving robots for remote engineers; iPad

FaceTime

Lesson #3 : Create an Active Collaborative Work Environment

Giving everyone access to information they desire - begin with an assumption everything is open for sharing

Access to revenue financials

Access to user data & metrics

Team meetings; Open calendar

Company wide weekly updates - stream and saved videos online

Access to customer research - interviews

Recorded TechTalks

Lesson #4: Democratize Information Sharing

• Quarterly • Opportunities assessment • EPIC (rocks planning) - debate, prioritize, align • Review - how did the team do? time spent, etc

• Bi-weekly • KPI metrics review • Backlog review

• 2 week sprints •backlog maintenance •sprint planning •design/build/deploy •sprint demo •retro

Lesson #5: Establishing a Cadence Through Agile

2014

Q1 Q2 Q3 Q4

2015

Q1 Q2 Q3 Q4

2016

Q1 Q2 Q3 Q4

STRATEGY

Initiative Initiative Initiative Initiative

Initiative Initiative Initiative Initiative

S1 S2 S3 S4Q1 Sprints

Assess Opportunity

Evaluate Success

Metric reviews

And Connect / Trace Every Sprint to Company Strategy

Focus on sizable efforts with measurable impact

•How • Team collaborate with stake-holder in determining what

gets done

• Generally two rocks each quarter in each team

• Prioritize based on ability in moving the needle

• KPI metrics in revenue, engagement, technology plan or

company strategy

• Shared goals across all members

• Fully transparent across all

Debate & Prioritize Your Precious Resources to Biggest Impact - Think Rocks & Pebbles

Contributors

• Stakeholders • Goals • Metrics

Priority 1

• Stakeholders • Goals • Metrics

Priority 2

• Stakeholders • Goals • Metrics

Stretch

• Additional objectives

On Deck

Mobile

• Stakeholders • Goals • Metrics

Priority 1

• Stakeholders • Goals • Metrics

Priority 2

• Stakeholders • Goals • Metrics

Stretch

• Additional objectives

On Deck

Footage

• Stakeholders • Goals • Metrics

Priority 1

• Stakeholders • Goals • Metrics

Priority 2

• Stakeholders • Goals • Metrics

Stretch

• Additional objectives

On Deck

BigStock

• Stakeholders • Goals • Metrics

Priority 1

• Stakeholders • Goals • Metrics

Priority 2

• Stakeholders • Goals • Metrics

Stretch

• Additional objectives

On Deck

Etc…

• … • … • …

• … • … • …

• … • … • …

• …

Product:

Top Priority

Low Priority

Make a Roadmap

Qualitative - Customer research / interviews

Quantitative - User behaviors data analytics

MVP mindset; light planning over full detailed plan

A/B testing Shutterstock Labs

Test features in lower traffic sites

Lesson #6: Foster An Experimentation Mindset And Data-driven Decision Making

Example: Data Analytics on Ebola Images Users are Downloading

ActivityTop Content Trends

ebola

ActivityTop Content Trends

Example: Trending in Ebola related images & Downloads Activities

ActivityTop Content Trends

nov

50

100

150

200

250

dec jan feb mar apr may jun jul aug sep oct

Retrospective •What went well (Wins), what

could have been improved (Losses) -> action plan

Post Mortem •Issues occur - something happened •Don’t let it go •Get down to root cause -> action plan

Share Learnings Broadly

Lesson #7: Importance of Retrospective & Post-mortem

Shutterstock Labs Long range planning Code rage Hacks

Innovation showcases

HackathonTalk to peers / community

Prototyping

External Technology Innovation

Patent applications Detached new business - Skillfeed, offset

Partner with customers

Discretionary innovation budget

Lesson #8 - Create a Pipeline of Innovation

•Entire company

•Mix it up

•Make it the most talk

about event

•Identify passionate

people to push idea to

production

Hackathon: Shutterstock Way

http://vimeo.com/82037581

•Incubate ideas - start with a couple

•Start small - put small team on it - build

prototype

•Use ODesk, use DesignCrowd, etc

•Treated as a startup with separate area

•Allow new tech stack - e.g. Ruby Rail

Heroku - all external

•Build and test - validate the market and

product concept

•Scale with investments - similar to VC

fund by stage or milestone

•Expect to pivot from customer learning

Incubate Ideas

Validate Fund Scale

Lesson #9: Seed New Ideas Into Multi-Million Dollar Businesses

Twitter: jimchou Email: [email protected]