Category: Research (page 3 of 4)

Criteria for Selecting a Site for Building a Sustainable Data Center

In the fall semester 2014 I participated in a course at UZH where we learnt more about sustainability in the information technology environment. Part of the course was to write a short fact sheet discussing a selected topic.

My fact sheet consisted of a short summary of criteria one needs to take into consideration when selecting a suitable site for building a sustainable cloud data center. Click here if you want to have a very short and concise summary of the topic.

Survey: The Role of Music During Your Software Engineering Work

In some domains, studies have shown that music can improve the productivity of workers for some tasks. We invite you to participate in our survey about the role music plays during your software engineering work. Your answers will help us to find out more on how to improve developer productivity.

Read more →

A pre-print of “Software Developers’ Perceptions of Productivity” for FSE’14 is available! [Paper]

We just published a pre-print of our paper “Software Developers’ Perceptions of Productivity” for FSE’14, the 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2014). The paper was written by Thomas Fritz, Gail C. Murphy, Thomas Zimmermann and me.

Read more →

Personal Analytics – Two Studies on Software Developers’ Perceptions of Productivity [Thesis]

I am happy to announce, that I just finished and submitted my master thesis. In the past five months, I’ve intensively worked on this project, got amazing opportunities (e.g., research trip to Vancouver and Redmond), could talk to numerous people about my work, and learnt a ton. Thanks to everyone for their help!

Abstract

The better the software development community becomes at creating software, the more software the world seems to demand. One way to address the gap between software demand and supply is to try to increase the supply, by optimizing the productivity of software developers. 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 the survey we found that software 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 software developers in a retrospection and improvement of their productivity through the development of new tools and the sharing of best practices. Based on the finding that there might not be a single and/or simple measurement for a software developer’s productivity, we discuss a new idea to provide a software developer with a meaningful retrospective analysis of his workday and workweek and its possible impact on a developer’s productivity.

Download

You may download the thesis here. Here you find the post relating to our paper on Thomas Zimmermann’s website. Thank you!

My first paper “Software Developers’ Perceptions of Productivity” has been accepted for FSE 14 [Paper]

I am very excited to announce that my very first paper “Software Developers’ Perceptions of Productivity” has been accepted for 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE 2014), which will be held in Hong Kong, China. The paper was co-written with Thomas Fritz, Gail C. Murphy and Thomas Zimmermann. It was an amazing experience and I learnt a lot.

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.

Download

You may find the final version here. You can find the survey and interview questions and the visualization of the observational data here. Please contact me if you have any questions.

Information Fragments – SEAL & Adesso Innovation Snack

Innovation Snacks are technology talks about research and development activities, technologies, and tools. It is a joint event series of s.e.a.l. and adesso, in which researchers and practitioners meet for breakfast and technical talks about the current state and future of software engineering. Today, my colleagues (Florian Stucki & Philipp Nützi) and I had the chance to present our information fragments tool, a prototype we developed in the past semester (HS13). The idea of the tool is that it aggregates data from various project data sources (from code, to work items, to people information) and visualizes the combination of the data to answer different stakeholders’ (developers, testers, managers, customers) questions in an intuitive web interface by visualizing the data in various ways. The tool can easily be extended with any other repository (that offers its data via web service), such as requirements, use cases, etc. For more information, please refer to the files here.

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/

Survey: Personal Analytics

Dear reader,

 

Are there days when your development work goes well and days when you just cannot seem to get anything done? We invite you to participate in our survey about your development work and how you track and improve it. Our aim is to create tools to help you better reflect and improve on your development work.

 

The following survey will take you about 15 minutes of your time. With your participation you get the chance to enter our lottery to win one of two Amazon gift certificates with a value of $200 each.

 

We will keep your survey responses anonymous. We will NOT attribute answers to any particular participant. At the end of the survey, you are asked to insert your mail address voluntarily to contact you in case you want to participate in the lottery and/or in case you want us to email you the survey results.

 

We would greatly appreciate your participation!

 

You find the survey here: bit.ly/PersonalAnalytics

 

Prof. Thomas Fritz and André Meyer (University of Zurich)

 

PS: You may find our survey also in the media: PocketPc.ch and Heise Developer.

PhD student @SEAL

Starting in fall 2015, I got the big chance to work with Prof. Thomas Fritz (from the  S.E.A.L. group at the University of Zurich) as a PhD student. We want to find out if we can provide a meaningful analysis on a developer’s productivity.

Happy Coder – Personal Analytics

Abstract

Recent advances in small inexpensive sensors, cheaper storage, and low-power processing cause an increasing popularity of trackers that quantify a user’s activities throughout his everyday life. The Fitbit and the Nike+ Fuelband are two examples of commercial approaches that motivate a user to be more active by tracking his activity and visualizing the analyzed data. In the area of software engineering there are similar tools to support a developer in a single domain of his work, such as planning tools or bug repositories. Only little research has been performed on how to integrate the available data and how to focus on providing a retrospection of a developer’s work day.In order to contribute to overcome this shortcoming we introduce a tool, Happy Coder that provides developers with a retrospective analysis of their work day, by tracking predefined metrics and visualizing them on a web client. This includes a front-end with consolidated data analysis, visualizations and representations of the collected data. Two studies revealed that developers assess their productivity based on a personal evaluation of their work day. This assessment is dominated by personal preferences of different metrics like work items, meetings, web searches or activities on the computer. In this talk, we present related work, interesting findings of our studies and Happy Coder.

The growing globalization attracts many enterprises to distribute their software development. Aside multiple risks and problems, there are a variety of advantages; e.g. saving time and money, finding the right people and working at the customers place. In this paper, the motivation for the development of software in a scattered environment is summarized. Furthermore, challenges such as cultural and communication problems, time-zone differences, management issues, language barriers, etc. are addressed together with selected solutions to avoid the collapse or delay of projects.

 

Author’s comment

I’m happy to tell you, that I just finished my bachelor thesis. It was an extremely intresting experience and I learnt a lot. I want to thank everyone for their help. I now got the chance to further work on this project at the S.E.A.L. group 🙂
You may find more information here.

 

Download

You may download the paper here. Thank you!