Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20•...

36
Experiences from Human-Centric Software Engineering Research Muhammad Ali Babar Lancaster University, UK & IT University of Copenhagen

Transcript of Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20•...

Page 1: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Experiences from Human-Centric Software Engineering Research

Muhammad Ali Babar Lancaster University, UK & IT University of Copenhagen

Page 2: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

‣  Human-Centric software engineering (SE) research

‣  Empirical research in SE

‣  Examples of our efforts

‣  Structures of global software development (GSD) teams

‣  An infrastructure for supporting ABC for GSD (ABC4GSD)

‣  Leveraging cloud computing for GSD

‣  Concluding remarks

Outline of the Talk

Page 3: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Background Brief

M. Ali Babar Reader in Software Engineering Lancaster University, UK Other work engagements: ITU, CPH: Dec. 2009 … Lero, Ireland: 2007 – 2009 NICTA, Australia: 2003 – 2007 JRCASE, Macquarie University: 2001 – 2003 Various industrial roles in IT: Prior to 2001 Research in software architecture, Service Orientation, Cloud Computing, and Software Development Paradigm http://malibabar.wordpress.com

Page 4: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Key Motivators ‣  Software engineering is a human-intensive activity but most of

the research is artifact-centric

‣  Human-centric software engineering research

‣  Empirically understanding and supporting humans’ interactions with artifacts and with each other for SE

‣  Enabling humans to work with artifact-centric research

‣  Empirically directing the development and/or assessment of methods, techniques, and tools from human-centric perspective

‣  Improving support for empirical SE research

Page 5: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Empirical Research in SE ‣  Empiricism

‣  Generally being regarded at the heart of the modern scientific methods – theories should be based on our observations of the world rather than on intuition or faith

‣  Empirical SE

‣  The scientific use of quantitative and qualitative data to understand and improve software product and software development process (Vic Basili)

‣  Data is central element to address any research question

‣  Issues related to the validity form the core

‣  Status of Empirical Software Engineering

‣  1.9% Controlled experiments in 5453 articles (1993 – 2002)

‣  1.8% Empirical studies on Agile approaches in 1,996 articles

‣  Application of Activity Theory

‣  Leveraging Cloud Computing

Page 6: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Why isn’t Much Empirical Research in SE? ‣  Getting data from SE projects is hard

‣  Involvement of people, who are hardly available or expensive

‣  Large undertaking in complex organizational settings

‣  Research needs to be cost-justified & timely

‣  Non-standardized and rapidly changing technologies

‣  Seeking resources can be harder compared to other areas

‣  Needs skills and good understanding of several disciplines, e.g., statistics, sociology, psychology etc.

Page 7: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Examples of Our Efforts ‣  Sources of our inspiration

‣  Lack of understanding of structures for improving the quality of human, processes, and products!

‣  Addressing the limitations of existing tools and processes!

‣  Provision of tools more effectively and efficiently!

‣  Areas of exploration

‣  Theories of coordination and affordances

‣  Leveraging Activity Based Computing (ABC) and Cloud Computing

Page 8: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Global Software Engineering

Page 9: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Extended Team Model (ETM)

How the Work, Communication and Social structures look like?

Work structure

•  Dynamicity •  Interdependent Tasks •  Formal hierarchies but tolerance for informality

Communication structure

•  Frequent and Flat pattern •  Use of divers media •  Communication facilitator

Social Structure

•  Cooperative culture •  Leveraging existing social ties •  Individual-driven socialization

Page 10: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Social Structures and Collaboration

Social supportive mechanisms

Company-Level

•  Introducing Equality Model

•  Nurturing Collegial Behavior

•  Encouraging Information seeking and sharing

•  Minimizing hierarchical hurdles

•  Defining Facilitator Role

Team-Level

•  Dynamic role selection

•  Fair task allocation

•  Ad-hoc P2P communication but keeping managers informed

•  Scheduled team updates (e.g. daily progress report, customized scrum meetings)

•  Communication with end-user over Bug tracking system

