Transcript
Page 1: Making Agile Choices in Software Technology

MAKING AGILE CHOICES IN SOFTWARE TECH

Friday, June 15th

Daniel Doubrovkine - http://code.dblock.org - [email protected]

@dblockdotorg @ga

Page 2: Making Agile Choices in Software Technology

BUILDING SOFTWARE

Page 3: Making Agile Choices in Software Technology

WHAT IS _____ ?

• What is the problem domain?

• What is the software going to do?

• What stories will it tell?

Page 4: Making Agile Choices in Software Technology

CHOOSING TECHNOLOGY

TRADITIONAL APPROACHES

Page 5: Making Agile Choices in Software Technology

STACK

this stack works this stack worked

Page 6: Making Agile Choices in Software Technology

TYPICAL STACK: LAMP

Linux

Apache MySQL

PHP Python

Rackspace

Zend Django

Page 7: Making Agile Choices in Software Technology

TYPICAL STACK: ROR

AWS (S3, Cloudfront)

Heroku

Ruby Rails

Backbone.js

+60

gem

s

MongoDB

+ ad

do

ns

Page 8: Making Agile Choices in Software Technology

WHAT DO STACKS DO?

• Help You Focus on The Domain

• Classify Problems

• Offer Generic Solutions

• Provide Consistent Experience

• Map Software Evolution

• Reuse Skills

Page 9: Making Agile Choices in Software Technology

CHOOSE: BAKEOFF BIG COMPANY, LOTS OF PEOPLE

• Identify Candidates ASP.NET / RoR / J2EE / LAMP

• Develop Metrics scalability, complexity, cost

• Gather Data feature matrix, metrics data

• Compare =SUM(A:Z)

• Pick a Winner =MAX(SUM(A:Z))

Page 10: Making Agile Choices in Software Technology

CORROSION BIG COMPANY, LOTS OF POLITICS

• Group Think

• Skilled Sales

• Artful Communication

• Corruption

• Intimidation or Escalation

Page 11: Making Agile Choices in Software Technology

CHOOSING TECHNOLOGY DOESN’T HAVE TO BE BORING

LESS TRADITIONAL

APPROACHES

Page 12: Making Agile Choices in Software Technology

TRUSTWORTHY PEOPLE

• It worked before

• It didn’t work before

• It is interesting

• ______ uses it

Page 13: Making Agile Choices in Software Technology

DEVELOPER HAPPINESS

• Developers Are Happy with ______

– Their Own Choices

– Cutting Edge Technology

Page 14: Making Agile Choices in Software Technology

CHOOSING TECHNOLOGY DOESN’T HAVE TO BE A SCIENCE

AGILE OPTIONS

Page 15: Making Agile Choices in Software Technology

PRAGMATIC & ITERATIVE

• Try It … Iterate … Keep It … Toss It

– Easy to Learn

– Frustration-less

– Quick to Leverage

– Vibrant Community

– Elegant Solutions

Page 16: Making Agile Choices in Software Technology

TIME TO CHOOSE AGAIN?

“Good Technology Choices Help Developers Focus on the Problem Domain”, -me.

Page 17: Making Agile Choices in Software Technology

THE ONLY CONSTANT IS

CHANGE

• Reset Early, Several Times

• Rational Thinking Kills Companies

• Incremental Rewrites Take Forever

• Think “Startup”

Page 18: Making Agile Choices in Software Technology

QUESTIONS?

me: Daniel Doubrovkine (aka. dB.)

company: http://art.sy twitter: @dblockdotorg blog: http://code.dblock.org slides: http://slideshare.net/dblockdotorg email: [email protected]