s-cube lp: impact of sba design on global software development

49
www.s-cube-network.eu S-Cube Learning Package Designing and migrating Service-Based Applications: Impact of SBA design on Global Software Development Politecnico di Milano (POLIMI), Lero University of Limerick (LERO), VU University Amsterdam (VUA) Elisabetta Di Nitto (POLIMI), Sajid Ibrahim Hashmi (Lero), Damian A. Tamburri (VUA)

Upload: virtual-campus

Post on 24-Jan-2015

355 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: S-CUBE LP: Impact of SBA design on Global Software Development

www.s-cube-network.eu

S-Cube Learning Package

Designing and migrating Service-Based Applications:

Impact of SBA design on Global Software Development

Politecnico di Milano (POLIMI), Lero – University of

Limerick (LERO), VU University Amsterdam (VUA)

Elisabetta Di Nitto (POLIMI), Sajid Ibrahim Hashmi (Lero),

Damian A. Tamburri (VUA)

Page 2: S-CUBE LP: Impact of SBA design on Global Software Development

© Di Nitto, Hashimi, Tamburri

Learning Package Categorization

S-Cube

Engineering Principles, Techniques & Methodologies

Designing and migrating Service-Based Applications

Impact of SBA design on Global Software Development

Page 3: S-CUBE LP: Impact of SBA design on Global Software Development

Learning Package Overview

Problem Description (Global Software Development –

GSD)

How SOA technology can help GSD

How Cloud computing can facilitate GSD

How Agile Service Networks can help GSD

Discussion

Conclusions

© Di Nitto, Hashimi, Tamburri

Page 4: S-CUBE LP: Impact of SBA design on Global Software Development

Definition

GSD: software development work undertaken at

geographically separated locations across national and

organizational boundaries in a coordinated fashion involving

real time (synchronous) and asynchronous interaction

4

Page 5: S-CUBE LP: Impact of SBA design on Global Software Development

Why?

Achieve cost benefits

Manage shortage in specific skills

Need of customer proximity

National legislations

Flexible resource capacity

Reduced time to market (work around the clock)

Open source development

5

Page 6: S-CUBE LP: Impact of SBA design on Global Software Development

Why?

…crossing geographical and organizational boundaries

6

21st Century

Page 7: S-CUBE LP: Impact of SBA design on Global Software Development

Different flavors of GSD

Distributing work

– within the same organization → offshoring

– across organizations → outsourcing

Partitioning work per phases

– Delegating testing

– Delegating maintenance

– Delegating customization

Distributed development

Open source development

7

Page 8: S-CUBE LP: Impact of SBA design on Global Software Development

Global Software Development Challenges

Collaboration

Challenges

Issues Negative Impact on Software

Project

Facilitating GSD Using Services (SOA/Cloud )

Geographic

Distance

Time

Knowledge

transfer

Tools

Communication gaps

Project Delays

Ambiguity on technical aspects

Unequal quality levels across

the sites

Dynamic binding, runtime adaptation, and timely

availability of required services could help dealing

with geographic issues. Also, availability of

SaaS could diminish installation overheads

Cultural

Unequal

distribution of

work

Lack of Trust

Fear

Increase in cost

Poor skill management

Reporting problems

Service could maintain a fair distribution of work

between the teams. Only a specific person will be

responsible for the task assigned to

Linguistics

Frequency of

communication

Knowledge

transfer

Loss in project quality

Invisibility on project

development

Ineffective project management

Run time evolution of services can meet with the

linguistic issues. Also, isolation of each task and

related information as a service can ensure right

level of knowledge transfer

Temporal

Lack of

Motivation

Less visibility

Risk

Loss in Project Quality

Poor management of

configuration

Chances of project artifact loss

Services maintain a registry where all of them are

stored. Also, a cloud maintains inventory of

services. This attribute could be used to store and

retrieve configurations

Page 9: S-CUBE LP: Impact of SBA design on Global Software Development

State of the art in GSD

Specific proposals for

– Tools to support communication, coordination, knowledge sharing,

awareness

– Best practices

