Open source

  • Open source is traditionally global
  • Out of necessity, everything is open: images, source code, tests, documentation
  • At your business, this is often not the case
  • One piece of a bigger puzzle
  • Wildly different priorities

Next


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Think locally

 
  • Think globally, act locally (ok, think locally too)
  • Information made available to all (schemas, functions, application designs)

Next


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Same team?

  • In theory, everyone is on the same team

Next


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Same team>?

  • In reality...
  • Groups, department, section, sub-sections, teams, etc
  • Politics, budgets, people skills, technical skills

Next


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Apply to your own code, your own team, your own business.

 
  • Be open to criticism
  • Make it available for scrutiny
  • Beyond code review
  • You code better when you don't know who is going to look at it

Next


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Broken windows

  • The broken window theory
  • Open source is one cure
  • Others:: extreme programming, refactoring

Next


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Getting a big picture

 
  • Can an outsider come in and understand everything?
  • Forget an outsider, can an insider? Can QA?
  • Where is the data? Where is the database?
  • How often is it backed up? How does the user get to it? What do they typically do?

Next


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Job security vs. open source

$Z='ox'x5;$_="1 2 3\n4 5 6\n7 8 9 ";{$C=chop$Z;print 
"\n$_=>$C";{<>=~/^([\d])$/ && s/$1/$C/m or redo;}(
m/(^($C.){3})|(($C.{5}){2}$C)|($C.{7}$C.{7}$C)|(^.(...$C){3})/sm 
or ++$T>8) or redo;}s/\d/-/g;print
  • The job security myth
  • (job) Security through (code) obscurity
  • Be known for good documentation, not known for being mysterious

Next


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Who does it not apply to?

 
  • Widely dispersed teams.
  • Training.
  • Very large projects.
  • Security.

      Last             TOC             Next