Showing posts with label leadership. Show all posts
Showing posts with label leadership. Show all posts

Saturday, October 18, 2014

Embracing Technology Change In Scientific Software

“πάντα χωρεῖ καὶ οὐδὲν μένει” [Everything changes and nothing stands still]  - Heraclitus of Ephesus.
True 500 BC, this statement for sure holds nowadays in the software world. Whether at micro scale, when replacing a third parties library or continuously refactoring, or at macro scale, when adopting a new language, a framework or making major paradigm shift such as going parallel. Evolution is part of the development cycle.
Change can be planned, when a prototype paves the route for a production software or unexpected, when a technology breakthrough emerges during the lifespan of a project.
Although every domain is concerned by the phenomenon, scientific software raises a couple peculiarities. Often serving research, the purpose of the code itself will pivot in unforeseen directions. Meanwhile, developers, as talented as they might be, rarely come from a software engineering background and sometimes (that might be an understatement) do not consider the software building process as a relevant priority.
Embracing evolution raises challenges in multiple dimensions. We will try to cover both the technical perspective as well as the leadership one.


Contents:  Build To Change - Where (and When) To Go? - Foster Evolution in Your Team.

Kayaking through the ice, to reach our glacier Patagonia, 2000

Tuesday, August 23, 2011

Problem solving & low scale decision process


In this post, we’ll try to address the decision process that happens at low scale, more precisely within a team of 2-8 people building software (see http://alexandre-masselot.blogspot.com/2011/08/creating-scientific-bioinformatics.html for the role of such a team). By low-scale, we mean that we will not talk about high level orientation choices (even though there is much in commons), which are out of the scope today.
Once a goal as been stated beforehand (upper management, marketing, scientific, sprint start meeting or whatever), we must decide on how this goal should be reached and it is exactly this step that we’ll talk about here.
Such decision taking is of course a daily process in software development that can involve the full team, a subset for a dedicated aspect, a mix of developers and customers or even only two persons in pair programming. It can cover brain storming, architectural aspects, risk planning, strategy, task scheduling, technology choice, minimal viable product target (http://en.wikipedia.org/wiki/Minimum_viable_product), software design etc. This process can take a few minutes, one hour or even full days (off-site brainstorming).

Sunday, August 14, 2011

20% of blue sky

Motivating software developers in a scientific research environment... 
...and getting benefit from it


Having managed individuals and teams of bioinformaticians (i.e. developers creating software tools for life scientists) and observed practices around me in other fields (and literature), I try to address the question of how to create an environment where people feel good, work at their best, produce good software and get fun from it.

There is much more to say (and so many books to read) about how to build such an environment but I will present here some views on one particular aspect, the 20% “free” time, that can easily be implemented, and the kind of benefit the company can get.

After exploring the concept in the industry, we’ll try to make a proposal on how can (and “why should”) a research center (academic or private) implement the 20% rule for the tool maker developers.


Saturday, August 13, 2011

Creating scientific (bioinformatics) software: going Agile?


This post is the summary of a few personal thoughts about scientific research software development process. This is the results of personal experiences as phD in physics computational modeling, bioinformatician up to head of software development (CTO) in a medium size biotech software company (www.genebio.com), academic research/service group leader and programming course lecturer. These thoughts are based on a lot of personal failures, some success stories, even more observations of other projects and of course literature (see references)...


Verbier to Zinal in speed flying, 2009