The Lean Scientist: Productivity in Science

by Nicholas A. Del Grosso.

Speaker: Nicholas A. Del Grosso
Date: 05 Feb 2019, 18:30
Location: TUM main campus, building N1, room N1135

About our speaker:

Nicholas A. Del Grosso, is a postdoctoral researcher in Proteomics, at the Max Planck Institute for Biochemistry. During his Ph.D., he designed and built a virtual reality system for freely-moving rodents in the Sirota Lab (Cognition and Neural Plasticity) at LMU. He is not only a passionate neuroscientist but also a professional Pythonista, having written several high- and low-level Python libraries.

The Lean Scientist: Productivity in Science

This NJC event was a little bit different…we didn’t as usual discuss research, we instead covered a topic of: How to do research. Through the almost 2 hours long engaged talk and discussion we learned about the key concepts behind: being a lean scientist.

Here we will provide you with a quick overview of the main idea, but we strongly encourage you to have a look directly at Nick’s slides, which you can find on the bottom of this article. Throughout the Talk, Nick inspired by the experiences of his Ph.D. and group leadership was posing challenging questions and approaches to doing science. Not often does the speaker start with a suggestion that he will make us start writing our thesis first day at the lab!


What do research projects produce and What does it mean to be productive?

This key question was what our speaker decided to focus on during this meeting. What do we actually produce and how can one be productive, when as a scientist we look into the unknown. The created knowledge products (models, literature) are a representation of researchers own knowledge. This product is more valuable if: * it is internally valid (self-consistent) * it is externally valid (relates to already existing knowledge) * it has been validated (tested against prior knowledge) * it is reproducible (can be re-tested) * is spontaneously produces new knowledge
So what does it mean to be productive in science?
→ Produce the Most Validated Knowledge in the Shortest Amount of Time.
Or in other words: to learn, test your learning, share your tested learning, then repeat faster!

Productivity = goal-oriented behavior.
To be productive in science you must produce, but every time you produce you must change state in the desired way. When you don’t change, you make no progress. Nick suggested that what we need to learn is setting the goal in a new way. Knowledge should be a motor and learning (goals) should be a source of change. When you start a project you try to predict the trajectory it should take, but the truth is, we can not know precisely. Each project carries with itself a probability of failure and by trying to go towards it’s orthogonally, we make no progress. With this approach, your work is not about the hours, but also about their quality. You should carefully choose what do you want to pursue and arrange your workload accordingly:
- Taking a smaller step and applying course correction is going to be time costly! (time cost on each error)
- It would be even worse if you show whatever you produced as if it was correct! (sum of error)


How to reduce the Risk? Trade-off Distance and Specifity
Instead of already narrow aim, pick broad long goals, your mission of what is most important to you. Then choose short term goals and sequentially approach the most fitting ones! Select goals strategically, pick objectives that bring you closer to your aims, aligning them with each other to produce the shortest path.
Due to the hesitation in the crowd, our speaker explained how to pick the long term goal, by answering the list of questions: Why am I here? What do I want to achieve in total? How do my current goals correlate to my global goal? Keep track of those reasons!


The 4 Phases of Research Project:

1. What do I know?
2. What is my Research Question?
3. What Prediction will I make?
4. Was my prediction correct?

Phase 0:

Never start specific and keep track of what motivates YOU. What is your research interest, but not in terms of what you seen already, notice what interests you, what drives you? Whenever you feel like quitting, always remember why you started!
Tools:
1. Goal-Setting Tool: [OKRs] – set you your goals for the upcoming 1 to 3 months!
2. Science Slams – go see what other people are doing!


Phase 1: What is My Product (research question)?

Remember here: Don’t Start Yet!
First, find what already exists and build a mind map and research the correct trajectories to start with!
Tools:
1. Mind Map
2. Domain Design [UMLs, LucidChart]
3. Literature Database - look into the literature, pick the most cited reviews and go through the already existing knowledge.
4. Reference Manager [Mendeley] – store literature in one place and sort it according go your research.
5. Meta-Analysis [Meta-Essentials Excel Extension] – a statistical procedure for combining data from multiple studies. You can find common patterns within different studies!
6. Debate – as soon as you believe you know something, you in trouble! Go discuss it with your colleagues, find what you weren’t right about, find out how they would approach it!
7. Teach (Lecture, Workshop, Blog, Mentorship) – every time you teach you to learn you didn’t know as much you thought! Put the ideas in a way, that allows you to get feedback with even more knowledge! Find people who engage you back, resonate with you!
8. Open-Source Software [Github]
9. Interactive Notebooks [Jupyter, Google Colab]


Phase 2: What form will my product take?

