29
Software Engineering for CEOs Photo courtesy of http://mrg. bz/z9CBmN

Software engineering for CEOs ch1

Embed Size (px)

DESCRIPTION

The start of 'What you should know about building software if you work at a software company', Chapter 1 covers Problem #1, communication time.

Citation preview

Page 1: Software engineering for CEOs ch1

Software Engineering for CEOs

Photo courtesy of http://mrg.bz/z9CBmN

Page 2: Software engineering for CEOs ch1

Software Engineering for CEOs

Gabe Hamilton

Page 3: Software engineering for CEOs ch1

So, you’re the CEO of a Software Company

Page 4: Software engineering for CEOs ch1

a lot of companies are Software companies

Page 5: Software engineering for CEOs ch1

Or you’re a Product Manager, Tech Writer, Project Manager, Implementer…

a critical part of a software ecosystem.

Page 6: Software engineering for CEOs ch1

and you’re wondering...

When will it be ready?

*specifically when will Mario Kart 8 be ready.

Page 7: Software engineering for CEOs ch1

Or you’re an engineer who needs to Communicate about software projects.

Page 8: Software engineering for CEOs ch1

And engineers forget

We become Director, CTO, CEO and start wondering, “when will it be done?” Or we’re thinking about all the technical details (distributed parallel auto-scaling) and forget how to explain how software projects progress.

Page 9: Software engineering for CEOs ch1

for solutions see Chapter 2. Todo: write Chapter 2

Ch 1: The Problem with Software Projects

Page 10: Software engineering for CEOs ch1

Why think about the problems

instead of just the solutions?

Page 11: Software engineering for CEOs ch1

Keep the problem in mind that you want to solve.

When you’re wondering,“Do the TPS reports need a new cover

page?”

Page 12: Software engineering for CEOs ch1

In Bidness Speak

Begin with the End in mind.

Forests … Trees

Eyes on prizes

Page 13: Software engineering for CEOs ch1

Problem #1:Software is ½* communication

Programs are super complex.

To change one you need to know how it works.

*where ½ = lots. Other half is rumored to consist of perspiration & inspiration.

Page 14: Software engineering for CEOs ch1

Imagine a flowchart

that explains what 1 programmer wrote today.

Page 15: Software engineering for CEOs ch1

Collect each day’s in a book

Add a page explaining how it relates to yesterday’s flowchart.

Page 16: Software engineering for CEOs ch1

Give this book to the new person

Would you like everyone else’s book

from this month?

Page 17: Software engineering for CEOs ch1

Brooks’s law

adding [people] to a late software project makes it later

"Nine women can't make a baby in one month."

Page 18: Software engineering for CEOs ch1

Communication Paths

1 person

2 people

what was I doing 3 months ago?

Page 19: Software engineering for CEOs ch1

Communication Paths

3 people

4 people

3 paths

6 paths

Page 20: Software engineering for CEOs ch1

# of Communication Paths1st person has a path to each of the others 2nd person needs a path to everyone except the 1st, …

4 people = 6 paths = 3 + 2 + 15 people = 10 paths = 4 + 3 + 2 + 1

It’s the Summation of 1..N-1 = (N-1 x N) / 2yay, combinatorial growth

Page 21: Software engineering for CEOs ch1

6 people

8 people

15 paths

21 paths??

??

Page 22: Software engineering for CEOs ch1

12 people

20 people

66 paths

190 paths

100 people ~5,000 paths

?? ?

?

Page 23: Software engineering for CEOs ch1

Now wait

We have 65 years of solutions to this problem, just in software.

Hierarchy, teams, departments; OOP, APIs; Extreme, Agile, Scrum, Kanban Iterations; project, product, development - lead, manager, architects.

Page 24: Software engineering for CEOs ch1

Hopefully you have great Processes

You spend all day swimming in them.

Remember:The underlying problem is still the same.

Page 25: Software engineering for CEOs ch1

Does our process help communicate?

...how things work

...what does it do?

...when will it be done?

Page 26: Software engineering for CEOs ch1

Ask:

Why do we have this process / organization?

Does it help communicate?

And Hire Engineers who are good communicators

Page 27: Software engineering for CEOs ch1

Because

Software is ½ Communication

Page 28: Software engineering for CEOs ch1

a teaser for the next talk, this one is over

Ch 2: Time, Features, Quality

Page 29: Software engineering for CEOs ch1

AcknowledgementsImage Attributions

CEO cat http://mrg.bz/z9CBmN

Guy at desk http://mrg.bz/zSkLDb

Woman presenting http://mrg.bz/slnIq7

Guy with phone http://mrg.bz/4pqGBY

Mountain http://mrg.bz/taTQ1v

4 books http://www.morguefile.com/archive/display/189153

Jargon pic (CC) Gavin Llewellyn.www.onetoomanymornings.co.uk.

Bank

Capitol

MRI http://en.wikipedia.org/wiki/File:Connectome_extraction_procedure.jpg

Software Engineer http://en.wikipedia.org/wiki/File:Coding_Shots_Annual_Plan_high_res-5.jpg

Flowchart http://commons.wikimedia.org/wiki/File:Euclid_flowchart_1.png

Single Textbook http://en.wikipedia.org/wiki/File:Textbook.JPG

Fred Brooks http://commons.wikimedia.org/wiki/File:Frederick_Brooks_IMG_2261.jpg