Download - Wasserman Keynote at ICSSP 2013

Transcript
Page 1: Wasserman Keynote at ICSSP 2013

Low Ceremony Processes for Short Lifecycle Projects

Tony  Wasserman  Carnegie  Mellon  Silicon  Valley  

 Int’l  Conf.  on  So9ware  and  System  Process  

19  May  2013  

Page 2: Wasserman Keynote at ICSSP 2013

Bay to Breakers: a Complex System

Page 3: Wasserman Keynote at ICSSP 2013

Bay to Breakers Processes 50000 people traveling 12K over 4 hours

•  Security  •  Traffic  control  •  RegistraEon  •  Finances  •  Publicity  •  Awards  •  CollecEbles  •  Refreshments  

•  Sponsor  management  •  RecruiEng  •  Exhibitor  management  •  Entertainment  •  Medical  •  Warmup  and  start  •  Individual  Eming  

Page 4: Wasserman Keynote at ICSSP 2013

Individual Runner

Page 5: Wasserman Keynote at ICSSP 2013

Individual runner processes 1 person running 12K in 1+ hour

•  Travel    •  Refreshments  

•  Individual  Eming  

Page 6: Wasserman Keynote at ICSSP 2013

Facebook’s early days Mark  Zuckerberg  at  Harvard  in  2004  

How  much  process  did  he  use?    Where’s  the  spec?  

Page 7: Wasserman Keynote at ICSSP 2013

“Process Ceremony”

•  The  extent  to  which  a  well-­‐defined  and  carefully  followed  process  is  needed  

•  More  process  steps  needed  for  –  Life-­‐criEcal  and  business-­‐criEcal  systems  

–  Hard-­‐to-­‐modify  systems  

–  Systems  with  high  financial  risk  

–  Systems  with  high  public  visibility  

Page 8: Wasserman Keynote at ICSSP 2013

Different types of systems need different types of processes

Page 9: Wasserman Keynote at ICSSP 2013

High  ceremony  processes  may  follow  a  defined,  or  even  an  op7mized,  process,  as  put  forth  by  the  SEI.  

Page 10: Wasserman Keynote at ICSSP 2013

CMMI 1.2 Key Practices

•  ConfiguraEon  Mgmt.  •  Measurement  and  Analysis  •  Project  Monitoring  and  

Control  •  Project  Planning  •  Product  and  Process  QA  •  Requirements  Mgmt.  •  Supplier  Agreement  Mgmt.  •  Decision  Analysis  and  

ResoluEon  •  Integrated  Project  Mgmt.  •  OrganizaEonal  Process  Def.  •  OrganizaEonal  Process  Focus  

•  OrganizaEonal  Training  •  Product  IntegraEon  •  Requirements  Development  •  Risk  Management  •  Technical  SoluEon  •  ValidaEon  •  VerificaEon  •  OrganizaEonal  Process  

Performance  •  QuanEtaEve  Project  Mgmt.  •  Causal  Analysis  and  

ResoluEon  •  OrganizaEonal  InnovaEon  

Page 11: Wasserman Keynote at ICSSP 2013

Too  much  process?  

 

How  many  organizaEons  truly  address  all  of  these  areas,  even  when  building  

complex  systems?  

Page 12: Wasserman Keynote at ICSSP 2013
Page 13: Wasserman Keynote at ICSSP 2013

Modern Startups

•  Mobile  apps  

•  Consumer-­‐oriented  web  and  cloud  apps  