What you have to do now is decide how will your final product look like.
Tools:
1. Set-Based Design – find a variety of possible methods, predict the possible shapes of the project.
You will limit the cost of changes when you adapt ad each of the learning stages. Find a clear goal. Identify the possible subsystems. Dive into each one of them. Pick a lot of them and focus on learning, then pick the one that works the best for your problem.
Concept: It is also important how you will pick your environment. According to the Conway's law, we tend to build a system similar to the ones we work you. Think how do you connect and communicate with people!.
2. Experimental Design – start by designing your experiment with particular prediction
3. Computer Simulation – start your experiments/analysis on simulated data, don’t wait to collect it, check proof yourself!
4. Power Analysis [R ‘pwr’ library, Gpower] – check if you will have enough data to perform your experiments.
5. Acceptance Test [Gherkind, Pytest-BDD] - behavioural driven design, write behavioural tests even before developing!
6. Project Proposal - write your own plan of actions and verify it with someone, they will help you judge if the project has value and if it’s likely to succeed – this is your source of confirmation.

Now: YOU HAVE A GOAL AND A PATH!
You can stop starting and start finishing. Work on your current goals, it does not matter how much time you have, it’s more about the quality and once again: it’s all about learning, so never forget to prioritize it!


Phase 3: Am I done yet?

This is where the magic happens!
Tools:
1. Trello: KanBan – plan different stages that need to happen, establish a sequence of the events and see if any of the stages get overloaded. Limit how much work is that at any given place. Learn to know your workload and to say no, when you have enough on your plate.
In KanBan technique you split your work into: TODO / Doing / Done. This can be used for both solo and group projects. You can also use it instead of progress reports, no need to wait for the feedback, a lot of things are going to come up as you progress.
2. Lean Coffee – meet with your colleagues for coffee, create a KanBan board, then brainstorm the topics, pitch your topics and then all together pick the ones you need to prioritize and discuss. Don’t forget to set a time limit for each of the topics. Move along KanBan board, don’t forget to lock all your learning!
3. Pair Programming and Code Review - work with someone! You will feel slower at first, but you will learn a lot more and eventually produce an expected outcome faster.
4. Small-Batch Workflows [LeanSim] – work with just one piece at a time.
5. Continuous Integration – never forget to keep your code tested!
6. Pull-Based Workflow [LeanSim]
7. Value – Stream Mapping – measure the value added by the work vs time wasted on it. How much time do you use on each step vs how much time do you spend between them! Find weaknesses and address them!
8. Email Sneeze and Continuous Shrinkage – don’t store your emails, respond to them goal wise!
Don’t ever wait: Minimize Handoff Time:
* when dealing with supervision and waiting for the feedback on your work
* don’t have your supervisors notified every time
* keep working and they always have access to the most recent version
* call the authors, don’t waste time and learn from the source
Team: If you can, pick a team that shares the same vision. Don’t recruit after the project starts. Find people you resonate with and help one another when things are not getting done. 9. Data Analysis Skills (Data Visualization and Statistics) – always analyze your results, do the statistics before you get your data (mock stats to find the right approach).
10. Process Quality Control
11. Unit Testing [PyTest] – predict what does your code need to do, develop tests in that direction, validate your approach. Never write the test to validate already existing function, it’s an indication of how you going to approach your problem.
12. Scientific Conferences – they are a great way to check if your research is going to fly! Ask as many questions as you can and note everything. This is not a place for “good enough results”, it is also a great source of feedback!
13. Pre-publication and online Social Networks [bioRxiv, Twitter] – use them as soon as you have a proper idea of what do you want to achieve. This is the lean publishing style!
14. Peer – review publications – at this point your knowledge should already have value – someone spends time on the feedback, but don’t wait too long, you need feedback as early as possible! Learn from it, make changes, make your research better!

Phase 4: I’m done!

Once you reach this point, don’t leave anything hanging, have a break and then start again with something new. Learn from the previous project, keep yourself learning!

In Summary:

  • Everything you do should be about learning.
  • Your time is extremely valuable. Don’t waste it on things you don’t value.
  • Minimize Ambiguity first, and Uncertainty second:
    • Delay Starting until you have a clear vision of what you want to achieve, why you want to achieve it and are confident you will be successful.
    • When you work towards a goal, you are bound by your past knowledge. Finish as soon as possible, go back to learning.
  • Science is an Essentially-Social Process because others can help to rapidly accumulate and validate your knowledge.
  • Limit work-in-progress. Your To-Do list is holding you back.
  • Minimize Overproduction, Rejections, Handoff Time and Knowledge Waste.

Know yourself and your values.
Don’t wait.
Don’t do bad work.
Keep reading, keep learning until you reach the point of original goal!


References:

Here we would like to thank our speaker one more time for the amazing talk! Below you can find the original slides and references.

https://docs.google.com/presentation/d/1OfKIob8BZjDMNLVjP_1Q86oKeNY1IOLtqNvG0cXAXaU/edit?usp=sharing

Image References: