experiences from human-centric software engineering · pdf file · 2013-07-20•...
TRANSCRIPT
![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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/2.jpg)
‣ 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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/5.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/28.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/29.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/30.jpg)
!
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/31.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/32.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/33.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/34.jpg)
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](https://reader031.vdocuments.net/reader031/viewer/2022030502/5aae7fd07f8b9a25088c57cf/html5/thumbnails/35.jpg)
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