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


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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

  1. 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
  2. 2. Learning Package Categorization S-Cube Engineering Principles, Techniques & Methodologies Designing and migrating Service-Based Applications Impact of SBA design on Global Software Development © Di Nitto, Hashimi, Tamburri
  3. 3. 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
  4. 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. 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
  6. 6. Why?§  …crossing geographical and organizational boundaries 21st Century 6
  7. 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. 8. Global Software DevelopmentChallenges 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. 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
  10. 10. Distributed development models(an example [Beecham et al 2010]) 10
  11. 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. 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
  13. 13. 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
  14. 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. 15. Distributing/outsourcing servicedevelopment §  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. 16. Distributing/outsourcing servicedevelopment 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. 17. Distributing/outsourcing servicedevelopment 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. 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. 19. The SP approachImpact 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. 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. 21. Dynamic adoption of externalservices 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. 22. Dynamic adoption of externalservices 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
  23. 23. 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
  24. 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. 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. 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. 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. 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. 29. Supporting Characteristics of the CloudComputing 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. 30. Motive for Using the Cloud to SupportGSD§  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. 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. 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. 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. 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. 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
  36. 36. 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
  37. 37. Motivation: what can bedone… “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. 38. Agile Service Networks:Definition ASNs are:“dynamically emerging Business Collaborativenetworks of service- orientedoriented applications(Nodes) collaboratingto achieve business Dynamism Emergencegain.Context adaptation is ASNsused to achieve agility.”
  39. 39. ASNs Characteristics: Dynamism“ASNs are aware oftheir context andcan adapt to its Business Collaborativechanges” orientedIn our case:•  Awareness of the Dynamism Emergence socio-organizational context•  Adaptability to its ASNs changes
  40. 40. ASNs Characteristics:Collaborativeness“ASN nodes workcohesively towards acommon goal (e.g. Collaborative Businessbusiness gain)” orientedIn our case:•  Nodes are in a social Dynamism Emergence ASN•  They collaborate to develop software ASNs globally
  41. 41. ASNs Characteristics: Business-Oriented“ASNs are stemmingfrom a corporate Businessbusiness strategy” Collaborative orientedIn our case, nodesare:•  global resources, part Dynamism Emergence of an organization•  collaborate in the ASNs business process of global development
  42. 42. ASNs Characteristics: Emergence“ASNs candynamically retrieveand connect nodes” Collaborative Business orientedIn our case:•  Nodes are development Dynamism Emergence resources•  Emergence of ASNs allows resources to ASNs be (re-)allocated on need
  43. 43. 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
  44. 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. 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
  46. 46. 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
  47. 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
  48. 48. 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 (REMIDI11), 6th International Conference on Global Software Engineering (ICGSE 2011), IEEE Computer Society, 2011. © Di Nitto, Hashimi, Tamburri
  49. 49. 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