Author: André Meyer (page 6 of 6)

Productivity: Software Developers’ Perceptions of Productivity [Paper]

WP_20140131_0351

We just submitted my first paper to the FSE 14 conference. For the past couple of weeks, my supervisor Prof. Thomas Fritz (University of Zurich), Prof. Gail Murphy (University of British Columbia) and Dr. Thomas Zimmermann (Microsoft Research) intensively worked on our work about how developers perceive their productivity. As the paper now has to be reviewed first, I can’t upload it now. This is our abstract:

 

The better the software development community becomes at creating software, the more software the world seems to demand. Although there is a large body of research about measuring and investigating productivity from an organizational point of view, there is a paucity of research about how software developers, those at the front-line of software construction, think about, assess and try to improve their productivity. To investigate software developers’ perceptions of software development productivity, we conducted two studies: a survey with 379 professional software developers to help elicit themes and an observational study with 11 professional software developers to investigate emergent themes in more detail. In both studies, we found that developers perceive their days as productive when they complete many or big tasks without significant interruptions or context switches. Yet, the observational data we collected shows our participants performed significant task and activity switching while still feeling productive. We analyze such apparent contradictions in our findings and use the analysis to propose ways to better support developers in a retrospection and improvement of their productivity through the development of new tools and a sharing of best practices.

Observation Study in Vancouver/Seattle

I am currently in Vancouver (CA) and will soon leave for Seattle (US), where I got the big chance to run the context switches study for my master thesis.


In this study, we want to investigate the context switches and interruptions that developers experience in their workday and their impact on productivity. Therefore, we are observing developers in their workday by shadowing them and writing down the activities they work on and the switches/interruptions they encounter and perform in their work. After the observation session, we are conducting short interviews with the developers on these observations and the correlation between context switches and productivity, e.g., whether they think that certain switches/interruptions are particularly disruptive to their productivity, if they actively try to prevent interruptions and whether and when handling emails and meetings are decreasing productivity.


With the results of this study we hope to gain insights into the correlation between a developer’s activities, context switches and the felt productivity. Furthermore, we hope to be able to determine heuristics in how to automatically identify context switches and their impact on productivity.


The idea for this study stems from the results of a survey that we ran with approximately 350 software developers and that shows that many developers consider themselves more productive when they have few switches that interrupt their focus on a task.

Information Fragments

In my master project, two colleagues and I got the chance to develop a powerful web-application, using Asp.Net, Azure and TFS, to help the developer answer his daily questions using the information from multiple software repositories.

In a typical workday, developers have to answer several questions, such as “Who is working on what?” or “Which is the most popular class?”. Today’s tool support is limited, as we only found tools, where the usage was tedious and time consuming, where the user has to learn a new query language or where the license costs are very high. Besides this issue, there are enormous amounts of information a developer has to manage. A solution to increase the efficiency of answering everyday questions is needed to support the developer in keeping track with the growing complexity of the information. Fritz and Murphy developed a concept, information fragments, which compares and merges different data sets from different repositories using an id and text matching algorithm between the connections of these repositories. These nodes and edges are aggregated to a graph, the composed fragment, and presented to the user. We base our work on this approach and developed an extensible web application prototype that lets the user easily manipulate and filter the composed data by using an easy to understand abstraction of the model. Additionally, the data is represented using five different visualizations, each meaningful for different situations. The usefulness of the approach and its implementation was evaluated, using four usage scenarios. Finally, interesting directions for future work have been presented and discussed.

You may read our report here.

Extended Todos

During a course at the university (Human Aspects of Software Engineering, by Prof. Thomas Fritz), Claudio Anliker and I got the chance to develop a small application to help the developer in his daily tasks. Our result is a Visual Studio add-in that extends the representation and management of task annotations (=todos):

 

It is common practice that developers use task annotations in their code to improve its readability and the communication between team-members. Their fast creation makes them easy to forget, as there is usually no connection to a planning tool and only a limited view to manage them available. We introduce a new approach by connecting task annotations with an agile planning tool, improving their rep- resentation by adding contextual information and extending their default view. This approach aims to extend the very limited possibilities present in current modern IDEs such as Visual Studio, but also to keep the lightweight characteristics. An operability study and a small-scale evaluation shows the approach’s great potential, despite its prototype nature and many possibilities and ideas for future work.

 

You may read our report here.

New project in the pipeline

It has been quiet in the last couple of months in terms of app releases or updates. This is not because I suddenly got lazy, but because we are working on a big, awesome (and secret) app project. I don’t have a lot to share at this point (I will definitely do this at a later stage), but I can reveal that it will be a cross-platform app powered by Windows Azure and developed by MIT Public Cloud Services GmbH. Moreover, I am studying and working at the University of Zurich, where I am working on several stunning projects, using the latest technologies & tools: Windows Azure, Asp.Net MVC, Visual Studio Addin Development, Team Foundation Server (API) – to name just a few. It’s a lot of fun & I learn a lot!

Programmer, Interrupted

I am still working on quantifying a developers productivity and providing him with a meaningful retrospective analysis. I’ll have more to share about this in the future. Just a small blog post by Chris Parnin that I find very worth to read: http://blog.ninlabs.com/2013/01/programmer-interrupted/

An insect-like, crash-happy flying robot by EPFL

This robot autonomously flew through a forest!

 

 

TouchMountain video made by Nokia

Nokia just released the video we made at the Mobile World Congress 2013 featuring TouchMountain, the cooperation with Nokia and Augmented Reality in general. You can find more information at Nokia Developer.

 

«Es war spannend, herauszufinden, wie viel man mit einem Smartphone machen kann»

In der neusten Ausgabe der Netzwoche erkläre ich im Interview, warum wir die App für Windows Phone entwickelt haben und diskutiere die Herausforderungen bei der Entwicklung einer Augmented-Reality App. Interview: Marcel Urech, Netzwoche

 

Ausschnitt_Interview_Netzwoche_TouchMountain