(1) experimental software engineering in internet startups: an oxymoron? philip johnson...
TRANSCRIPT
(1)
Experimental Software Engineering in Internet Startups: An Oxymoron?
Philip JohnsonCollaborative Software Development
LaboratoryInformation and Computer Sciences
University of HawaiiHonolulu, HI USA
(2)
“Experimental Methodology”
True confession: there wasn’t any.
Thoughts based upon direct experiences with:•Large, mature hardware/software corp.
-Instrumentation devices, C++, embedded
•Small, mature ocean engineering corp.-Cable lay software, Fortran, VB
•Small, explosively growing Internet startup-N-tier web information system, Java
(3)
Issues What differentiates an Internet startup from other kinds of software development organizations?
Why would an Internet startup find experimental software engineering useful?
What are the challenges of getting an Internet startup to practice experimental software engineering?
(4)
Things that are not different
Politics
Organizational volatility
Rapidly changing requirements
Variability in skill level
(5)
Things that are different No legacy code, languages, environments, customers
No “we’ve always done it that way”
No developer or management deadwood
(6)
Benefits Standard benefits:•Improved quality•Better planning •etc.
Unique benefits to Internet startups:•Faster development of “self-awareness”
(7)
Obstacles Mature companies often decide to invest in Exp. SE because of past failures.
Internet startups•Have no past history of failure•May be clueless about software development
•May be ridiculously optimistic
(8)
Recommendations Data collection must be “free”.•Instrument IDE, version control system, defect tracking system, etc.
Startups love to outsource. Exploit that.•You want to “partner”, not be an employee.
Equity compensation first, cash second. •Risk takers like to work with risk takers.
Startups are desperate to be cutting edge.•Experimentation must be rad, not trad.
(9)
Things to discuss What kinds of experiments would be suited to a startup environment?
What kinds of experimental methods give results in weeks or days, not months or years?
What is the “elevator pitch” for exp. SE?
How can the current popularity of incubators and accelerators be exploited (in-house experimental software engineering).