– Distributed development models

Empirical studies

9

Page 10: S-CUBE LP: Impact of SBA design on Global Software Development

Distributed development models (an example [Beecham et al 2010])

10

Specific Goal 1:

Define Global Project Management

Determine team and

organizational structure

between locations

Determine the approach

to task allocation

between locations

Identify business

competencies required

by team members in

each location

Identify cultural

requirements of each

local sub-team

Identify communication

skills for GSE

Establish relevant criteria

for training

Sp

ecific

Pra

ctice S

P 1

.2

Know

ledge a

nd S

kill

s

Identify GSE project

management tasks

Assign tasks to

appropriate team

members

Ensure awareness of

cultural profiles by

project managers

Establish cooperation

and coordination

procedures between

locations

Establish reporting

procedures between

locations

Establish a risk

management strategy

Page 11: S-CUBE LP: Impact of SBA design on Global Software Development

Empirical studies

Have shown, among others, that

– Outsourcing may require more people [Herbsleb and Mockus

2003]

– Quality of software does not necessarily decrease, at least for

internal global development [Bird et al. 2009]

– Architectural rules help in addressing GSD issues [Clerc et al

2007]

– A well modularized architecture can reduce communication

needs and keep organizational structure stable [Avritzer et al.

2010]

11

Page 12: S-CUBE LP: Impact of SBA design on Global Software Development

State of the art: SOA and GSD

• To our knowledge, no systematic study on the implications of SOA on

GSD (and vice versa)

- In [Avritzer et al. 2010] the case study is a SOA

- In [Hartman 2008] an experience adopting an ESB is reported

12

Page 13: S-CUBE LP: Impact of SBA design on Global Software Development

Learning Package Overview

Problem Description (Global Software Development – GSD)

How SOA can help GSD

How Cloud computing can facilitate GSD

How Agile Service Networks can help GSD

Discussion

Conclusions

© Di Nitto, Hashimi, Tamburri

Page 14: S-CUBE LP: Impact of SBA design on Global Software Development

SOA for GSD

SOA supports

– Increased modularity and good decoupling

– Clear division of work

– Adoption of standards

Various degrees of SOA adoption possible in GDS

– Service development distribution/outsourcing

– Service provision

– Dynamic adoption of external services

14

Page 15: S-CUBE LP: Impact of SBA design on Global Software Development

Distributing/outsourcing service development

SOA used as an

integration technology

Development of single

services can be

outsourced

Business logic

developed by a single

team near the

customer location

WSDL

WSDL

A1 A5

A3

A2

A4

A6

A7

15

Page 16: S-CUBE LP: Impact of SBA design on Global Software Development

Distributing/outsourcing service development Impact on GSD issues (1)

GSD team composed of

– Key team focusing on main logic development

– Satellite teams managing services

Criterion for task allocation

– Transfer by functionality

16

Page 17: S-CUBE LP: Impact of SBA design on Global Software Development

Distributing/outsourcing service development Impact on GSD issues (2)

Communication

– Through service interface definition

Coordination

– Possibly reduced if composition logic is developed

when services are already available

Cultural differences

– Extensive use of standard

Knowledge management

– Service registries

17

Page 18: S-CUBE LP: Impact of SBA design on Global Software Development

The SP approach

Services offered by

Service Providers (SP)

are exploited

The system runs on

different domains

Proper SLAs should be

established beforehand

WSDL

WSDL

A1 A5

A3

A2

A4

A6

A7

18

Page 19: S-CUBE LP: Impact of SBA design on Global Software Development

The SP approach Impact on GSD issues

More than outsourcing

– Execution of services is in the hands of SP

Team organization

– New stakeholders: service provider, service certifier

Trust

– Need to define, monitor and enforce SLAs

Not only GSD, but Global Software Engineering!

19

Page 20: S-CUBE LP: Impact of SBA design on Global Software Development

Dynamic adoption of external services

Services are

discovered and bound

on the fly

WSDL

WSDL

A1 A5

A3

A2

A4

A6

A7

20