•  Frequent iteration and delivery

Individual-Level

•  Socialization and sharing cultural trainings

•  Informal knowledge sharing

Page 11: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Structures of ETM and GSD challenges

Page 12: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Providing Tooling Support

Page 13: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Knowing the Current Landscape

160

ACM

480

IEEE

246

Springer Link

122

Science Direct

950

InterScience

1958

182

Data extraction

Protocol definition and assessmentsep.2011

Pilot searchessep.2011

sep.2011

sep.2011

oct.2011

Time

Duplicates

1328Tiltes

744Abstract

459Full text

228

oct.2012

[PS134]183

Data extraction

Page 14: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Tools

Page 15: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Activity-Based Computing

“The basic idea is simple. Make it possible to have all the material needed for an activity ready at hand, available with little or no mental overhead.”

[D. Norman, 1999]

Bardram, J. E. (2009). Activity-based computing for medical work in hospitals. ACM Transactions on Computer-Human Interaction (TOCHI), 16(2), 1–36. doi:http://doi.acm.org/10.1145/1534903.1534907

“Instead of seeing support for collaboration as an external application, the ABC framework integrates support for collaboration as a basic feature.”

[J.E. Bardram, 2009]

Page 16: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Activity Theory

Page 17: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

ABC - Principles ‣  Activity is the core of the metaphor; an entity that collects all

the information needed for an activity

‣  Activity suspension and resumption - switching between different activities

‣  Activity roaming for providing a persistent model of the activities to enable them resume any where

‣  Activity sharing among users

‣  Activity adaptation to different devices based on the available resources

‣  Context-awareness to enable an activity adapt and adjust according to the context

‣  Activity Roaming

‣  Activity Awareness

Page 18: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Application of Activity Theory

A. Analysis

A. Design

A. Synthesis A. Evaluation

Activity

Action

Operation Plan AE ...Prepare and

manage results

B

A. EvaluationActivity

Action

Operation

Plan AE ...Prepare and

manage results

Interpret artifacts

Prepare reports

Presentresults

A. Design

A. Evaluation

D

Software architecture design framework

Context rules, e.g., organizational,

ethical, ...

Project manager, evaluation manager,

architect, ...

Collective knowledge

Stakeholders, organization staff

Capabilities. experience, and

competences

Software architecture

design

A

Software architecture evaluation framework

Context rules, e.g., organizational,

ethical, ...

Evaluation managerCandidate

architecture

Stakeholders, project manager, evaluation

manager, evaluation team, …

Capabilities. experience, and

competences

Validated architecture

C

Presentation tool

Context rules, e.g., organizational,

ethical, ...

Presenter Presentation

Evaluation team, sponsor, ...

Capabilities. experience, and

competences

Deliver presentation

E

Page 19: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Identifying Requirements

Page 20: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

ABC4GSD Infrastructure

Asset

ArtifactApplication

User

Ecology

Activity

RelationshipInfo

Property

**

*1

1

*

**

Legend:

Aggregation

Entity

AssociationAssociation class

InheritanceComposition

Serverworkstation

Clientworkstation

App.1 [Python]

Server

Middleware

Queue

Forwarder

MasterClient

AppInterface [Python]

...

EclipsePlatform

Main server component Logger

Persistency Layer

Logger

App.1[Java]

AppInterface [Java]

...Plug-in.1

AppInterface Plug-in ...

ZeroMQ TCP sockets

ZeroMQ communication

channels

Page 21: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Interface of ABC4GSD

ContactView B

Latest opened resource

ActivityView A

Resource opened through the needs mechanism

ArtifactView C

Automatically hiding notification mechanism

DE

Subclipse delegation

Examples of subscription mechanism

Page 22: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Another View

Activity participants

Contact View plug-in B

Latest opened resource

Activity View plug-in A

Resource opened through the needs mechanism

Artifact View plug-in C

Automatically hiding notification mechanism

D

E

Page 23: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Experimental Development

