Automating Google Workspace (GWS) & more with Apps Script
S-CUBE LP: Impact of SBA design on Global Software Development
1. 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)
www.s-cube-network.eu
4. 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
5. 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
7. 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
8. Global Software Development
Challenges
Collaboration Issues Negative Impact on Software Facilitating GSD Using Services (SOA/Cloud )
Challenges Project
Distance Communication gaps Dynamic binding, runtime adaptation, and timely
Geographic Time Project Delays availability of required services could help dealing
Knowledge Ambiguity on technical aspects with geographic issues. Also, availability of
transfer Unequal quality levels across SaaS could diminish installation overheads
Tools the sites
Unequal Increase in cost Service could maintain a fair distribution of work
Cultural distribution of Poor skill management between the teams. Only a specific person will be
work Reporting problems responsible for the task assigned to
Lack of Trust
Fear
Frequency of Loss in project quality Run time evolution of services can meet with the
Linguistics communication Invisibility on project linguistic issues. Also, isolation of each task and
Knowledge development related information as a service can ensure right
transfer Ineffective project management level of knowledge transfer
Lack of Loss in Project Quality Services maintain a registry where all of them are
Temporal Motivation Poor management of stored. Also, a cloud maintains inventory of
Less visibility configuration services. This attribute could be used to store and
Risk Chances of project artifact loss retrieve configurations
9. 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
11. 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
12. 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
14. 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
15. Distributing/outsourcing service
development
§ SOA used as an
integration technology A2
A5
A1 A4 A7
§ Development of single A3
A6
services can be
outsourced WSDL
§ Business logic WSDL
developed by a single
team near the
customer location
15
16. 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
17. 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
18. The SP approach
§ Services offered by
Service Providers (SP)
are exploited A2
A5
A1 A4 A7
§ The system runs on A3
A6
different domains
WSDL
§ Proper SLAs should be
established beforehand WSDL
18
19. 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
20. Dynamic adoption of external services
§ Services are
discovered and bound A2
A5
A1 A4 A7
on the fly A6
A3
WSDL
WSDL
20
21. 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
22. 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
24. 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
25. 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 SAAS
– Can support development, PAAS
QA, operation
– [Yara et al. 2009]
IAAS
25
26. 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
27. 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?
28. 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
29. Supporting Characteristics of the Cloud
Computing
Because of the virtualization technique, physical resources can be shared among all users
Virtualization and there is efficient resource management which can provide higher resource utilization and
on-demand scalability.
Cloud computing not only reduces cost of usage of resources but also reduces maintenance
Reduced Cost cost of resources for the users
Cloud computing can support on-demand scalability. An application with occasional demand
Scalability 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
Cloud infrastructure can support multiple protocols and change in business model for
Infrastructure applications more rapidly
It can also handle increased performance requirements like service scaling, response time,
Performance 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 With the ability to cater multiple clients with shared resources, applications in the form of
support services (can) run on these clouds
30. 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
31. 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
32. 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
33. 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
34. 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
35. 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
37. Motivation: what can be
done…
“Tackle socio-cultural
diversity and time/space
distance in GSD ” CC OSSs
How?
ASNs
“Produce an adaptable social
network for IT professionals”
Features
Social ASN for IT
• Based on ASNs professionals
• Featuring a socio-organizational
model for knowledge sharing in
(and among) Organizations
• Deployed in the Cloud
38. Agile Service Networks:
Definition
ASNs are:
“dynamically emerging Business
Collaborative
networks of service- oriented
oriented applications
(Nodes) collaborating
to achieve business Dynamism Emergence
gain.
Context adaptation is ASNs
used to achieve agility.”
39. ASNs Characteristics: Dynamism
“ASNs are aware of
their context and
can adapt to its Business
Collaborative
changes” oriented
In our case:
• Awareness of the
Dynamism Emergence
socio-organizational
context
• Adaptability to its ASNs
changes
40. ASNs Characteristics:Collaborativeness
“ASN nodes work
cohesively towards a
common goal (e.g. Collaborative
Business
business gain)” oriented
In our case:
• Nodes are in a social
Dynamism Emergence
ASN
• They collaborate to
develop software
ASNs
globally
41. ASNs Characteristics: Business-Oriented
“ASNs are stemming
from a corporate
Business
business strategy” Collaborative
oriented
In our case, nodes
are:
• global resources, part Dynamism Emergence
of an organization
• collaborate in the ASNs
business process of
global development
42. ASNs Characteristics: Emergence
“ASNs can
dynamically retrieve
and connect nodes” Collaborative
Business
oriented
In our case:
• Nodes are
development
Dynamism Emergence
resources
• Emergence of ASNs
allows resources to ASNs
be (re-)allocated on
need
44. 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
45. 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
47. 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