part 2: train wrecks, ugly baby client meetings & other project calamities

82
Welcome

Upload: drupalanywhere

Post on 22-Apr-2015

369 views

Category:

Technology


1 download

DESCRIPTION

DrupalCon Amsterdam slides for Train Wrecks, Ugly Baby Client Meetings and Other Client Calamities. Would you believe with a $100,000 project, as little as 50% can be spent on actual development? Where the heck is the rest of the money spent? You might be shocked how much can be wisely allocated in discovery, business analysis, risk assessment and architecture before one line of code is written. Shocking still is that your projects will be more successful, your clients happier and your team humming like a well-oiled machine. Get recommendations, accolades and repeat business that is the holy trinity of business. Spending the effort and money in the right areas will give you the business results so many companies struggle with. This follow-up session from last year's Train Wrecks, Ugly-Baby Meetings and other Client Calamities takes a deeper dive into the technical process of projects. This in-depth look at the discovery process can be used by small and large projects alike. Clients are looking for strategic partners, not just a Drupal shop. In this interactive and discussion-based session, we'll cover these specific and detailed ways to walk projects through from the what, why, how, when and who. Learning how to ask the detailed questions, understand the clients needs, manage the internal politics and the entire scope of what makes a project successful will help everyone get better results.

TRANSCRIPT

Page 1: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Welcome

Page 2: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

susan rust

619-379-9351

[email protected]

#susan-rust

Page 3: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

EverestDevelopment is like a trek to Everest. You plan like crazy with the right team, resources and timeline so unforeseen avalanches, blizzards and crevasses don’t kill you.

3

Page 4: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Who?CEO?"CTO?"Sales?"AM/PM?"Other?

4

Page 5: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Why?You are missing other cool sessions…"What do feel you are lacking?"Where are you out of control?"Where are you at risk?"Where can you contain costs?

5

Page 6: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

10/10People and organizations bailing on Drupal because a weak implementation did not meet their business needs.

6

Page 7: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Failures Hurt Drupal

7

Page 8: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Shops in Crisis

Shops lurch forward every day, working hard, funded by cash-flow, stressed out, unsure how to grow or make useful changes that empower teams & make clients happy.The right people doing the right things within the right process = ease & profitability.

8

Page 9: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

5 Golden Rules

Page 10: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

1. Say No

If you can’t deliver a win, don’t play."Only take good projects with good customers that meet your business goals.""Don’t have any goals? Oops.

10

Page 11: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Business Goals

What kind of Drupal do you do?"What is your sweet spot today?"Where do you want to be in 3 years?"Where are you a subject matter expert?"Is the project good for business & team?

11

Page 12: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

2. Drupal + Process = Win

Drupal = Fail""Drupal with process leads to project success and excellent experiences.

12

Page 13: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

3. Client Mgmt.It’s your job to train the client and manage their expectations.""Teach them how to succeed at a web project.

13

Page 14: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

4. No Docs?"No Development!

Do not start working without engineering docs."Do not start working without fully fleshed out tickets."Just don’t do it.

14

Page 15: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

5. Cash-flow is not the Same as Profit

The ability to measure project margins is critical to solid growth and scalability."Most companies run on cash-flow, not profitable projects.

15

Page 16: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

The Gap

Page 17: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Communication Gap

What Developers

Know

Drupal, Beer, Coffee

What Clients Know

Their Stuff

Gap

Page 18: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Communication Gap

clients talk greek

{engineers !talk geek}

Page 19: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Closing the Gap

What Clients Know

What Developers

KnowOverlap

Drupal, Beer, Coffee

Their Stuff

Page 20: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

360˚ Development

Page 21: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Drum = Tension

Page 22: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

360˚ Development

AM/PM This role sits at the center of projects

and determines project success.

SalesDevs

Client

QA

$$$

PM

Page 23: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Development = Velocity

Page 24: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Instead of Stalled

Page 25: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Project Phases

Business Analysis DevelopmentProject

Planning

Development UAT Delivery Phase 2

Training Phase 0 Storyboards Dashboards "

Objectives Commitment Risk Mgmt Metrics

Page 26: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Project Phases

1. Site Audit a. Content b. Web audit c. Performance audit d. Training

2. Discovery

a. Web objectives b. Stakeholders c. Current workflow d. Content types e. Views f. Taxonomies g. User Stories h. Storyboards i. Pre-wireframes

""

3. Engineering a. Data model b. Content c. Migration d. Integration e. Wireframing f. Deployment g. Performance h. Scaling

" 4. Start Development

a. Post-mortem b. Updated Docs c. Tickets d. Resources e. Timeline f. Sprints g. Demos

