Presented by Adobe 


In the engineering world, companies are all about deadlines. Development teams typically focus on making their deliverables, on hitting their target market, and on getting the right feature set.

These teams tend to be heavily invested in engineering methodology — particularly agile processes: working in two-week sprints, building larger schedules based on past “project velocity,” retrospecting on the process, and ideally getting better at delivering scope and schedule with each iteration.

The world I work in now, and one that many of us are heading toward, is a world of uncertainty, with much bigger potential gains and much more potential for failure. Project velocity, schedule estimation, burn down charts have been replaced by objective functions, experiments, and instrumentation. Many of the experiments will fail, but each will increase the amount we know, increasing our chance of succeeding in the audacious goal we set at the beginning.

The world of science can still be agile: we definitely improve over time, but what will be hard, if not impossible, is making a meaningful schedule. You can not plan on experiments succeeding, as you can sprints. Rather you must do the experiments, and plan on acquiring knowledge about what sort of worked, until you find out what does work.

The problem with bugs

Engineers and scientists think about deliverables and deadlines very differently. Engineers tend to be focused on eliminating as many bugs as realistically possible before the deadline, in order to get to a minimum viable product — while scientists, by contrast, want to…

[SOURCE]