SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
Low Ceremony Processes for Short
Lifecycle Projects
Tony	
  Wasserman	
  
Carnegie	
  Mellon	
  Silicon	
  Valley	
  
	
  
Int’l	
  Conf.	
  on	
  So9ware	
  and	
  System	
  Process	
  
19	
  May	
  2013	
  
Bay to Breakers: a Complex System
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	
  
Individual Runner
Individual runner processes
1 person running 12K in 1+ hour
•  Travel	
  	
  
•  Refreshments	
  
•  Individual	
  Eming	
  
Facebook’s early days
Mark	
  Zuckerberg	
  at	
  Harvard	
  in	
  2004	
  
How	
  much	
  process	
  did	
  he	
  use?	
  	
  Where’s	
  the	
  spec?	
  
“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	
  
Different types of systems need
different types of processes
High	
  ceremony	
  processes	
  may	
  follow	
  a	
  
defined,	
  or	
  even	
  an	
  op7mized,	
  process,	
  
as	
  put	
  forth	
  by	
  the	
  SEI.	
  
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	
  
Too	
  much	
  process?	
  
	
  
How	
  many	
  organizaEons	
  truly	
  address	
  
all	
  of	
  these	
  areas,	
  even	
  when	
  building	
  
complex	
  systems?	
  
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	
  
Startups	
  ini7ally	
  have	
  few,	
  if	
  any	
  processes.	
  
	
  
Some	
  individual	
  developers	
  have	
  good	
  
habits;	
  some	
  hack.	
  
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	
  
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	
  
Process	
  Mismatch	
  
Needed: process to fit
Enter	
  agile	
  processes	
  and	
  lean	
  
soFware	
  development	
  
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	
  
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	
  
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
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	
  
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	
  
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
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	
  
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	
  
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
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)	
  
Processes driven by tools
•  Programming	
  environments	
  
•  CollaboraEon	
  tools	
  
•  Mockups	
  and	
  prototyping	
  
•  Device	
  emulators	
  
GitHub project forge
CollabNet TeamForge
Appcelerator’s Titanium Studio
Xcode for iOS App
Eclipse for Android development
Telerik Load Testing
Startups grow up
The Week, January 15, 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	
  
Contact information
Anthony	
  I.	
  (Tony)	
  Wasserman	
  
	
  
post:	
   	
   	
  Carnegie	
  Mellon	
  Silicon	
  Valley	
  
	
   	
   	
  MoffeO	
  Field,	
  CA	
  94035	
  USA	
  
email: 	
   	
  tonyw@acm.org	
  
Skype,	
  G+: 	
  tony.wasserman	
  
TwiOer:	
   	
  twasserman	
  

Contenu connexe

Tendances

SW Development and Infrastructure Resume
SW Development and Infrastructure  ResumeSW Development and Infrastructure  Resume
SW Development and Infrastructure ResumeRamenaBall
 
Continuous Integration for z using Test Data Management and Application D...
Continuous  Integration for z  using  Test Data Management  and Application D...Continuous  Integration for z  using  Test Data Management  and Application D...
Continuous Integration for z using Test Data Management and Application D...DevOps for Enterprise Systems
 
Manage and Monitor Oracle Applications in the Cloud
Manage and Monitor Oracle Applications in the CloudManage and Monitor Oracle Applications in the Cloud
Manage and Monitor Oracle Applications in the CloudBob Rhubart
 
Continuous Delivery using Release Management Automation
Continuous Delivery using Release Management AutomationContinuous Delivery using Release Management Automation
Continuous Delivery using Release Management AutomationPremkumar Veerakumar
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineImaginet
 
Cmmi adptando cmmi a proyectos pequeños weinberg[1]
Cmmi adptando cmmi a proyectos pequeños weinberg[1]Cmmi adptando cmmi a proyectos pequeños weinberg[1]
Cmmi adptando cmmi a proyectos pequeños weinberg[1]JULIO GONZALEZ SANZ
 
Guiding Principles & Methodology for Cloud Computing Adoption
Guiding Principles & Methodology for Cloud Computing AdoptionGuiding Principles & Methodology for Cloud Computing Adoption
Guiding Principles & Methodology for Cloud Computing AdoptionKumar Arikrishnan
 
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
RTC/CLM 5.0 Adoption Paths: Deploying in 16 StepsStéphane Leroy
 
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...Stacey Whitney
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architectureLilia Sfaxi
 
What is Rational CLM?
What is Rational CLM?What is Rational CLM?
What is Rational CLM?IBM Danmark
 
Agilent webcast bestpractices-platformv2
Agilent webcast bestpractices-platformv2Agilent webcast bestpractices-platformv2
Agilent webcast bestpractices-platformv2OracleIDM
 
