High Performing Software Teams / "Huipputuottavat" ohjelmistotiimit
Ohjelma:
Ohjelmistojärjestelmät
Yhteyshenkilö:
It is well known that there may be tremendous productivity differences between different software developers. Such effects stem from many reasons ranging from specific software engineering skills to general problem-solving and learning competences. In general, there is a constant lack of such high performers due to the ever-increasing demand for more complex software solutions and systems with shorter life-cycles.
Modern software development is almost always teamwork in practice. This brings up the question of having not only some high-performing individuals but high-performance software teams. Moreover, ideally, such teams can possibly increase the performance of individuals even further in synergic ways. Finally, such high-performing teams could be scaled up for entire software organizations.
However, it is not clearly understood, what high performance means for software development in total, and how exactly such effects and outcomes are achievable in repeatable ways. The goal of this thesis topic is to discover and address such areas and elements, focusing on the specific aspects of software development teams (with respect to work teams in general). Certain research questions are then as follows:
- How is (high) performance defined and measured in software development (e.g., productivity)?
- Which factors affect it - either positively or negatively - and how strongly (e.g., development tools, team composition)?
- Can we "build" high-performing software teams in systematic ways, or do they merely emerge under certain favorable conditions?
- What are suitable organizational designs and environments for hosting and supporting such teams?