Challenges in Software Engineering for Collaborative
Download
Report
Transcript Challenges in Software Engineering for Collaborative
Challenges in
Software Engineering for
Collaborative Development
Thomas Marlowe (Seton Hall)
Vassilka Kirova (Alcatel-Lucent)
Mojgan Mohtashami (Advanced Infrastructure Design)
Outline
Why cooperative development?
Motivation, properties, forms
A long list of challenges – many open questions
Process
Information
System organization
Technology
Management and legal
Organization A
Organizational
Background
Contingency
Processes
Information
Technology
Inter-organizational
Communication
Effectiveness
Organizational
Background
Contingency
Processes
Software
Development
Performance
Information
Technology
A short list of mitigations
Endless opportunities for innovation and research
7/21/2015
Organization B
Seton Hall University
Software Engineering Disciplines
Requirements Elicitation
Specification and Analysis
Design
Implementation
Testing and Validation
Maintenance and Evolution
Process Evolution
7/21/2015
Seton Hall University
Traditional Software Engineering
Disciplines
are phases
Limited feedback
“Requirements complete at start of project”
“Testing can wait until after
implementation”
7/21/2015
Seton Hall University
Agile OO Software Engineering
Disciplines are work areas
Disciplines exercised concurrently during
development
Obviously, more requirements at start; more evolution
at end; and so on
Testing must start early
Requirements never complete or completely
understood but change
Development must follow changes
Evolution is critical
7/21/2015
Seton Hall University
Some Prior Findings
Iterative, continuous communication improves
collaboration and decision making
Large, complex, long-lived, or high uncertainty
projects benefit from dynamic management and
good quality communication
Emphasis on information and knowledge exchange
is the key to collaborative success
Traditional software development practices
negatively affect collaboration
Mojgan Mohtashami - AID, INC.
IRMA May 22
8
THE CHALLENGE
7/21/2015
Seton Hall University
Software Industry Challenges
Costs
Up
Revenues
Down
Intervals
Shrinking
Market
Expectations
Up
Complexity
Up
Stockholders : ROI
Customers: Value
Users : Functionality & Quality
Need solutions that are
flexible, expansible, survivable,
sustainable, affordable and secure
7/21/2015
Seton Hall University
Four Styles of Development
Traditional
Single organization, few teams, coordinated
Open
Source
High parallelism, low coordination & control
Contractual
Vendors, subcontractors, services, …
Collaborative
Multiple organizations, negotiated partition
7/21/2015
Seton Hall University
Motivation
Software Development is Risky
75%
of standalone software development
projects fail
Full collaboration increases resources
But also increases complexity and risk
Without attention to collaborative process,
failure rate is almost certainly higher
7/21/2015
Seton Hall University
Models
Traditional,
single-organizational
Dominant style for small and medium projects
Problems for large and complex projects
• Expertise, staffing, resources, economy, …
7/21/2015
Seton Hall University
Models
Open
source
Important source for low-security projects,
components and tools
Management and intellectual property issues
Contractual
model
Uses expertise, resources, … of others
Limited flexibility after early decisions
Fits traditional software engineering model
7/21/2015
Seton Hall University
Models
Collaborative
model
Highly flexible, both for resources & design
Better fit to modern software engineering
Distributed, collaborative risk management
Success in restricted domains/environments
Lots of open questions
7/21/2015
Seton Hall University
What to do?
Iterative incremental development
Management contingency policies
Distributed development
Across teams, sites, and organizations
Distributed risk management
Collaborative development
International collaboration
7/21/2015
Seton Hall University
Cooperative-Collaborative
Development
Development
Large and complex systems
• Ultra-large Scale Systems (DoD, SEI)
Requiring multiple specialties
• Mix of skills, knowledge and expertise
• Multiple communities of experts
Specialized components, tools & libraries
Diversity of development models and participating
organizations
Software production as a socio-technical ecosystem
7/21/2015
Seton Hall University
Cooperative Development
Cooperative
development
Multiple teams working toward
a common product
Often at multiple sites
Frequently in different organizations
Domain
and application experts and
specialists—and reusable code base—
also widely distributed
7/21/2015
Seton Hall University
International Collaboration
New
Multiple perspectives and skill
sets—both managerial & technical
Time zones extend collaborative
work day
New
Benefits
Challenges
Conflicts in perspectives and skill sets
Time differences inhibit communication
Language and cultural differences matter
7/21/2015
Seton Hall University
Collaborative Development
Our Goal
Provide
a documented, standardized
structure
7/21/2015
A foundation for collaborative
process definition & alignment
A bridge to management buy-in
A basis for SQA for collaborative
systems
A plan for ongoing involvement
A checklist for possible risks and hazards
Seton Hall University
MODES OF COLLABORATIVE
SOFTWARE DEVELOPMENT
Cooperative Development
Inter-organizational
Collaborative Software
Development (ICSD)
Often international
• Management-inspired — outsourcing/offshoring
• Technically inspired — expertise matching
Less collaboration less satisfactory
Important
business, process, and project
characteristics
7/21/2015
Seton Hall University
ICSD
Business
Characteristics
Long or short-term alliances
Ventures with loosely defined relationships
with parent company
Distributed decentralized development and
management model
7/21/2015
Seton Hall University
ICSD
Process
Characteristics
Full-fledged integrated development, with
dynamic requirements and flexible design
Flexible component development
Development of modifiable, configurable tools
and libraries
7/21/2015
Seton Hall University
ICSD
Project
Characteristics
Long-lived projects or high innovation
Components with specific roles, but significant
dependences and interaction
Evolvable specification, not completely fixed
7/21/2015
Seton Hall University
Requirements for
Collaborative Software
Development
Overview
ICSD
requires
High bandwidth and high
diversity communication
Ongoing coordination
Emphasis on information and communication
Collaboration-aware risk management
Collaboration-aware management policies
7/21/2015
Seton Hall University
Examining the Challenges
and Requirements
Processes
and methods
Technology and infrastructure
Risk Management
Corporate Management
Customer Interaction
Legal
Metrics
Reflection—process flexibility & evolution
7/21/2015
Seton Hall University
Process Challenges
Need
to develop a modified process for
software development
Start with less common knowledge
Require more information sharing
Constrained by lower information bandwidth
• Both data volume and conceptual communication
• Face-to-face or even virtual face-to-face interaction
necessarily more limited
Constrained by cultural differences
7/21/2015
Seton Hall University
Process Challenges
Information
Sharing information
Relax need-to-know, information
hiding relative to requirements
Share high-level process and
design views
Provide support for design
decisions
Interacts with management and legal concerns
Be sensitive to cultural differences—what is the role
of personal information?
7/21/2015
Seton Hall University
Process Challenges
System Organization & Design
Architectures
Component structure
Adaptable, open architectures, aspects, services
Component boundaries and interaction mechanisms
Identify integration and end-to-end constraints
Support flexible interfaces
Levels of abstraction
Use higher-levels of abstraction in system definition
and design (e.g., model-driven development, domain
specific modeling languages)
7/21/2015
Seton Hall University
Technology Challenges
Integrated
(possibly virtual) development
environment or views
Coordinated tool support
and development
Common tools
where appropriate
Identify and extend
existing tools and techniques
“Not invented here” is also cultural
7/21/2015
Seton Hall University
Technology Challenges
Communication
Both
synchronous and
asynchronous channels
Improved multi-media
communication
Live Meeting support
including (e.g. LiveMeeting)
Collaborative
Environments
Co-authoring (e.g., ColabNet)
7/21/2015
Seton Hall University
Technology Challenges
Knowledge base
Support
for lore—a viable group memory
Shared project repositories
Documents, code, specification
and design artifacts, …
Multi-layer,
distributed
risk management archive
With language differences
Establish governing versions of text documents
Create usable translations where feasible
7/21/2015
Seton Hall University
Special Technical Challenges
Handling
innovation
Security
Real-time
applications
Active applications with
multiple active components
Process control, voting, robotics, …
Extensive
multi-lingual interfaces
Configurability over multiple components
7/21/2015
Seton Hall University
Risk Management
Uncertainty
+ loss
Steps in risk management
Identify and analyze
Plan how to recognize, handle
and recover
Try to avoid or prevent
Mitigate occurrences
Recover software process
Need communication and reflection
7/21/2015
Seton Hall University
Risk Management Challenges
New and Modified Risk Factors
Communication
Increased bandwidth
increases vulnerability
New modes and artifacts
require infrastructure
and understanding
Linguistic and cultural
differences complicate
specification and documentation
7/21/2015
Seton Hall University
Risk Management Challenges
New and Modified Risk Factors
Cultural
differences
Not just social and language
Institutional, site, and team culture
Work norms and at-work interactions
Interactions with
outside contacts
7/21/2015
Seton Hall University
Risk Management Challenges
New and Modified Risk Factors
Differences in processes and practices
Incompatible views of design, code, and data
• Leads to difficulties in integration
• Leads to misunderstandings
Impact of process and practices
on mental map,
and conversely
Sapir-Whorf —
also language
7/21/2015
Seton Hall University
Risk Management Challenges
New and Modified Risk Factors
Collaborative impact of problem
Increased risk (of course) at
component interfaces
Risk confinement and contagion
• Scope limited to single component or organization
• Effects primarily on interfaces or agreements
• Many components or partners affected
7/21/2015
Seton Hall University
Risk Management Challenges
New and Modified Risk Factors
Collaborative impact of problem
Trust—Problems can affect ongoing
relationships
• Current project
• Future collaboration
• Reputation and ability to form
new collaborations
Language and cultural differences exacerbate
May be redressable or recoverable
7/21/2015
Seton Hall University
Risk Management Challenges
Why is this a new challenge?
Cultural
differences
Lots of work on social and management
practices
• For example, American vs Japanese customs
Little attention to differences in technical or
technical management worldviews
Little attention to differences in work norms or
importance of work for technical staff
7/21/2015
Seton Hall University
Risk Management Challenges
New Criteria for Effective Collaboration
Level
of trust established
Cultural sensitivity
Collaborative communication
Effective interaction
Focus on quality of relationships
Technical support for communication
7/21/2015
Seton Hall University
Risk Management Challenges
New Criteria for Effective Collaboration
Aligned
management support
Responsibility for risk management
Responsibility for customer interaction
Responsibility for maintenance
Process for product evolution
Process for process evolution, including
updating RMMM plan
7/21/2015
Seton Hall University
Risk Management Challenges
Some specific issues
Glossary must account
for regional or cultural
differences in definitions of words
At least three facets of communication
Culture-neutral or culture-exempt technical
communication
Culture-sensitive personal communication at both
management and technical levels
Culture-aware documentation—both for development
and for customers + users
7/21/2015
Seton Hall University
Management Challenges
Management
Management buy-in is important and often
tricky
Need a process for resolving
disputes
• Arbitration—by whom? Where?
• Need a way to judge technical
merit in addition to legal rights
Needs to be seen as forging alliances, not as
weakness or revealing secrets
7/21/2015
Seton Hall University
Management Challenges
Management
metrics
Evaluation of cooperative
projects and staff
Cost-benefit needs to include
• Immediate benefits from collaboration
• Benefits from long-term relationships (encourage!)
Multiple alliances and conflicting loyalties
7/21/2015
Seton Hall University
Management Challenges
Management Contingency Policies
Management
planning ahead
Three major aspects
Response to external stimuli
Management of organizational behavior
Management of processes
7/21/2015
Seton Hall University
Management Challenges
Management Contingency Policies
Tensions in collaborative development
Need more clearly defined policies and practices
Need more flexible policies and practices
Need to detect changes and problems quickly and robustly
Need to coordinate responses, possibly delaying action
Need to promote information sharing
Need to protect intellectual property, privacy, security, & resources
7/21/2015
Seton Hall University
Management Challenges
Customer Interaction
Customer
interaction with multiple partners
Likely to blur responsibilities
Likely to confuse customer
Customer may provide conflicting information
Partners may have
conflicting interpretations
Most importantly, likely
to weary customer
Interact
in customer’s language & idiom
Need a policy for customer interaction
7/21/2015
Seton Hall University
Legal challenges
Intellectual
property rights—general
Application and tools
• Can you reuse your component?
• Can you use it in a competitor’s application?
Proprietary confidential information
• Library source code, proprietary tools, data, …
Test suites and case studies
• Performance of partner applications or process
Overlapping alliances and conflicts
7/21/2015
Seton Hall University
Legal Challenges
Intellectual
property rights
Right to publish and disseminate
• Revealing experimental results
Indirect intellectual property
• Insights developed in
collaborative process
• Process and practices
Whose
7/21/2015
law governs what?
Seton Hall University
Metrics Challenges
How
can one measure
Readiness of an institution or
work force for collaboration
Suitability of a product for
collaborative development
Success of an alliance
Success of a collaborative project
Success of a collaborative product
Uniform application of standards
Quality of collaborative support
7/21/2015
Seton Hall University
Reflection Challenges
Flexibility and Adaptability
Define
collaborative process so as to allow
flexibility for different
Domains
Application form and nature
• Behavior, constraints and lifetime
Modes of collaboration
7/21/2015
Seton Hall University
Reflection Challenges
Evolution
Provide
support for evolution
Technical structure
• What is needed?
• Where is change needed?
• What effect does it have on interfaces?
Management structure
• Who initiates?
• Who prioritizes modifications?
• Who commits new versions?
http://www.lifewithalacrity.com/ Evolution of Soc Soft
7/21/2015
Seton Hall University
Some approaches
General Principle
Hierarchical/layered
approach
Leave as much as
possible under local control
Modify as needed to address
collaborative concerns
Create flexible interfaces
Increase communication between organizations
Define a policy or structure for negotiation and
dispute resolution
Increase
cross-awareness of cultural and
organizational differences
7/21/2015
Seton Hall University
General Principle
Flexible
interfaces
Between components
Between organizations
Increased
communication
Increased bandwidth
• Technical, management, and interpersonal
• Diversity of artifacts
• Negotiation of changes
7/21/2015
Seton Hall University
Technical Infrastructure
Collaborative Development Environments
Open Source platforms (SourceForge)
SaaS (Software as a Service) –
can this be used?
Multi-layer, distributed SCM and
SCR
Application Lifecycle Management
codeBeamer, Polarion, Borland, etc.
TraceabilityWeb and Artifact Flow Through
Eclipse and Jazz
7/21/2015
Seton Hall University
FLEXIBLE INTERFACES
7/21/2015
Seton Hall University
Interface Layers
Physical
Protocols, storage, security
Design
& Implementation
Specification, architecture, UML, process
Information
Management
Change management, artifact flow
Knowledge
Management
Management Contingency Policy
Risk management, business environment
7/21/2015
Seton Hall University
Accommodating Change in
Development
Software
Architectures provide guided
decomposition of large projects
Traceability connects changes to
Original or changed requirements
Design decisions or tradeoffs
Agile
methods provide an approach for
graceful accommodation of change by
iterative specification, design, modification
7/21/2015
Seton Hall University
Managing Change
Benefit/Impact
level
Open,
scalable,
architecture
Agile
methods
Traceability
500 REQS
2,000 REQS
10,000 REQS
Small,
Large,
The
Change
Accommodation
Tool-Box
relatively
complex
simple
project
project
REQS - Requirements
7/21/2015
Seton Hall University
Managing Change
Traceability—the
Fits contractual mode best
But want to work with partially specified
requirements and highly dynamic applications
Full
problem
traceability
Documentation large and hard to access
Dependence web can be enormous
Updating dependences intricate and tricky
Automation
July 2 2008
can alleviate to large extent
WM-SCI 2008
73
Managing Change
Agile
methods—the problem
Communication bandwidth
Effort duplicated or at cross-purposes
Resulting inconsistent interfaces
Stresses dispute resolution mechanism
Stresses ongoing management buy-in & unity
Poor support for early, high-level modular
decomposition
Client cannot be involved everywhere
July 2 2008
WM-SCI 2008
74
Managing Change
Traceability
and agility still useful
Traceability provides rationale
Agility provides for flexibility & evolution
Have to be used selectively
Apply control and focus
Need
to combine with software
architecture techniques
Provide an overall strategy
July 2 2008
WM-SCI 2008
75
Interfaces and Managing Change
Three-level
strategy for interfaces
Kernel, defining interface semantics
Shell, with relaxed assumptions on
interface syntax, supported by
design patterns
• Exceptions, specialization, …
Auxiliary services, to communicate
bookkeeping and related information
between components
• History, links to services, workload, …
7/21/2015
Seton Hall University
Layered Architecture
Kernel
architecture
Core component behavior and extrafunctional properties
• Interface guarantee to other components
• Ordinary semantics and syntax fixed,
• Exception semantics extensible to respond to
newly found problems
Kernel interface alterable only in the most
extreme circumstances
May provide some flexibility, such as timing
7/21/2015
Seton Hall University
Layered Architecture
Shell
interface architecture
Actual call-return or message structure
Additional services that may be used in extending or
evolving component behavior
Fixed boundaries, negotiable details
7/21/2015
Seton Hall University
Layered Architecture
Shell interface architecture allows
Optimized or specialized calling patterns or asynchronous
messages
Wrapped sequences or selections of kernel calls
Leverage of implementation decisions in partners
Forwarding of calls/results from clients or to services
May also support
Support for optional extensions
Adaptation for changes in drivers and platforms
• May use different operator implementations
• May introduce different stresses & tradeoffs on memory,
performance, and integrity.
7/21/2015
Seton Hall University
Layered Architecture
Auxiliary
services and adaptive data
System, history, profiling, configuration, and
other information
Developed in one component
Not part of interface semantics
But usable by other components
• Data structure size and complexity
• Tuning performance
• Sharing resources
7/21/2015
Seton Hall University
Supporting Shell and Service
Flexibility
Design
Patterns
Adapter, Bridge, Façade, Mediator, Observer,
Decorator, Builder, …
Aspects
Instantiate and modify aspect
Specialize by defining more precise pointcuts
Add
calls or asynchronous messaging for
auxiliary services
7/21/2015
Seton Hall University
Examples
Forward identity of a service via Proxy
Shared data structure state information
Facilitates use of State or Strategy in advance of sequence of
calls to improve performance
History information
Remove the need for the component to find and connect to such
a service on its own
With Adapter, allows parallel or specialized components
Simpler to keep on the caller side
Dynamic specialization/optimization of component calls
Snapshots can be passed through use of Memento
Improve performance of shared databases/knowledge
bases with strategy and history using Observer
7/21/2015
Seton Hall University
RISK MANAGEMENT
7/21/2015
Seton Hall University
Risk management
A layered solution
1.
2.
3.
Modified internal RMMM plans
Shared inter-organizational plan
Structure for reporting,
mediation and resolution
7/21/2015
Seton Hall University
Risk management
Modified internal RMMM plans
Account for
Interface guarantees
Global or end-to-end constraints
Increased communication responsibilities
Collaborative risks
•
7/21/2015
Relationships, trust,
risk of contagion
Seton Hall University
Risk management
Modified internal RMMM plans
Enhance reporting structure
To notify partners
To communicate effects
on shared RMMM
Modify institutional practices and policies
7/21/2015
If endanger ongoing relationship
If seriously restrict communication
bandwidth or quality
Seton Hall University
Risk management
Modified internal RMMM plans
Report changes in
7/21/2015
Institutional practices and policies
Relevant national or local laws, statutes, and
regulations
Regional standards from professional or
industrial groups
Technical support environment for
development and for communication
Seton Hall University
Risk management
Shared inter-organizational plan
Address risks missed in local plans
Interface risks
Risks arising from global constraints
•
•
7/21/2015
Software risks more easily detected in integration
Communication and relationship risks relying on
reports from multiple partners
Risks to trust, cooperation, collaboration
Risks that will affect multiple partners in
different ways
Seton Hall University
Risk management
Shared inter-organizational plan
Be attentive to externally-introduced
discrepancies
7/21/2015
Conflicts arising from changes in laws,
statues, regulations, or standards
Problems arising from changes in
institutional practices
Seton Hall University
Risk management
Shared inter-organizational plan
Ensure
7/21/2015
Clear responsibility for customer contact and
policy for customer involvement
Clear process and practices for prioritizing
and assigning responsibilities for evolution
and maintenance
Clear plan for RMMM evolution
Seton Hall University
Risk management
Mediation and Resolution
Establish a structure for shared plan
Administration
Management policies and
practices
Evolution of shared plan
Establish a structure for
conflict resolution
7/21/2015
Procedure for internal resolution
External mediation or arbitration
Seton Hall University
Handling the Critical Risks
Communication
Technical communication
Assure proper IT support
Assure usability of tool-created artifacts
Check for cultural assumptions in
documentation, diagrams, figures, naming
Management coordination
7/21/2015
Assure regular communication
Create cultural awareness
Create work familiarity
Seton Hall University
Handling the Critical Risks
Communication
Interpersonal communication
Must be culturally sensitive
Must include technical staff,
not just management
Must be ongoing
Provide quality support for translation
7/21/2015
Handle cultural as well as language
differences
Seton Hall University
Handling the Critical Risks
Trust
Absence of trust responsible for 40-70%
of collaborative failures
Affects quality and effective bandwidth of
communication
Can compensate for deficiencies in IT
support and practice discrepancies
7/21/2015
Seton Hall University
Handling the Critical Risks
Culture
National, regional and language
Approaches to work and to learning
Interpersonal attitudes
•
•
7/21/2015
Superiors, elders, hosts and
guests, …
May not want to compromise
on race & gender
Language and idiom
Seton Hall University
Handling the Critical Risks
Culture
Professional and organizational
7/21/2015
Investment in education, knowledge, and
training
Work norms and expectations
Attitudes toward customers, contractors,
vendors, collaborators, clients, …
Seton Hall University
Handling the Critical Risks
Culture
Recommended steps
7/21/2015
Establish training and orientation programs
for cultural awareness
Examine organizational policies and
practices for inconsistencies
Seek to establish cross-organizational work
familiarity and shared mental models
Solicit input on communication quality and
problems
Seton Hall University
Parting Words
Collaboration
is increasingly important
Can deliver enormous benefits
But calls for care and changes
Fortunately, solutions can be found
7/21/2015
Seton Hall University
Acknowledgments
Dr.
Fadi Deek, NJIT
Dr. Stephen Masticola, Siemens CR
Norbert Jastroch, MetConsulting
Students and colleagues
Alcatel-Lucent
Seton Hall University
NJIT
Dr. Cyril Ku, WPU
7/21/2015
Seton Hall University
References
Overview
Interfaces
“A Comparison of Three Modes of Collaboration”, submitted, AMCIS 2009.
“High-level Component Interfaces for Collaborative Development: A Proposal”, accepted,
IMETI 2009, July 2009.
"Prendre en compte les changements dynamiques dans le développement cooperative du
logiciel", Génie Logiciel, Decembre 2008. (Translation of “Enhanced Change Management
for Collaborative Software Development”, ICSSEA 08 Special Issue).
“Addressing Change in Collaborative Software Development through Integrated Artifact Flow
and Dependence Analysis”, ICSSEA08, December 2008.
“Addressing Change in Collaborative Software Development through Agility and Automated
Traceability”, WMSCI 2008, June-July 2008.
Risk Management
“Risk-Driven Management Contingency Policies in Collaborative Software Development”,
International Journal of Information Technology and Management, to appear, 2009.
“Risk Management for Collaborative Software Development”, Information Systems
Management, 25 (4), 20–30, Fall 2006. Reprinted in The EDP Audit, Control, and Security
Newsletter, 35 (3), March 2007.
7/21/2015
Seton Hall University