Symbiotic Govt Sasketchewan SA Resume - Ricky Tiglao V1.0
Symbiotic Govt Sasketchewan SA Resume - Ricky Tiglao V1.0Symbiotic Govt Sasketchewan SA Resume - Ricky Tiglao V1.0
Symbiotic Govt Sasketchewan SA Resume - Ricky Tiglao V1.0Rick Tiglao
 
Application Security Program Management with Vulnerability Manager
Application Security Program Management with Vulnerability ManagerApplication Security Program Management with Vulnerability Manager
Application Security Program Management with Vulnerability ManagerDenim Group
 
Automation Culture: Essential to Agile Success
Automation Culture: Essential to Agile SuccessAutomation Culture: Essential to Agile Success
Automation Culture: Essential to Agile SuccessTechWell
 
Meet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale ProjectsMeet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale ProjectsTechWell
 
DevOps from Control to Enablement
DevOps from Control to EnablementDevOps from Control to Enablement
DevOps from Control to EnablementJoAnna Cheshire
 

Tendances (20)

SW Development and Infrastructure Resume
SW Development and Infrastructure  ResumeSW Development and Infrastructure  Resume
SW Development and Infrastructure Resume
 
Continuous Integration for z using Test Data Management and Application D...
Continuous  Integration for z  using  Test Data Management  and Application D...Continuous  Integration for z  using  Test Data Management  and Application D...
Continuous Integration for z using Test Data Management and Application D...
 
Resume
ResumeResume
Resume
 
Manage and Monitor Oracle Applications in the Cloud
Manage and Monitor Oracle Applications in the CloudManage and Monitor Oracle Applications in the Cloud
Manage and Monitor Oracle Applications in the Cloud
 
Continuous Delivery using Release Management Automation
Continuous Delivery using Release Management AutomationContinuous Delivery using Release Management Automation
Continuous Delivery using Release Management Automation
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom Line
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Cmmi adptando cmmi a proyectos pequeños weinberg[1]
Cmmi adptando cmmi a proyectos pequeños weinberg[1]Cmmi adptando cmmi a proyectos pequeños weinberg[1]
Cmmi adptando cmmi a proyectos pequeños weinberg[1]
 
Guiding Principles & Methodology for Cloud Computing Adoption
Guiding Principles & Methodology for Cloud Computing AdoptionGuiding Principles & Methodology for Cloud Computing Adoption
Guiding Principles & Methodology for Cloud Computing Adoption
 
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
RTC/CLM 5.0 Adoption Paths: Deploying in 16 Steps
 
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
Mage Titans USA 2016 - Mathew Beane - Edit Fully Stacked: Less OOPS, More OPS...
 
Software Engineering - chp5- software architecture
Software Engineering - chp5- software architectureSoftware Engineering - chp5- software architecture
Software Engineering - chp5- software architecture
 
What is Rational CLM?
What is Rational CLM?What is Rational CLM?
What is Rational CLM?
 
Agilent webcast bestpractices-platformv2
Agilent webcast bestpractices-platformv2Agilent webcast bestpractices-platformv2
Agilent webcast bestpractices-platformv2
 
Symbiotic Govt Sasketchewan SA Resume - Ricky Tiglao V1.0
Symbiotic Govt Sasketchewan SA Resume - Ricky Tiglao V1.0Symbiotic Govt Sasketchewan SA Resume - Ricky Tiglao V1.0
Symbiotic Govt Sasketchewan SA Resume - Ricky Tiglao V1.0
 
Application Security Program Management with Vulnerability Manager
Application Security Program Management with Vulnerability ManagerApplication Security Program Management with Vulnerability Manager
Application Security Program Management with Vulnerability Manager
 
Automation Culture: Essential to Agile Success
Automation Culture: Essential to Agile SuccessAutomation Culture: Essential to Agile Success
Automation Culture: Essential to Agile Success
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
Meet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale ProjectsMeet Big Agile: Testing on Large-Scale Projects
Meet Big Agile: Testing on Large-Scale Projects
 
DevOps from Control to Enablement
DevOps from Control to EnablementDevOps from Control to Enablement
DevOps from Control to Enablement
 

En vedette

Frenchising
FrenchisingFrenchising
Frenchisingridone26
 
Social Media - Building Your Brand From the Inside Out
Social Media - Building Your Brand From the Inside OutSocial Media - Building Your Brand From the Inside Out
Social Media - Building Your Brand From the Inside Outclairee214
 
WCF LOB SDK from CodeMastery
WCF LOB SDK from CodeMasteryWCF LOB SDK from CodeMastery
WCF LOB SDK from CodeMasteryclineer
 
WCF LOB SDK at CNUG
WCF LOB SDK at CNUGWCF LOB SDK at CNUG
WCF LOB SDK at CNUGclineer
 