Page 21: S-CUBE LP: Impact of SBA design on Global Software Development

Dynamic adoption of external services Impact on GSD issues (1)

More emphasis on runtime GSE activities

– Monitoring

– Dynamic adaptation and evolution of systems

Evolution

– Services can evolve independently of logic

- Highlights an implicit dependency between organizations

– Requirements for evolution identified within logic are not necessarily

fulfilled by services

21

Page 22: S-CUBE LP: Impact of SBA design on Global Software Development

Dynamic adoption of external services Impact on GSD issues (2)

Problem of trust

– Service providers may be unknown

– Need to focus on dynamic establishment of proper SLAs

Advantages can arise not only from cooperation but also

from competition

– Competing teams offer services

– Logic selects among them

22

Page 23: S-CUBE LP: Impact of SBA design on Global Software Development

Learning Package Overview

Problem Description (Global Software Development – GSD)

How SOA can help GSD

How Cloud computing can facilitate GSD

How Cloud computing can facilitate GSD

How Agile Service Networks can help GSD

Discussion

Conclusions

© Di Nitto, Hashimi, Tamburri

Page 24: S-CUBE LP: Impact of SBA design on Global Software Development

Cloud Computing

Cloud computing is a computing paradigm in which both

hardware and software resources are provided on demand.

It has the following representations:

– IaaS (Infrastructure as a service)

– PaaS (Platform as a Service)

– SaaS (Software as a Service)

The cloud paradigm is famous for its flexibility, scalability,

independence, and reduced cost

Page 25: S-CUBE LP: Impact of SBA design on Global Software Development

Changing perspective…

… So far SOA as the architecture for the product …

Another perspective: Software As A Service (SAAS)

to support the GSD process

– Always-on IT services

– Can support development,

QA, operation

– [Yara et al. 2009]

25

IAAS

PAAS

SAAS

Page 26: S-CUBE LP: Impact of SBA design on Global Software Development

Research Question

• Is it possible to support collaboration in GSD using cloud

computing?

- As a Process (Implications for the GSD business model)

- As a Product (It is developed run and distributed globally)

For this purpose, we suggest making use of cloud computing

paradigm

The goal is to enhance the usefulness of GSD using the cloud

services

The data in the cloud is accessed through services, we study

its usefulness in the light of SOA

We argue that GSD challenges can be addressed using

different types of cloud computing realizations

Page 27: S-CUBE LP: Impact of SBA design on Global Software Development

Objectives of the Research

The research proposes the development of GSD process

activities using the cloud services

We discuss how the GSD process can be aligned with SAAS

How GSD products can be implemented using services

Although some web tools support GSD communication

processes but the question remains

– How GSD processes can work better by making use of SAAS?

Page 28: S-CUBE LP: Impact of SBA design on Global Software Development

Research Methodology

Our literature review studied the characteristics of services

(both SOA and the cloud)

GSD challenges were identified

A workshop was held by Lero, VUA, PoliMi, the attendees had

research expertise in GSD, SOA, and cloud computing

– We developed the proposed concept through interactive discussion

and brainstorming

– We investigated the potential of SOA based cloud services to address

GSD challenges

Page 29: S-CUBE LP: Impact of SBA design on Global Software Development

Supporting Characteristics of the Cloud Computing

Virtualization

Because of the virtualization technique, physical resources can be shared among all users and

there is efficient resource management which can provide higher resource utilization and on-

demand scalability.

Reduced Cost

Cloud computing not only reduces cost of usage of resources but also reduces maintenance

cost of resources for the users

Scalability

Cloud computing can support on-demand scalability. An application with occasional demand

for higher resources will pay for the higher resources only the time it is used instead of leasing

all the resources from the very beginning in anticipation of future need

Infrastructure

Cloud infrastructure can support multiple protocols and change in business model for

applications more rapidly

Performance

It can also handle increased performance requirements like service scaling, response time,

and availability of the application, as the cloud infrastructure is a huge pool of resources like

servers, storage and network and provide elasticity of growth to the end users

Multi tenancy

support

