This page describes set of principles we try to follow in our day to day science job. These ideas are stolen from many areas, mainly from software development practices.
We try to follow these methods ourselves and implement them in our teams
Latest version can be found and forked on Github: https://github.com/aandreev0/extremesciencing
Key elements
- Agile: main goal is successful research, not following some sort of “best practices” list
- Rapid: We aim to move swiftly through the project, figuring bottlenecks as soon as possible
- Responsible: We acknowledge that mistakes will be made and proactively look for ways to lower risks
Notes on research
Result of sciencing is clearly presented high-quality scientific results. It can be delivered as statistically significant observations of nature. It can be delivered as novel useful experimental protocols or data analysis tools that help discovery.
Notes on engineering
Central idea for engineers is that they design and deploy products, something tangible that will be used by other people. This could include microscopes, behavioral experimental setups, analysis and control software, data management solutions, and other elements of research environment.
This means that projects should be treated in such a way that:
- Development should be based on written specification, result of constant conversations between users and engineers
- Final product includes evolving documentation
- Final product includes documented way to track issues and users’ requests for new features, as product will contain bugs, but also evolve
Notes on people
- We acknowledge that being people is hard and painful.
- We acknowledge that talking to people is hard and painful but it is the only thing that ever moved complex projects forward sustainably
References and reading
- Agile manifesto: http://agilemanifesto.org/
- Google SRE Book: https://landing.google.com/sre/book.html
- Peopleware: https://en.wikipedia.org/wiki/Peopleware:_Productive_Projects_and_Teams
- Mythical man-month: https://en.wikipedia.org/wiki/The_Mythical_Man-Month
- Making things happen: http://scottberkun.com/making-things-happen/
- Scalable Meatfrastructure: Building Stable DevOps Teams: https://www.usenix.org/conference/lisa15/conference-program/presentation/goldfuss
- LabScrum: adaptation of Scrum method to academic research https://labscrum.org/
Contributing authors:
- Andrey Andreev (me@aandreev.net)