Page 24: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Leveraging Cloud Computing for GSE

Page 25: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Why Cloud Computing Matters for GSE? ‣  Cloud computing has huge potential for GSE

‣  Testing as a Service (TaaS)

‣  Stress testing with cloud infrastructure

‣  Enabling offshore testing of application for sensitive data

‣  Collaborative environment in Clouds

‣  Just-in-Time (JIT) tool composition

‣  Processes, tools & context aligned

Source: http://aws.amazon.com/solutions/case-studies/8kmiles/

Page 26: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

NexGen Infrastructure for GSE ‣  Context

‣  Providing supportive technologies to GSE teams

‣  Challenges

‣  Dozens of different tools used without easy integration

‣  Misalignment between tools, processes, and culture

‣  No Just-In-Time (JIT) composition as a service

‣  Proposed solution

‣  Cloud-based infrastructure for Tools as a Service (TaaS)

Page 27: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Some of the Advantages of TaaS for GSE

!

Page 28: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Requirements & Potential Solutions 1/2 ‣  Support for multiple organizations & teams

‣  Multi-tenancy for providing isolation between multiple services and multiple projects….

‣  Privacy and security handling services

‣  Tools versioning and bundling

‣  Version management for maintaining partitioning between different versions of tools & combining them as a tool suite

‣  Integration with commercially available tools

‣  Platform neutral APIs and compatible data structures

‣  Tools working with private data and artefacts

‣  Workflow like distributable data processing services

Page 29: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Requirements & Potential Solutions 2/2 ‣  Support for multiple types of persistence methods

‣  Design & exploit a multi-tenancy database driver

‣  Accessibility from multiple types of devices

‣  Dynamic distribution of processing load on devices & clouds

‣  Hooks for implementing or inter-changing with services for defining & selecting optimal configuration strategy for tools

‣  Transform responses to formats recognizable by clients

‣  Compliance with service level agreement (SLA) – QoS

‣  Specify machine readable & dynamically changeable SLAs

‣  Continuous monitoring & dynamic execution of service according to SLA specification (e.g., scalability rules / elasticity algorithms)

Page 30: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

!

An Overview of a Reference Architecture

Page 31: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Supporting Migration to Could Computing ‣  Methods, processes, and tools are required

‣  Experimentally developing and assessing process support

‣  A case of migrating a software metrics system - Hackystat

‣  Supporting large number of organizations for process and product metrics in GSE

‣  Requires elastic computing and storage resources

‣  SaaS on IaaS (Amazon) or SaaS on PaaS (Goolge)

Supporting multiple stakeholders

Page 32: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Architectural Views of Hackystat in Cloud

Page 33: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

A Generic Migration Process

Page 34: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Concluding Remarks! ‣  Human-Centric SE research is very important to improve

the quality of SE processes and products

‣  Empirical SE provides scientifically valid approaches to systematically gather and use evidence for that purpose

‣  Interdisciplinary collaboration plays important role

‣  Consumes extensive human, physical, and material resources whose utilization needs careful thinking

‣  Interest in people is vital

‣  Appreciation isn’t wide spread yet, but increasing rapidly

‣  More solid theoretical foundation of applying ABC for building SE tools in general and GSE tools in particular

‣  Further refinement of architectural design and features, e.g., cloud-enabled infrastructure

‣  Empirical evidence for viability and potential benefits

‣  Imminent need for process and tool support for migration and/or upgrade of applications and tools

Page 35: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Acknowledgements

‣  Structures in GSE research is part of Mansooreh Zahedi’s PhD

‣  ABC4GSD work is being performed with Paolo Tell

‣  TaaS work is being performed with Aufeef Chauhan

‣  Several academic and industrial colleagues have provided useful inputs and feedbacks

Page 36: Experiences from Human-Centric Software Engineering · PDF file · 2013-07-20• Introducing Equality Model ... • Ad-hoc P2P communication but ... daily progress report, customized

Thank You!

Questions M. Ali Babar [email protected] malibabar.wordpress.com