With the ability to cater multiple clients with shared resources, applications in the form of

services (can) run on these clouds

Page 30: S-CUBE LP: Impact of SBA design on Global Software Development

Motive for Using the Cloud to Support GSD

Standard procedures cannot scale up to support dynamism

Similar ideology posed by both SOA and GSD; e.g.

coordination, context, and execution monitoring

Our thesis is that GSD challenges can be overcome through

SOA support

– To increase interoperability, diversification, and business and

technology alignment

– to improve the collective effectiveness of the enterprises participating

in globally distributed projects

Page 31: S-CUBE LP: Impact of SBA design on Global Software Development

GSD Process as a Service

Figure illustrates the concept of using the cloud paradigm to

support GSD

The idea is to reduce the challenges caused by global

distance

Page 32: S-CUBE LP: Impact of SBA design on Global Software Development

GSD Challenges and the Cloud

Coordination

Coordination requires interaction among sequence of

operations but Geographic distance negatively affects the

ability to coordinate

Cloud services may ensure interactions among different

activities

In Services, interaction between the service provider and the

consumer is independent of the geographic distance

It can allow resources sharing not only for infrastructure but

also software resources

Page 33: S-CUBE LP: Impact of SBA design on Global Software Development

GSD Challenges and the Cloud

– IaaS can provide GSD teams with resources such as computing power

and storage provisioning to store project related data

– Software resources may consist of application systems and database

servers

– Application resources can assist in providing SaaS with necessary

interfaces that can facilitate collaboration and sharing of information

Page 34: S-CUBE LP: Impact of SBA design on Global Software Development

GSD Challenges and the Cloud

Collaboration

Geographic distance affects the ability to collaborate.

Communication and collaboration declines as the distance

increases

Cloud service based collaboration is likely to diminish the

deficiency caused by distance

– Business process can facilitate the optimization of over all software

development

– The services involved in a business can change with the change in the

associated business in terms of requirements

Page 35: S-CUBE LP: Impact of SBA design on Global Software Development

GSD Challenges and the Cloud

Geographic Distance

Distance removes the opportunity for face to face

communication

The philosophy of the cloud paradigm is to facilitate a pool of

shared hardware & software resources

– PaaS can provide a development platform to assist development and

hosting on the cloud

– It does not require any kind of software downloads and installations

– Services become part of GSD processes being provided by the

outsourcing organizations

Page 36: S-CUBE LP: Impact of SBA design on Global Software Development

Learning Package Overview

Problem Description (Global Software Development – GSD)

How SOA can help GSD

How Cloud computing can facilitate GSD

How Agile Service Networks can help GSD

Discussion

Conclusions

© Di Nitto, Hashimi, Tamburri

Page 37: S-CUBE LP: Impact of SBA design on Global Software Development

Motivation: what can be done…

“Tackle socio-cultural diversity and time/space distance in GSD ”

“Produce an adaptable social network for IT professionals”

Social ASN for IT professionals

ASNs

OSSs

How?

CC

• Based on ASNs

• Featuring a socio-organizational

model for knowledge sharing in

(and among) Organizations

• Deployed in the Cloud

Features

Page 38: S-CUBE LP: Impact of SBA design on Global Software Development

Agile Service Networks: Definition

ASNs

Dynamism

Collaborative Business

oriented

Emergence

ASNs are:

“dynamically emerging

networks of service-

oriented applications

(Nodes) collaborating

to achieve business

gain.

Context adaptation is

used to achieve

agility.”

Page 39: S-CUBE LP: Impact of SBA design on Global Software Development

ASNs Characteristics: Dynamism

ASNs

Dynamism

Collaborative Business

oriented

Emergence

In our case: • Awareness of the

socio-organizational

context

• Adaptability to its

changes

“ASNs are aware of

their context and

can adapt to its

changes”

Page 40: S-CUBE LP: Impact of SBA design on Global Software Development

ASNs Characteristics:Collaborativeness

ASNs

Dynamism

Collaborative Business

oriented

Emergence

“ASN nodes work

cohesively towards a

common goal (e.g.

business gain)”

