Worthwhile Technology Foundations

27
Towards a Worthwhile Technology Foundatation Smartly prioritizing early-stage technology efforts in the service of a long- term platform for your business. CIC Critical Mass • July 12, 2011 Will Koffel • http://will.koffel.org / 1

Transcript of Worthwhile Technology Foundations

Towards a WorthwhileTechnology Foundatation

Smartly prioritizing early-stage technology efforts in the service of a long-

term platform for your business.

CIC Critical Mass • July 12, 2011Will Koffel • http://will.koffel.org/

1

GoalWhen you identify an opportunity for your

business to truly crush it...

Your technology team should reply “yeah, we can get there from here!”

(This is the business of tech)

2

Lessons

• Adopt Development Best-Practices

• Manage Your Technical Dependencies

• Eschew Legacy Support

• Pick Your Battles

3

[foundations]

“Beginnings are always messy.” – John Galsworthy

12

Admirable Foundation

13

Your Foundation

14

Your Foundation• extremely fragile,

susceptible to lots of external forces

• complicated and expensive to access and maintain

• really hard to extend

• can’t build a proper foundation now even if you wanted to

15

Your Foundation• doesn’t adopt “best-

practices” for architectural design.

• has “dependencies” on environment and design decisions

• unreasonably values “legacy” lakefront luxury

• fought the wrong “battles” causing undo long-term hassles

16

[adopt best-practices]

“Discipline is the bridge between goals and accomplishments.” - Jim Rohn

17

Leech & LearnAlmost all your problems have been solved before.

(yes, including that one you are thinking now, and the one you’re going to hit next)

Best-practices save time, and work better!(Inventing a car with geared wheels

isn’t better unless the roads have teeth)

Don’t be so clever, great artists steal.(And steal from the best, big or little,

known or admired)

18

Some Must-Haves• Source Control

• Data Control

• Testing Infrastructure

• Reliable Deployments

• Monitoring

• Project Management Tools

• Customer Feedback

• Reporting, and Analytics

• Development Methodology

Good news: we live today, so do great solutions!These have to be...but they don’t have to be hard.

19

Recommendation

Take a week of time to adopt the tools and techniques of the best comparable

startups around.

It will be time well spent.

20

[manage dependencies]

“A ship is safe in harbor, but that is not what a ship was built for.” – William H Shedd

21

No Crystal BallModular systems are flexible and reliable.

(If you can’t describe the pieces of your technology foundation, then it’s too complicated)

Evaluate Vendors Defensively(They will sell you on the features. Grill

them on the gaps, avoid early lock-in)

Define Your Interfaces(If changing system A affects system B, you want

to know about it in advance)

22

Brace for Change• databases

• hosting providers

• language/frameworks

• swap off-the-shelf components with home-grown

• grow a mobile presence

• add an API

• expand to social networks

• experimental features

Memo: you will fail to predict the path for your business. Don’t code yourself into a corner.

23

RecommendationTake a day of time to create a great

diagram of your technology platform, including all the data and

communications between modules.

It will be time well spent.

24

[eschew legacy]

"One must always maintain one’s connection to the past and yet ceaselessly pull away from it." – Gaston Bachelard

25

Look ForwardThe past is getting older every day

(By the time your business is big enough to support legacy systems properly, they’ll be gone)

Dropping features makes you free(Don’t make your team rummage around

in a cluttered attic, they’ll trip an get hurt)

Your team can’t accurately predict the cost(And don’t forget to clean up all your code, tests, user messaging

and documentation when you do eventually drop support)

26

Stay Current but Safe• browser support, be aggressive

• mobile device OS versions

• plugin / API catalog, keep informed

• framework versions, latest stable

• social graph integration and auth (e.g. oauth)

• new tools and services, pay attention

Bonus: not only will this grease the technical wheels, but you’ll also hire better developers

who respect and embrace your approach27

RecommendationBe a bold futurist. Imagine how prescient

you’ll look in two years when your company is as technically relevant as the

next generation of startups.

It will be time well saved.

28

[pick your battles]

"To achieve great things, two things are needed: a plan, and not quite enough time." – Leonard Bernstein

29

Core CompetenciesDon’t invent anything you aren’t innovating

(The things you are innovating will need all the attention you can give them)

Build tech in the service of your business(Leave tech for the sake of it to the academics and open source crews)

Be ruthless when evaluating what really matters(Will it kill the patient?)

30

Ask the big questions• Are you built on scale, or built on UI?

• Is your technology evolutionary or disruptive?

• Are you reinventing payments, or collecting cash?

• Which of those best-practices should you better?

• You want it good, fast, or cheap? (choose one)

Tip: If you keep your tech team focused on what matters to your business, they will still find an acceptable path for all the other stuff.

31

RecommendationMake a list of what your technology needs

to do better than anyone’s if your business is to be successful. Put 100% of

your fungible efforts towards that list.

It will be time well saved.

32

[talk about it]

“The single biggest problem with communication is the illusion that it has taken place.” – George Bernard Shaw

33

• Educate each other

• Focus on the business strategy

• Agree on the platform strategy

• Make the hard decisions together

34

[q & a]

“To avoid criticism, do nothing, say nothing, be nothing” – Elbert Hubbard

35