The document discusses research into automatically generating work descriptions for software developers based on their interactions and artifacts. The researchers analyzed informal notes and comments from several projects involving over 1,000 developers total. They found that work descriptions contain common semantic elements like activities, artifacts, and problems. Descriptions also have predictable levels of detail. Based on these findings, the researchers believe heuristics and shared semantics can be used to automatically annotate developers' contexts and generate work descriptions.
Tool support for reflection in the workplace in the context of reflective lea...birgitkr
The presentation shows how a model of Computer Supported Reflective Learning (CSRL) can be applied to a case of reflective learning in the workplace, aiding analysis and design.
Semantics (requirements) of Business ProcessAng Chen
Discuss the semantics requirements of business process, mainly for the modeling of control-flow, dataflow, and transaction in business process modeling
How Do Developers Blog? An Exploratory StudyDennis Pagano
We report on an exploratory study, which aims at understanding how software developers use social media compared to conventional development infrastructures. We analyzed the blogging and the committing behavior of 1,100 developers in four large open source communities. We observed that these communities intensively use blogs with one new entry about every 8 hours. A blog entry includes 14 times more words than a commit message. When analyzing the content of the blogs, we found that most popular topics rep- resent high-level concepts such as functional requirements and domain concepts. Source code related topics are covered in less than 15% of the posts. Our results also show that developers are more likely to blog after corrective engineering and management activities than after forward engineering and re-engineering activities. Our findings call for a hypothesis-driven research to further understand the role of social media in software engineering and integrate it into development processes and tools.
Tool support for reflection in the workplace in the context of reflective lea...birgitkr
The presentation shows how a model of Computer Supported Reflective Learning (CSRL) can be applied to a case of reflective learning in the workplace, aiding analysis and design.
Semantics (requirements) of Business ProcessAng Chen
Discuss the semantics requirements of business process, mainly for the modeling of control-flow, dataflow, and transaction in business process modeling
How Do Developers Blog? An Exploratory StudyDennis Pagano
We report on an exploratory study, which aims at understanding how software developers use social media compared to conventional development infrastructures. We analyzed the blogging and the committing behavior of 1,100 developers in four large open source communities. We observed that these communities intensively use blogs with one new entry about every 8 hours. A blog entry includes 14 times more words than a commit message. When analyzing the content of the blogs, we found that most popular topics rep- resent high-level concepts such as functional requirements and domain concepts. Source code related topics are covered in less than 15% of the posts. Our results also show that developers are more likely to blog after corrective engineering and management activities than after forward engineering and re-engineering activities. Our findings call for a hypothesis-driven research to further understand the role of social media in software engineering and integrate it into development processes and tools.
Presentation of New Worlds of Work Research project to MIT Sloan School of Management Center for Information Systems Research (CISR), 1 July 2009, Cambridge (USA).
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...Walid Maalej
Abstract Recent empirical studies show that software engineers use 5 tools and 14 artifacts on average for a single task. As development work is frequently interrupted and several simultaneous tasks are performed in parallel, engineers need to switch many times between these tools and artifacts. A lot of time gets wasted in repeatedly locating, reopening or selecting the right artifacts needed next. To address this problem we introduce Switch!, a context-aware artifact recommendation and switching tool. Switch! assists engineers in switching artifacts based on the type of the development task and the interaction history.
My Empirikom 2012 presentation in Aachen, Germany. I discuss my work with analytical constructs (genre ecologies, activity systems, activity networks), illustrating them with a case and showing how they might point to better understandings of computer-mediated communication in professional environments.
The new Microsoft building in the Netherlands is seen as a flagship example of how Microsoft is creating the next generation workplace for its employees. What are the characteristics of best workplaces? What are the lessons learned?
Team Foundation Server Process Templates For Effective Project ManagementAaron Bjork
An introduction to process templates, an overview of the Microsoft Process Template, and new process template features shipping in Team Foundation Server 2010.
Imran Sarwar Bajwa, [2010], "Markov Logics Based Automated Business Requirements Analysis", in International Journal of Computer and Electrical Engineering (IJCEE) 2(3) pp:481-485, June 2010
How Can Software Engineering Support AIWalid Maalej
Flipping the Coin: How can Software & Requirements Engineering Support AI?
During the last decade, the Software Engineering and Requirements Engineering communities have profited much from advances in Machine Learning and in Natural language Processing. Recommender systems, prediction models, and even Bots are nowadays available to support many software and requirements engineering tasks: including quality assurance, documentation, or even code generation and completion.
This talk will focus on the opposite direction. I will discuss recent challenges faced by the Machine Learning/ NLP/ Data Science community and whether/how traditional as well as modern Software and Requirements Engineering can help solve some of them: in order to increase the applicability, acceptance, and reliability of Machine Learning based systems.
Walid Maalej is a professor for informatics and chair for applied software technology at the University of Hamburg, Germany. Currently he is also the Head of the Informatics Department and a member of the Board of Directors of the tech transfer institute HITeC e.V. His main research interests includes human- and data-centered software engineering, requirements engineering, feedback systems, applied machine learning, as well as tech transfer.
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...Walid Maalej
App stores allow users to submit feedback for downloaded apps in form of star ratings and text reviews. Recent studies analyzed this feedback and found that it includes information useful for app developers, such as user requirements, ideas for improvements, user sentiments about specific features, and descriptions of experiences with these features. However, for many apps, the amount of reviews is too large to be processed manually and their quality varies largely. The star ratings are given to the whole app and developers do not have a mean to analyze the feedback for the single features. In this paper we propose an automated approach that helps developers filter, aggregate, and analyze user reviews. We use natural language processing techniques to identify fine-grained app features in the reviews. We then extract the user sentiments about the identified features and give them a general score across all reviews. Finally, we use topic modeling techniques to group fine- grained features into more meaningful high-level features. We evaluated our approach with 7 apps from the Apple App Store and Google Play Store and compared its results with a manually, peer-conducted analysis of the reviews. On average, our approach has a precision of 0.59 and a recall of 0.51. The extracted features were coherent and relevant to requirements evolution tasks. Our approach can help app developers to systematically analyze user opinions about single features and filter irrelevant reviews.
Presentation of New Worlds of Work Research project to MIT Sloan School of Management Center for Information Systems Research (CISR), 1 July 2009, Cambridge (USA).
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...Walid Maalej
Abstract Recent empirical studies show that software engineers use 5 tools and 14 artifacts on average for a single task. As development work is frequently interrupted and several simultaneous tasks are performed in parallel, engineers need to switch many times between these tools and artifacts. A lot of time gets wasted in repeatedly locating, reopening or selecting the right artifacts needed next. To address this problem we introduce Switch!, a context-aware artifact recommendation and switching tool. Switch! assists engineers in switching artifacts based on the type of the development task and the interaction history.
My Empirikom 2012 presentation in Aachen, Germany. I discuss my work with analytical constructs (genre ecologies, activity systems, activity networks), illustrating them with a case and showing how they might point to better understandings of computer-mediated communication in professional environments.
The new Microsoft building in the Netherlands is seen as a flagship example of how Microsoft is creating the next generation workplace for its employees. What are the characteristics of best workplaces? What are the lessons learned?
Team Foundation Server Process Templates For Effective Project ManagementAaron Bjork
An introduction to process templates, an overview of the Microsoft Process Template, and new process template features shipping in Team Foundation Server 2010.
Imran Sarwar Bajwa, [2010], "Markov Logics Based Automated Business Requirements Analysis", in International Journal of Computer and Electrical Engineering (IJCEE) 2(3) pp:481-485, June 2010
How Can Software Engineering Support AIWalid Maalej
Flipping the Coin: How can Software & Requirements Engineering Support AI?
During the last decade, the Software Engineering and Requirements Engineering communities have profited much from advances in Machine Learning and in Natural language Processing. Recommender systems, prediction models, and even Bots are nowadays available to support many software and requirements engineering tasks: including quality assurance, documentation, or even code generation and completion.
This talk will focus on the opposite direction. I will discuss recent challenges faced by the Machine Learning/ NLP/ Data Science community and whether/how traditional as well as modern Software and Requirements Engineering can help solve some of them: in order to increase the applicability, acceptance, and reliability of Machine Learning based systems.
Walid Maalej is a professor for informatics and chair for applied software technology at the University of Hamburg, Germany. Currently he is also the Head of the Informatics Department and a member of the Board of Directors of the tech transfer institute HITeC e.V. His main research interests includes human- and data-centered software engineering, requirements engineering, feedback systems, applied machine learning, as well as tech transfer.
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...Walid Maalej
App stores allow users to submit feedback for downloaded apps in form of star ratings and text reviews. Recent studies analyzed this feedback and found that it includes information useful for app developers, such as user requirements, ideas for improvements, user sentiments about specific features, and descriptions of experiences with these features. However, for many apps, the amount of reviews is too large to be processed manually and their quality varies largely. The star ratings are given to the whole app and developers do not have a mean to analyze the feedback for the single features. In this paper we propose an automated approach that helps developers filter, aggregate, and analyze user reviews. We use natural language processing techniques to identify fine-grained app features in the reviews. We then extract the user sentiments about the identified features and give them a general score across all reviews. Finally, we use topic modeling techniques to group fine- grained features into more meaningful high-level features. We evaluated our approach with 7 apps from the Apple App Store and Google Play Store and compared its results with a manually, peer-conducted analysis of the reviews. On average, our approach has a precision of 0.59 and a recall of 0.51. The extracted features were coherent and relevant to requirements evolution tasks. Our approach can help app developers to systematically analyze user opinions about single features and filter irrelevant reviews.
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)Walid Maalej
Business rules represent constraints in a domain, which need to be taken into account either during the development or the usage of a system. Motivated by the knowledge reuse potentials when developing systems within the same domain, we studied business rules in a large software company. We interviewed 11 experienced practitioners on how they understand, capture, and use business rules. We also studied the role of business rules in requirements engineering in the host organization. We found that practitioners have a very broad perception for this term, ranging from flows of business processes to directives for calling external system interfaces. We identified 27 types of rules, which are typically captured as a free text in requirements documents and other project documentation. Practitioners stated the need to capture this tacit form of domain knowledge and to trace it to other artifacts as it impacts all activities in a software engineering project. We distill our results in 17 findings and discuss the implications for researchers and practitioners.
How Does a Typical Tutorial for Mobile Development look like? - A research paper presented at the 2014 International Conference on Mining Software Repositories. Paper preprint available here: http://mobis.informatik.uni-hamburg.de/research/publications
Conventional software engineering processes are rather transactional and lack a common theory for the involvement of users and their communities. Users are regarded as pure consumers, who are, at most, able to report issues. In the age of easy knowledge access and social media, discounting the users of software might threaten its success. Potentially valuable experiences and volunteered resources get lost. Frustrated users might even meet in social communities to argue against the software and harm its reputation.
The goal of this research is to revolutionize the role of users, dissolving the boundaries to software engineers. We propose a novel framework for increasing the software socialness, being the degree of user and community involvement in the software lifecycle. Our framework consists of a benchmark, a process, and a reference architecture. The benchmark includes metrics for assessing and monitoring software socialness. The process enables engineering teams to systematically gather and exploit user feedback in the software lifecycle. The context aware reference architecture integrates social media into software systems and the engineering infrastructure. It observes users’ interactions while they use the software and proactively collects in situ feedback.
(paper
Context aware software engineering and maintenance: the FastFix approachWalid Maalej
Context consists of all events which can be observed or interpreted. In knowledge work it includes the actions of the user, the reaction of the applications, and the artifacts concerned. In this talk, we introduce the FastFix approach to context-awareness in software engineering and maintenance. We show how context enables remote software maintenance, as well as a systematic involvement of end users in software evolution. We also discuss other applications of context including personal productivity management and knowledge sharing amongst developers. The main research challenges include the modeling, sensing, sessionization, aggregation, and comparison of context, as well as the protection of the user's privacy.
03 How to Keep Domain Requirements Models Reasonably Sized
Can Development Work Describe Itself?
1. MSR’2010, Cape Town,
South Africa, Mai 2010
Can Development Work
Describe Itself?
Walid Maalej, Technische Universität München
Hans‐Jörg Happel, FZI Research Center Karlsruhe