Social media strategies in the workplace
Social media strategies in the workplaceSocial media strategies in the workplace
Social media strategies in the workplaceclaire tellefson
 

En vedette (7)

Frenchising
FrenchisingFrenchising
Frenchising
 
Mobile technology
Mobile technologyMobile technology
Mobile technology
 
Social Media - Building Your Brand From the Inside Out
Social Media - Building Your Brand From the Inside OutSocial Media - Building Your Brand From the Inside Out
Social Media - Building Your Brand From the Inside Out
 
20100318
2010031820100318
20100318
 
WCF LOB SDK from CodeMastery
WCF LOB SDK from CodeMasteryWCF LOB SDK from CodeMastery
WCF LOB SDK from CodeMastery
 
WCF LOB SDK at CNUG
WCF LOB SDK at CNUGWCF LOB SDK at CNUG
WCF LOB SDK at CNUG
 
Social media strategies in the workplace
Social media strategies in the workplaceSocial media strategies in the workplace
Social media strategies in the workplace
 

Similaire à Wasserman Keynote at ICSSP 2013

Comparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutionsComparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutionsMike Ensor
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfutubashaikh26
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software qualityBabak Khorrami
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computingAhmed M. Abed
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleGurban Daniel
 
USG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalUSG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalEric Sembrat
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLESIvano Malavolta
 
project_life_cycles_models.ppt
project_life_cycles_models.pptproject_life_cycles_models.ppt
project_life_cycles_models.pptchandrasekarnatraj
 

Similaire à Wasserman Keynote at ICSSP 2013 (20)

Comparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutionsComparing Legacy and Modern e-commerce solutions
Comparing Legacy and Modern e-commerce solutions
 
Journey to the center of DevOps - v6
Journey to the center of DevOps - v6Journey to the center of DevOps - v6
Journey to the center of DevOps - v6
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
When agility meets software quality
When agility meets software qualityWhen agility meets software quality
When agility meets software quality
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Agile methodology in cloud computing
Agile methodology in cloud computingAgile methodology in cloud computing
Agile methodology in cloud computing
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Sdlc
SdlcSdlc
Sdlc
 
USG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalUSG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using Drupal
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Sdlc
SdlcSdlc
Sdlc
 
project_life_cycles_models.ppt
project_life_cycles_models.pptproject_life_cycles_models.ppt
project_life_cycles_models.ppt
 
Session2.ppt
Session2.pptSession2.ppt
Session2.ppt
 
ddd.ppt
ddd.pptddd.ppt
ddd.ppt
 
Session2.pptx.ppt
Session2.pptx.pptSession2.pptx.ppt
Session2.pptx.ppt
 

Dernier

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

Wasserman Keynote at ICSSP 2013

  • 1. Low Ceremony Processes for Short Lifecycle Projects Tony  Wasserman   Carnegie  Mellon  Silicon  Valley     Int’l  Conf.  on  So9ware  and  System  Process   19  May  2013  
  • 2. Bay to Breakers: a Complex System
  • 3. 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  
  • 5. Individual runner processes 1 person running 12K in 1+ hour •  Travel     •  Refreshments   •  Individual  Eming  
  • 6. Facebook’s early days Mark  Zuckerberg  at  Harvard  in  2004   How  much  process  did  he  use?    Where’s  the  spec?  
  • 7. “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  
  • 8. Different types of systems need different types of processes
  • 9. High  ceremony  processes  may  follow  a   defined,  or  even  an  op7mized,  process,   as  put  forth  by  the  SEI.  
  • 10. 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  
  • 11. Too  much  process?     How  many  organizaEons  truly  address   all  of  these  areas,  even  when  building   complex  systems?  
  • 12.
  • 13. 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  
  • 14. Startups  ini7ally  have  few,  if  any  processes.     Some  individual  developers  have  good   habits;  some  hack.  
  • 15. 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  
  • 16. 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  
  • 19. Enter  agile  processes  and  lean   soFware  development  
  • 20. 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  
  • 21. 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  
  • 22.
  • 23. 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
  • 24. 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  
  • 25. 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  
  • 26. 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
  • 27. 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  
  • 28. 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  
  • 29. 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
  • 30. 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)  
  • 31. Processes driven by tools •  Programming  environments   •  CollaboraEon  tools   •  Mockups  and  prototyping   •  Device  emulators  
  • 36. Eclipse for Android development
  • 38. Startups grow up The Week, January 15, 2013
  • 39. 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  
  • 40.
  • 41. Contact information Anthony  I.  (Tony)  Wasserman     post:      Carnegie  Mellon  Silicon  Valley        MoffeO  Field,  CA  94035  USA   email:    tonyw@acm.org   Skype,  G+:  tony.wasserman   TwiOer:    twasserman