In our case: • Nodes are in a social

ASN

• They collaborate to

develop software

globally

Page 41: S-CUBE LP: Impact of SBA design on Global Software Development

ASNs Characteristics: Business-Oriented

ASNs

Dynamism

Collaborative Business

oriented

Emergence

“ASNs are stemming

from a corporate

business strategy”

In our case, nodes

are: • global resources, part

of an organization

• collaborate in the

business process of

global development

Page 42: S-CUBE LP: Impact of SBA design on Global Software Development

ASNs Characteristics: Emergence

ASNs

Dynamism

Collaborative Business

oriented

Emergence

“ASNs can

dynamically

retrieve and

connect nodes”

In our case: • Nodes are

development

resources

• Emergence of ASNs

allows resources to

be (re-)allocated on

need

Page 43: S-CUBE LP: Impact of SBA design on Global Software Development

Learning Package Overview

Problem Description (Global Software Development – GSD)

How SOA can help GSD

How Cloud computing can facilitate GSD

How Agile Service Networks can help GSD

Discussion

Conclusions

© Di Nitto, Hashimi, Tamburri

Page 44: S-CUBE LP: Impact of SBA design on Global Software Development

Some open research questions (1)

Can the adoption of SOA (specific architecture + set of

standards) help in improving quality of GSD?

To what extent GSD practices are useful in a SOA setting?

How do the following issues impact GSD?

– Competition between team

– New stakeholders and new relationships to manage

– New runtime issues

– Implicit dependencies in evolution

44

Page 45: S-CUBE LP: Impact of SBA design on Global Software Development

Some open research questions (2)

Can GSD enterprises organize themselves as an ASN?

– [Budge 2008] shows an example of this at Microsoft

Can SOA/SAAS offer the proper infrastructure to support

GSD?

– What is the right level of abstraction for project knowledge transfer

across global software development sites?

– How to handle the privacy and security issues that emerge?

45

Page 46: S-CUBE LP: Impact of SBA design on Global Software Development

Learning Package Overview

Problem Description (Global Software Development – GSD)

How SOA can help GSD

How Cloud computing can facilitate GSD

How Agile Service Networks can help GSD

Discussion

Conclusions

© Di Nitto, Hashimi, Tamburri

Page 47: S-CUBE LP: Impact of SBA design on Global Software Development

What we learnt

Frequently mentioned reasons for GSD

– Cost, vicinity to customers, availability of expertise …

… SOA can add new reasons

– Availability of suitable and cost-effective services

– Advantages in servicing existing components

… And new issues

– Runtime aspects, new stakeholders, evolution issues, SLAs,

competition

ASNs can be used to support global development, we have a

context model to show for it [ECSA2011]

ASNs are feasible FOR and IN the cloud [SERVICES2011]

47

Page 48: S-CUBE LP: Impact of SBA design on Global Software Development

Further S-Cube Reading

[SERVICES2011] Tamburri, D. A. & Lago, P.

Satisfying Cloud Computing Requirements Through Agile Service

Networks

Proceedings of IEEE SERVICES 2011

[ECSA2011] Tamburri, D. A. & Lago, P.

Supporting Communication and Cooperation in Global Software

Development with Agile Service Networks

in ECSA 2011, 2011

[REMIDI2011] Hashmi, S., Clerc, V., Razavian, M., Manteli, C., Lago, P.,

Di Nitto, E., and Richardson, I. "Software as a Service on the Cloud to

Support Global Software Development", in proceedings of the 5th

International Workshop on Tool Support and Requirements Management

in Distributed Projects (REMIDI'11), 6th International Conference on

Global Software Engineering (ICGSE 2011), IEEE Computer Society,

2011.

© Di Nitto, Hashimi, Tamburri

Page 49: S-CUBE LP: Impact of SBA design on Global Software Development

Acknowledgements

The research leading to these results has

received funding from the European

Community’s Seventh Framework

Programme [FP7/2007-2013] under grant

agreement 215483 (S-Cube).

© Di Nitto, Hashimi, Tamburri