5. During Development 1. Build 2. Migrate 3. Integrate 4. Design 5. Theming

""""6. Post Development

1. QA 2. UAT 3. Bug fixes 4. Launch 5. Documentation 6. Client training 7. Phase 2

Business Analysis DevelopmentProject Planning

Page 27: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Estimating Projects

discovery engineering development design/theme uat / bugs

" "5% "10% 30% 30% 15%"10%

audit

25% budget 60% budget

You burn the time on discovery, engineering and uat/bugs whether you charge for it or not.

Page 28: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Communication

Basecamp for client communication. Devs included but not responding.

Jira or other for ticket information, estimates and status. ALL info goes here, not spread out across multiple tools.

Freshbooks or other automated estimating recurring billing tool.

Page 29: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Sales

Page 30: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Sales

Say “no” to bad projects."Say “no” to bad clients.

30

Page 31: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Sales

time

budgetfeatures

Page 32: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

32

Site Audit"Discovery"Architecture"Development"UX / Design"Maintenance/Support

Sales: Components

Page 33: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

33

It’s not about the quantity of projects."

It’s about a win for the company and the customer."Consultative Sales: Business analysis to understand how the client uses their data to build the right object model. Codifying their business process.

Sales: Consultative

Page 34: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Sales: Analysis

Is this a good project?"Is this a good client?"Does it meet our business goals?"What are the risks?"What are the rewards?"Will be succeed?""

Reward Sales Teams based on a weighted basis rather than flat commission.

34

Page 35: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Sales: Analysis

What is the purpose of the site?"What is the metric for success?"Who has to use the site?"What will they do?"How will they do it?"What are the reports needed?"What has to be integrated?"What will be migrated?

35

Page 36: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Managing Expectations

Training on Process & Drupal"DOOB / MVP"Triage / Red Flags"Team and Time Commitment"Risk Assessment

36

Page 37: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Red flags"Not winnable project"

Underfunded"Bad project"Wrong project"

Not winnable client"Not coachable"Micromanaging"Not managing"Naive"Low tech"

Post summary to Basecamp

Checkpoint

Page 38: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Sales:"Audits & Discovery

Page 39: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Audits & Discovery

Site audits and discovery allow you to know what you’re getting your team into. You have been paid for high-level work without dragging your company through the mud. You are now the expert on their needs.

Page 40: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Site Audit

User stories"Wireframes"User dashboards"

Reports"Content"Users"

Drupal"Taxonomy"Content Types"

Features"Custom Features"Views"Modules"Custom Modules"Integrations"Workflow"Migration"

Post to Basecamp

Page 41: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

DiscoveryOrganizes and prioritizes ideas & requests"Identifies all stakeholders & users stories"Content types, taxonomies & views"User dashboards & reports"Content migration & integrations"Workflow & features

41

Page 42: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Business RulesA web project is often the catalyst for a rewrite of their own business rules.""Clients often need help making the leap from manual to web processes.

42

Page 43: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Content

How much is there?"Who manages it?"Who will write new content? by when?"How will the new site manage it?"What is the content deployment strategy?"

43

Page 44: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

UAT

Discovery documents become the basis for user acceptance testing.""This also prevents scope creep."

44

Page 45: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Engineering:"Architecture

Page 46: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

46

Pretend the project is done, what will everyone be saying in 12 weeks"Let your team punch holes in the work done so far"Ask them what they see as risks, impediments, problems"Raise all issues with the client now

Pre-mortem

Page 47: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

MVP

Only build MVPs. No matter how tempting.

47

Page 48: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

DocsThey are posted on the wall as a living, breathing document. Docs include:""

User stories"Storyboards"Wireframes"Designs

48

Page 49: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Storyboards

Storyboards illustrate the lifecycle of each content type, user & feature.""They are based on the user stories gathered during discovery.

49

Page 50: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

50

Page 51: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

51

Page 52: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

52

Page 53: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Wireframes

Wireframes are essential to call out features and functionality.""Wireframes are updated at the end of each sprint as needed.

53

Page 54: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

54

Page 55: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Design

Design happens after engineering and ALL functionality has been called out.""Theming happens as the last step before UAT.

55

Page 56: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

DeploymentWhere are they hosted"What are the obstacles"Mimic current prod

56

Page 57: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

PerformanceWhat do they have"What will they need"What are the risks

57

Page 58: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

ScalingWill the new site drive more traffic, interactions and lead to a crash?"What do they have"What will they need"What are the risks

58

Page 59: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

PMs:"Managing Expectations

Page 60: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

ProcessHaving a strong process allows a PM to have confidence & authority to manage client expectations, teams and tasks. "

Without it they spend time putting out fires and often find themselves lying to clients. This creates burnout, stress and reduces trust and teamwork.

60

Page 61: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Client TrainingFinal SoW"Client Homework"What are risk parameters"Content deadline"Project team"Communication tools"Weekly meetings"Weekly QA"Time commitment

Drupal Training"Process Training"How sprints works"What is next phase"Scope Creep"

What is a change order"What is technical debt"Client QA & UAT

Finances"Final payment criteria"Burnrate = $500/hour"Budget"Timeline"

Launch"Team"Environment"Credentials"Process"Approvals"

61

Page 62: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Technical DebtExplain to the client what it is"

Explain who’s responsible"

Share each time they incur technical debt and let THEM make the choice

62

Page 63: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Sprint ComponentsCreate Tickets"Allocate Resources"Build"Test"Deliver"Update Docs

63

Page 64: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Measuring Sprints

Tickets: sold / estimated / actual"Burn Rates: sold / estimated / actual"Change Orders: $$

64

Page 65: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

IMPORTANTAt the end of each sprint a mountain of information comes back to the team. This information MUST be parsed into FOUR buckets:"

Bug fix" In-scope request" Out-of-scope request = now = c.o." Out-of-scope request = next phase = Basecamp

65

Page 66: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Docs

All docs should be easily found in the ticketing system. Devs work there, put their information there."Updated at the end of every sprint and client meeting with sign-off from engineering."Docs are your insurance against scope creep, client expectations and “you said” issues."Docs are used in QA and UAT.

66

Page 67: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Risk Matrix

Risk DooBLight

CustomHeavy

Custom

Low Risk 1/1 1/2 1/3

Mod. Risk 2/1 2/2 2/3

High Risk 3/1 3/2 3/3

Page 68: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Technical Debt Matrix

Tech Debt

Minimal Debt

Moderate Debt

High Debt

Must Have

Wanted

Like to Have

Page 69: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

New Feature Request

New Request

No Impact Scoped Built

< 10 hrs

> 20 hrs

Unknown

Page 70: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Devs:"Tickets are King

Page 71: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Development!Notice how long it took us to get here….

71

Page 72: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Last Chance to BailShould you really move forward? Is the team comfortable with the project? Are they confident they can win?

72

Checkpoint

Page 73: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

73

Build"Design"Theme"QA"UAT"Bug Fixes"Feature Polish"Launch"Phase 2

Development

Page 74: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

TicketsNo ticket? Bad ticket? No development.""Tickets contain sales estimate, engineering estimate, developer’s actual.""Tickets = 4 hours max.

74

Page 75: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Not a Ticket:Build a view "8h

75

Page 76: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Is a Ticket:Build a view of the content type “Article”."View to have these fields: a, b, c"Image display uses preset 100px square"Image label is hidden"Teaser = 350 characters with more link"View = page, block, user dashboard block"URL = /articles….this goes on for a long time.

76

Page 77: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

TicketsCompanies that don’t run efficient tickets have no idea whether or not they are making money on projects, have no way of identifying and measuring strengths of weaknesses of the team, engineering or projects. ""Most CEOs run their company off false data.

77

Page 78: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Phase 2"Repeat all the steps. Do not make the mistake of skipping Discovery and Architecture."

78

Page 79: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

Project Phases

Business Analysis DevelopmentProject

Planning

Development UAT Delivery Phase 2

Training Discovery Storyboards Dashboards "

Objectives Biz Rules Risk Mgmt Metrics

Page 80: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Susan Rust / DrupalCon Amsterdam / [email protected]

1. Site Audit a. Content b. Web audit c. Performance audit d. Training

2. Discovery

a. Web objectives b. Stakeholders c. Current workflow d. Content types e. Views f. Taxonomies g. User Stories h. Storyboards i. Pre-wireframes

""

3. Engineering a. Data model b. Content c. Migration d. Integration e. Wireframing f. Deployment g. Performance h. Scaling

" 4. Start Development

a. Post-mortem b. Updated Docs c. Tickets d. Resources e. Timeline f. Sprints g. Demos

5. During Development 1. Build 2. Migrate 3. Integrate 4. Design 5. Theming

""6. Post Development

1. QA 2. UAT 3. Bug fixes 4. Launch 5. Documentation 6. Client training 7. Phase 2

Business Analysis DevelopmentProject Planning

Page 81: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

susan rust

619-379-9351

[email protected]

#susan-rust

Page 82: Part 2: Train Wrecks, Ugly Baby Client Meetings & Other Project Calamities

Drupal Consulting

Better Drupal Modules!