•  Add-­‐ons  to  exisEng  applicaEons  •  Development  and  deployment  tools  and  pla[orms  

•  ApplicaEon  monitoring  

•  Web  analyEcs  

•  AcEvity  trackers  •  “Smart”  sensor-­‐based  devices  

Page 14: Wasserman Keynote at ICSSP 2013

Startups  ini7ally  have  few,  if  any  processes.    Some  individual  developers  have  good  habits;  some  hack.  

Page 15: Wasserman Keynote at ICSSP 2013

What are the most important activities for a tiny startup? •  Requirements:  addressing  customer  pain  points  •  Delivering  funcEoning  code:  minimizing  Eme  to  market  •  Product  architecture;  building  on  proven  components  •  Product  usability  •  Product  performance,  robustness,  scalability  •  Development  and  deployment  environments  •  Building  a  team  •  Business  development  with  partners  •  GeneraEng  favorable  market  awareness  •  Funding,  burn  rate  and  revenue  sources  

Page 16: Wasserman Keynote at ICSSP 2013

How many of these activities address the key needs of the tiny startup?

•  ConfiguraEon  Mgmt.  •  Measurement  and  Analysis  •  Project  Monitoring  and  

Control  •  Project  Planning  •  Product  and  Process  QA  •  Requirements  Mgmt.  •  Supplier  Agreement  Mgmt.  •  Decision  Analysis  and  

ResoluEon  •  Integrated  Project  Mgmt.  •  OrganizaEonal  Process  Def.  •  OrganizaEonal  Process  Focus  

•  OrganizaEonal  Training  •  Product  IntegraEon  •  Requirements  Devel.  •  Risk  Management  •  Technical  SoluEon  •  ValidaEon  •  VerificaEon  •  OrganizaEonal  Process  

Performance  •  QuanEtaEve  Project  Mgmt.  •  Causal  Analysis  and  

ResoluEon  •  OrganizaEonal  InnovaEon  

Page 17: Wasserman Keynote at ICSSP 2013

Process  Mismatch  

Page 18: Wasserman Keynote at ICSSP 2013

Needed: process to fit

Page 19: Wasserman Keynote at ICSSP 2013

Enter  agile  processes  and  lean  soFware  development  

Page 20: Wasserman Keynote at ICSSP 2013

Main Principles of Agile Software Development

•  Capture  and  define  requirements  at  a  high  level  •  User  involvement  is  essenEal  •  The  team  must  be  allowed  to  make  decisions  •  Develop  small  incremental  releases,  and  iterate  •  Focus  on  frequent  delivery  of  products  •  Requirements  evolve  but  the  Emescale  is  fixed  •  Complete  each  feature  before  moving  on  to  the  next  •  TesEng  is  integrated  throughout  the  product  lifecycle  •  A  collaboraEve  and  cooperaEve  approach  between  all  

stakeholders  is  essenEal  From  managedmayhem.com/2009/05/06  

Page 21: Wasserman Keynote at ICSSP 2013

Lean Software Development

•  Pursues  perfecEon  through  the  systemaEc  idenEficaEon  and  eliminaEon  of  wasteful  acEviEes  –  ReducEon  of  non-­‐value-­‐added  acEvity  –  Smoothing  of  flow  

–  EliminaEon  of  overburdening  

•  “Agile  methods”  contained  less  “waste”  and  thus  produced  a  beger  outcome  

Page 22: Wasserman Keynote at ICSSP 2013
Page 23: Wasserman Keynote at ICSSP 2013

Software Engineering Evolves

•  New  processes  •  New  tools  and  technologies  •  Extensive  use  of  FOSS  •  Dependence  on  third-­‐party  services    •  Extremely  rapid  changes  

•  Difficulty  of  replicaEng  problems  

Common Thread: Interactive access to the Internet

Page 24: Wasserman Keynote at ICSSP 2013

Modern software engineering is different

•  SimilariEes  –  Quality/reliability  issues  –  Performance  (download  Emes,  database  access)  –  ConfiguraEon  management  –  Architecture  issues  –  Version  management  

•  Key  Differences  –  User  interface  –  Release  frequency  – MulEple  programming  notaEons  (HTML,  Perl,  Java,  JavaScript,  etc.)  –  Reliance  on  APIs  and  reuse  –  Diversity  of  development  teams  –  Development  methodology  

Page 25: Wasserman Keynote at ICSSP 2013

Where are the process changes?

•  Frequent  feature-­‐driven  releases  (need  for  DevOps)  •  Short,  agile  development  cycle  

•  Frequent  builds  •  Daily  standup  meeEngs    

•  Strong  UX  end  user  focus  •  Extensive  use  of  exisEng  infrastructure,  frameworks,  

components,  i.e.,  write  less  code  

•  Heavy  tool  emphasis  

•  Expanded  tesEng  and  QA  

Page 26: Wasserman Keynote at ICSSP 2013

Stringent customer expectations

•  ApplicaEon  always  up  –  How  do  you  upgrade  hardware  and  so9ware?  –  How  do  you  maintain  control  over  third  parEes?  

•  Easy  to  use  and  navigate  •  Secure  and  reliable  end-­‐to-­‐end  transacEons  •  Acceptable  performance  at  normal  connecEon  speeds  

•  Suitable  privacy  policy  

Application must be fault-tolerant, reliable, scalable, usable

Page 27: Wasserman Keynote at ICSSP 2013

Quality Assurance Is Critical

•  Impact  of  consumer  reviews,  especially  in  app  stores  

•  Front-­‐end  and  usability  tesEng    –  FuncEonal  tesEng  for  common  tasks  

–  Link  tesEng  (can  be  largely  automated)  

–  A/B  tesEng  •  Back-­‐end  tesEng  

–  White-­‐box  tesEng  

–  FuncEonal  tesEng  •  Load  tesEng  

–  Match  site  infrastructure  to  esEmated  load  

Page 28: Wasserman Keynote at ICSSP 2013

Mobile and Web Applications •  Involve  mulEple  design  dimensions  

–  Front  end  •  InteracEon  design,  e.g.,  navigaEon  •  Image  and  Graphics  •  ScripEng  (JavaScript)  

–  Back  end  •  Architecture  and  component  integraEon  •  Performance  (response  Eme)  •  Database  design  •  Scalability  (number  of  users)  •  Fault  tolerance  and  reliability  •  Logical  structure  of  code  (programming  and/or  scripEng  language)  

–  IntegraEon  architectures  and  frameworks  

Page 29: Wasserman Keynote at ICSSP 2013

Modern applications depend on third-party services

•  Content  caching  •  Credit-­‐card  processing  •  Order  fulfillment  

•  Visitor  tracking  •  Email  processing  

•  Ad  servers  •  Discussion  and  chat  forums  

Many “web site” functions are outsourced – a site is not a single entity

Page 30: Wasserman Keynote at ICSSP 2013

Needed team skills for successful development and deployment

•  Planning  of  feature-­‐based  releases    •  System  architecture  (hardware  and  so9ware)  

•  Security  •  Deployment  environments  (devops)  

•  Programming  in  various  languages  

•  UX  and  UI  •  FuncEonal  and  stress  tesEng;  mulEple  client  tesEng  

•  Scalability  •  Web  infrastructure  (firewalls,  proxy  servers,  load  balancers)  

Page 31: Wasserman Keynote at ICSSP 2013

Processes driven by tools

•  Programming  environments  

•  CollaboraEon  tools  •  Mockups  and  prototyping  

•  Device  emulators  

Page 32: Wasserman Keynote at ICSSP 2013

GitHub project forge

Page 33: Wasserman Keynote at ICSSP 2013

CollabNet TeamForge

Page 34: Wasserman Keynote at ICSSP 2013

Appcelerator’s Titanium Studio

Page 35: Wasserman Keynote at ICSSP 2013

Xcode for iOS App

Page 36: Wasserman Keynote at ICSSP 2013

Eclipse for Android development

Page 37: Wasserman Keynote at ICSSP 2013

Telerik Load Testing

Page 38: Wasserman Keynote at ICSSP 2013

Startups grow up The Week, January 15, 2013

Page 39: Wasserman Keynote at ICSSP 2013

When Startups Grow Up – Process Accumulates

•  More  people,  more  process  

•  More  customers  dependent  on  the  system  

•  Products  evolve  more  slowly  

•  Developers  spend  less  Eme  developing  

•  Key  founders  depart  to  create  another  startup  (or  to  become  angel  investors  and  advisors)  

Increased  business  and  technical  risks  drive  process  change  

Page 40: Wasserman Keynote at ICSSP 2013
Page 41: Wasserman Keynote at ICSSP 2013

Contact information

Anthony  I.  (Tony)  Wasserman    post:      Carnegie  Mellon  Silicon  Valley  

     MoffeO  Field,  CA  94035  USA  email:    [email protected]  Skype,  G+:  tony.wasserman  TwiOer:    twasserman