SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Software Architecture in Distributed
          Software Development




Werner Heijstek, Leiden Institute of Adv. Computer Science.



         Universiteit Leiden
         The Netherlands

                      Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Introduction

Werner Heijstek                                             1 | 24
 • Sinds 2007 promovendus aan het LIACS obv.
   Dr. Michel Chaudron (Software Engineering Group)

 • Onderzoeksinteresses
    • gedistribueerde softwareontwikkeling
    • software architectuur en design (als product ´n als proces)
                                                   e
    • modelgedreven softwareontwikkeling
    • software productiviteit


 • Samenwerkingen met verschillende (internationale)
   industri¨le partners en universiteiten
           e




                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Introduction

Outline                                                     2 | 24

Theory

Practice

Cases Studies

Expert Interviews

Recommendations




                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Theory

What is Software Architecture?                              3 | 24

Definition
“The fundamental organization of a system embodied in its
 components, their relationships to each other, and to the
 environment, and the principles guiding its design and
 evolution.”


Architecture addresses and guarantees non-functional
requirements like security maintainability, extendability and
portability.




                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Theory

Software Architecture Representation                                                     4 | 24


                                       The system described in this diagram provides support for
                                       creating new mortgages and alteration of existing mortgages.

                                       The design aims to separate the complexities of the business
                                       logic from the Financial Application Frontend by bundling all
                                       mortgage-related services on a central Mid Office System. This
                                       system provides services for the setup of all `mortgage actions'.

                                       The Front Office Component hosts a Financial Application
                                       Frontend which contains a Mortgage-specific Application
                                       Component. Due to concerns regarding decreased Back Office
                                       availability, mortgage action requests may have a maximum size
                                       of 300 kilobytes.

                                       The Mortgage Webservice provides an additional method to
                                       update mortgage attributes. This service only connects to an
                                       interface provided by the Mortgage Attribute Update
                                       specialization.




                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Theory

Global Software Development                                 5 | 24
 • Also: outsourcing, offshoring or distributed SD


 • Many motivations (cost, skill shortage, development speed)


 • India is a (very) common offshore destination


 • Introduces three “distances”


 • Fails more often than co-located software development




                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Theory

Architecture Dissemination                                  6 | 24
 • Two strategies exist to transfer knowledge:

    • Personalisation

    • Codification


 • A mix or Hybrid strategy is commonly used.


 • Common GSD approach is “Transfer by Development Stage”


 • In GSD, codification is thought to be more dominant


                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Practice

Architecture Documentation                                  7 | 24
 • RUP’s UML-centric Software Architecture Document
   (SAD) is commonly used in practice

 • In a set of 59 industrial SADs we found that
    • less then 45% of diagrams is UML
    • non-UML diagrams mostly lack legends
    • great variation exists in the ratio text-to-diagram
    • this is not different for GSD SADs


 • Diagram-dense SADs are not better understood

 • Linguistic distance from English greatly impacts SAD
   understanding

                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Practice

Research Objective                                          8 | 24
Architecture matters but appears to be hindered by GSD.

 • How is software architecture design and dissemination
   organized?
 • What is the role of the architect(s) during the software
   development life cycle ?
 • How is software architecture documentation used?
 • How is architecture compliance organized?


By means of three case studies and additional expert interviews



                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

Case A & B Characteristics                                           9 | 24

                    Case A                          Case B
   funct. size      34 use cases                    70 use cases
   pl. duration     10 months                       3 months
   methodology      RUP                             RUP
   budget           e 800,000                       e 210,000
   technology       .Net                            .Net
   project          Expansion of an existing sys-   Centralization of a hu-
   objective        tem for indexing and making     man resources portal.
                    searchable information.
   interviewed      Senior    Mgr,    Architect,    Senior Mgr, Architect,
   onshore          Project Mgr., Arch. Re-         Arch. Reviewer
                    viewer, Test Lead
   interviewed      Project Mgr. #1, #2, Archi-     Project Mgr., Sr. Devel-
   offshore          tect, Developer #1, #2, #3,     oper, Developer
                    #4

                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

General Observations                                        10 | 24

Case A                             Case B

• The strict deadline                • frequent requirement
   was overly ambitious                changes

• No proof of concept                • high degree of employee
  (POC) was built                      turnover

• Requirements were                  • The offshore development
   changed late during                 team was unable to
   the project.                        package for deployment

Note that these factors at not at all uncommon.
                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

Architecture Communication                                  11 | 24
 • Offshore was to deliver the architecture but failed or refused.
 • Architecture responsibilities moved onshore


 • Architect did not travel offshore


 • Developers often required extensive code examples

 • A hierarchy of developers exists offshore:
   1. technical team lead (architect)
   2. senior developer
   3. junior developer



                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

“Limited Front Office Availability”                             12 | 24

         :Onshore Architect    :Offshore Architect    :Developer


                                              Question



                          Question



                                         Preliminary Answer



                      Definitive Answer




                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

“No Problem Here”                                           13 | 24

         :Onshore Architect    :Offshore Architect    :Developer


                                              Question



                                              Question



                                              Question



                                              Question




                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

“Chinese Whispers”                                                    14 | 24

    :Onsh. Arch.        :Offsh. Arch.    :Des.        :Sr. Dev.        :Dev.


                                                                 Q.

                                                Q.

                                   Q.

                   Q.




                           Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

Architecture Documentation                                  15 | 24
SAD was an important document, used as the primary
architecture communication vehicle, but

 • Some (important) parts were written in Dutch
 • Most diagrams were not UML and box-and-line diagrams
   lacked legends.

 • Developers
    • found the SAD irrelevant
    • read only “their parts”
    • had too little time to read the SAD
    • were denied the SAD


                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

Case A & B Architecture Compliance                          16 | 24
developers find architecture “very important”. However:

 • Developers were not very knowledgeable about the
   software architecture

 • Onshore architecture reviewed half of all code (straining
   the project budget)

 • Much code was reworked by the both onshore and offshore




                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

Case C Characteristics                                               17 | 24


            Case C
            funct. size         800 funct. pts.
            pl. duration        4 months
            methodology         Agile / Scrum
            budget              e 400,000
            technology          .Net
            objective           Rebuild of an existing application
            int. onshore        Senior Mgr, Project Mgr.
            int. offshore        Sr. Developer, Developer




                           Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

Non-Model-Driven Development                                                    18 | 24




                        (
   Klant
                            Business
                            Analyst
                                         Requirements
                                           Engineer
                                                        Software
                                                        Architect
                                                                    Ontwerper
                                                                                (   Programmeur




  graag zouden wij
  onze        klanten                                                                 import java.io.*;
  directer met ons                                                                    import java.util.*

  laten interactieren                                                                 public class Finder {
  doormiddel      van
  een portal.




                        Figure: A ‘normal’ software development process



                                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

Model-Driven Development                                    19 | 24


                                 Business
                                 Analyst


                                             Requirements
                   Klant
                                               Engineer



                                               Software
                  Ontwerper
                                               Architect


                               Programmeur



        Figure: A model-driven software development process
                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

Case C Development Process                                  20 | 24
 • A proven, home grown MDD platform was employed.


 • This project was less complex than Cases A and B


 • Most of the architecture was generated.


1. Weekly, a low-level design was made by the onshore
2. This design was conferred by means of a video-link.
3. The offshore team was required to summarize what they
   understood.
4. This was then reviewed and implemented

                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Cases Studies

Findings of Case Studies                                    21 | 24
1. Dissemination of software architecture is not formalized
   (while this might benefit the development process)
2. The role of the architect in GSD is not clearly defined

3. The SAD is intended to be used extensively but
    • is of disputable quality
    • developers use the SAD sparingly if at all


4. Developers find architecture very important but they are
   mostly knowledgeable about “their own” component




                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Expert Interviews

Two Major Influences                                         22 | 24
1. Knowledge Gap
   Exists between the onshore and offshore location regarding
    • software architecture design
    • and its role during the software development life cycle.


2. Implementation Focus
   Prematurely forces projects into the construction phase.

Cost reduction
 • drives offshore development
 • forces more responsibilities towards offshore
 • reduces opportunity for training
 • leads to favoring implementation-related disciplines

                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Expert Interviews

Implications and Consequences                               23 | 24

• an unclear and                        • more architectural
   incomplete SAD                         freedom exists
• software architects                   • developers make
   available less time                    assumptions
• less direct interaction               • compliancy violations
                                          are more likely
• incorrect / incomplete
   knowledge of the                     • less code is reviewed
   software architecture
                                        • leads to rework, delays
                                          and overrun


                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Recommendations

Recommendations                                             24 | 24
1. Include offshore team in SAD development
2. Implement only after architecture is stable
3. The SAD should be mature too
4. Architects should be available more and travel
5. Verify continuously
6. Keep the SAD current to battle turnover


               Invest in architecture design,
              dissemination and coordination!


                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Questions?

Questions?                                                  24 | 24




                                 ?
                       Leiden University. The university to discover.
Software Architecture in Distributed Software Development
Contact Informatie

Contact Informatie                                          24 | 24


                      Werner Heijstek
                      heijstek@liacs.nl
                http://www.liacs.nl/˜heijstek

                     Snellius building room 150
                      +31 (0) 71 – 527 7050

                      Skype: wernerheijstek



                       Leiden University. The university to discover.

Más contenido relacionado

La actualidad más candente

L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting ActivitiesHenry Muccini
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor routBikram Rout
 
Activities Oriented Design Environments
Activities Oriented Design EnvironmentsActivities Oriented Design Environments
Activities Oriented Design EnvironmentsFarid Mokhtar Noriega
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 pptDr VISU P
 
Se lect1 btech
Se lect1 btechSe lect1 btech
Se lect1 btechIIITA
 
International Journal of Computational Engineering Research(IJCER)
 International Journal of Computational Engineering Research(IJCER)  International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER) ijceronline
 
Designing for knowledge maturing: from knowledge driven software to supportin...
Designing for knowledge maturing: from knowledge driven software to supportin...Designing for knowledge maturing: from knowledge driven software to supportin...
Designing for knowledge maturing: from knowledge driven software to supportin...Andreas Schmidt
 
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...Danilo Pianini
 
Oose unit 3 ppt
Oose unit 3 pptOose unit 3 ppt
Oose unit 3 pptDr VISU P
 
E2 Manage Tech Design Implementation General 2010
E2 Manage Tech Design Implementation General 2010E2 Manage Tech Design Implementation General 2010
E2 Manage Tech Design Implementation General 2010bdwwork
 
The role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture DescriptionsThe role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture DescriptionsHenry Muccini
 

La actualidad más candente (14)

G213538
G213538G213538
G213538
 
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting Activities
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor rout
 
Activities Oriented Design Environments
Activities Oriented Design EnvironmentsActivities Oriented Design Environments
Activities Oriented Design Environments
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
Se lect1 btech
Se lect1 btechSe lect1 btech
Se lect1 btech
 
International Journal of Computational Engineering Research(IJCER)
 International Journal of Computational Engineering Research(IJCER)  International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
Tem.10.M
Tem.10.MTem.10.M
Tem.10.M
 
Designing for knowledge maturing: from knowledge driven software to supportin...
Designing for knowledge maturing: from knowledge driven software to supportin...Designing for knowledge maturing: from knowledge driven software to supportin...
Designing for knowledge maturing: from knowledge driven software to supportin...
 
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
Engineering the Aggregate - Talk at Software Engineering for Intelligent and ...
 
Oose unit 3 ppt
Oose unit 3 pptOose unit 3 ppt
Oose unit 3 ppt
 
E2 Manage Tech Design Implementation General 2010
E2 Manage Tech Design Implementation General 2010E2 Manage Tech Design Implementation General 2010
E2 Manage Tech Design Implementation General 2010
 
The role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture DescriptionsThe role of MDE in Software Architecture Descriptions
The role of MDE in Software Architecture Descriptions
 
Agile programming
Agile programmingAgile programming
Agile programming
 

Similar a Software Architecture in Distributed Software Development

Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)stanbridge
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)stanbridge
 
An Architecture for Toolbox-based Software Architecture Reconstruction Solution
An Architecture for Toolbox-based Software Architecture Reconstruction SolutionAn Architecture for Toolbox-based Software Architecture Reconstruction Solution
An Architecture for Toolbox-based Software Architecture Reconstruction SolutionM Firdaus Harun
 
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...Florian Rademacher
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdfAkilaGamage2
 
02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.pptRohanBorgalli
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile waveNiels Bech Nielsen
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_contextMajong DevJfu
 
4 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-404 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-40Alexander Decker
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architecturesMajong DevJfu
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trendsVladimir Kotov
 
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...Alejandro S.
 
Federating Subversion and Git
Federating Subversion and GitFederating Subversion and Git
Federating Subversion and GitCollabNet
 
The Changing Role of the Developer in HE
The Changing Role of the Developer in HEThe Changing Role of the Developer in HE
The Changing Role of the Developer in HEPaul Walk
 
Expertise in Software Development
Expertise in Software DevelopmentExpertise in Software Development
Expertise in Software DevelopmentQAware GmbH
 

Similar a Software Architecture in Distributed Software Development (20)

Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)
 
Cs 1023 lec 1 big idea (week 1)
Cs 1023 lec 1   big idea (week 1)Cs 1023 lec 1   big idea (week 1)
Cs 1023 lec 1 big idea (week 1)
 
An Architecture for Toolbox-based Software Architecture Reconstruction Solution
An Architecture for Toolbox-based Software Architecture Reconstruction SolutionAn Architecture for Toolbox-based Software Architecture Reconstruction Solution
An Architecture for Toolbox-based Software Architecture Reconstruction Solution
 
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...Taming Complexity: On Studying the Application of Model-Driven Engineering to...
Taming Complexity: On Studying the Application of Model-Driven Engineering to...
 
Lecture-1-Introduction.pdf
Lecture-1-Introduction.pdfLecture-1-Introduction.pdf
Lecture-1-Introduction.pdf
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
 
02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
4 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-404 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-40
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
 
Software engg lect1
Software engg lect1Software engg lect1
Software engg lect1
 
Unit1
Unit1Unit1
Unit1
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...Case Study: Practical tools and strategies for tackling legacy practices and ...
Case Study: Practical tools and strategies for tackling legacy practices and ...
 
Federating Subversion and Git
Federating Subversion and GitFederating Subversion and Git
Federating Subversion and Git
 
The Changing Role of the Developer in HE
The Changing Role of the Developer in HEThe Changing Role of the Developer in HE
The Changing Role of the Developer in HE
 
Expertise in Software Development
Expertise in Software DevelopmentExpertise in Software Development
Expertise in Software Development
 
Software Lifecycle
Software LifecycleSoftware Lifecycle
Software Lifecycle
 

Último

Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Centuryrwgiffor
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting
 
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...Anamikakaur10
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...daisycvs
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxWorkforce Group
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Adnet Communications
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceMalegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceDamini Dixit
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizharallensay1
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...Aggregage
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noidadlhescort
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756dollysharma2066
 
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Sheetaleventcompany
 
Whitefield CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
Whitefield CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLWhitefield CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
Whitefield CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLkapoorjyoti4444
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityEric T. Tung
 
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...amitlee9823
 
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 

Último (20)

Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
Call Now ☎️🔝 9332606886🔝 Call Girls ❤ Service In Bhilwara Female Escorts Serv...
 
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
Quick Doctor In Kuwait +2773`7758`557 Kuwait Doha Qatar Dubai Abu Dhabi Sharj...
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
 
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort ServiceMalegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
Malegaon Call Girls Service ☎ ️82500–77686 ☎️ Enjoy 24/7 Escort Service
 
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al MizharAl Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
Al Mizhar Dubai Escorts +971561403006 Escorts Service In Al Mizhar
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
 
Whitefield CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
Whitefield CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLWhitefield CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
Whitefield CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
Call Girls Kengeri Satellite Town Just Call 👗 7737669865 👗 Top Class Call Gir...
 
Falcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in indiaFalcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in india
 
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Nelamangala Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 

Software Architecture in Distributed Software Development

  • 1. Software Architecture in Distributed Software Development Werner Heijstek, Leiden Institute of Adv. Computer Science. Universiteit Leiden The Netherlands Leiden University. The university to discover.
  • 2. Software Architecture in Distributed Software Development Introduction Werner Heijstek 1 | 24 • Sinds 2007 promovendus aan het LIACS obv. Dr. Michel Chaudron (Software Engineering Group) • Onderzoeksinteresses • gedistribueerde softwareontwikkeling • software architectuur en design (als product ´n als proces) e • modelgedreven softwareontwikkeling • software productiviteit • Samenwerkingen met verschillende (internationale) industri¨le partners en universiteiten e Leiden University. The university to discover.
  • 3. Software Architecture in Distributed Software Development Introduction Outline 2 | 24 Theory Practice Cases Studies Expert Interviews Recommendations Leiden University. The university to discover.
  • 4. Software Architecture in Distributed Software Development Theory What is Software Architecture? 3 | 24 Definition “The fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.” Architecture addresses and guarantees non-functional requirements like security maintainability, extendability and portability. Leiden University. The university to discover.
  • 5. Software Architecture in Distributed Software Development Theory Software Architecture Representation 4 | 24 The system described in this diagram provides support for creating new mortgages and alteration of existing mortgages. The design aims to separate the complexities of the business logic from the Financial Application Frontend by bundling all mortgage-related services on a central Mid Office System. This system provides services for the setup of all `mortgage actions'. The Front Office Component hosts a Financial Application Frontend which contains a Mortgage-specific Application Component. Due to concerns regarding decreased Back Office availability, mortgage action requests may have a maximum size of 300 kilobytes. The Mortgage Webservice provides an additional method to update mortgage attributes. This service only connects to an interface provided by the Mortgage Attribute Update specialization. Leiden University. The university to discover.
  • 6. Software Architecture in Distributed Software Development Theory Global Software Development 5 | 24 • Also: outsourcing, offshoring or distributed SD • Many motivations (cost, skill shortage, development speed) • India is a (very) common offshore destination • Introduces three “distances” • Fails more often than co-located software development Leiden University. The university to discover.
  • 7. Software Architecture in Distributed Software Development Theory Architecture Dissemination 6 | 24 • Two strategies exist to transfer knowledge: • Personalisation • Codification • A mix or Hybrid strategy is commonly used. • Common GSD approach is “Transfer by Development Stage” • In GSD, codification is thought to be more dominant Leiden University. The university to discover.
  • 8. Software Architecture in Distributed Software Development Practice Architecture Documentation 7 | 24 • RUP’s UML-centric Software Architecture Document (SAD) is commonly used in practice • In a set of 59 industrial SADs we found that • less then 45% of diagrams is UML • non-UML diagrams mostly lack legends • great variation exists in the ratio text-to-diagram • this is not different for GSD SADs • Diagram-dense SADs are not better understood • Linguistic distance from English greatly impacts SAD understanding Leiden University. The university to discover.
  • 9. Software Architecture in Distributed Software Development Practice Research Objective 8 | 24 Architecture matters but appears to be hindered by GSD. • How is software architecture design and dissemination organized? • What is the role of the architect(s) during the software development life cycle ? • How is software architecture documentation used? • How is architecture compliance organized? By means of three case studies and additional expert interviews Leiden University. The university to discover.
  • 10. Software Architecture in Distributed Software Development Cases Studies Case A & B Characteristics 9 | 24 Case A Case B funct. size 34 use cases 70 use cases pl. duration 10 months 3 months methodology RUP RUP budget e 800,000 e 210,000 technology .Net .Net project Expansion of an existing sys- Centralization of a hu- objective tem for indexing and making man resources portal. searchable information. interviewed Senior Mgr, Architect, Senior Mgr, Architect, onshore Project Mgr., Arch. Re- Arch. Reviewer viewer, Test Lead interviewed Project Mgr. #1, #2, Archi- Project Mgr., Sr. Devel- offshore tect, Developer #1, #2, #3, oper, Developer #4 Leiden University. The university to discover.
  • 11. Software Architecture in Distributed Software Development Cases Studies General Observations 10 | 24 Case A Case B • The strict deadline • frequent requirement was overly ambitious changes • No proof of concept • high degree of employee (POC) was built turnover • Requirements were • The offshore development changed late during team was unable to the project. package for deployment Note that these factors at not at all uncommon. Leiden University. The university to discover.
  • 12. Software Architecture in Distributed Software Development Cases Studies Architecture Communication 11 | 24 • Offshore was to deliver the architecture but failed or refused. • Architecture responsibilities moved onshore • Architect did not travel offshore • Developers often required extensive code examples • A hierarchy of developers exists offshore: 1. technical team lead (architect) 2. senior developer 3. junior developer Leiden University. The university to discover.
  • 13. Software Architecture in Distributed Software Development Cases Studies “Limited Front Office Availability” 12 | 24 :Onshore Architect :Offshore Architect :Developer Question Question Preliminary Answer Definitive Answer Leiden University. The university to discover.
  • 14. Software Architecture in Distributed Software Development Cases Studies “No Problem Here” 13 | 24 :Onshore Architect :Offshore Architect :Developer Question Question Question Question Leiden University. The university to discover.
  • 15. Software Architecture in Distributed Software Development Cases Studies “Chinese Whispers” 14 | 24 :Onsh. Arch. :Offsh. Arch. :Des. :Sr. Dev. :Dev. Q. Q. Q. Q. Leiden University. The university to discover.
  • 16. Software Architecture in Distributed Software Development Cases Studies Architecture Documentation 15 | 24 SAD was an important document, used as the primary architecture communication vehicle, but • Some (important) parts were written in Dutch • Most diagrams were not UML and box-and-line diagrams lacked legends. • Developers • found the SAD irrelevant • read only “their parts” • had too little time to read the SAD • were denied the SAD Leiden University. The university to discover.
  • 17. Software Architecture in Distributed Software Development Cases Studies Case A & B Architecture Compliance 16 | 24 developers find architecture “very important”. However: • Developers were not very knowledgeable about the software architecture • Onshore architecture reviewed half of all code (straining the project budget) • Much code was reworked by the both onshore and offshore Leiden University. The university to discover.
  • 18. Software Architecture in Distributed Software Development Cases Studies Case C Characteristics 17 | 24 Case C funct. size 800 funct. pts. pl. duration 4 months methodology Agile / Scrum budget e 400,000 technology .Net objective Rebuild of an existing application int. onshore Senior Mgr, Project Mgr. int. offshore Sr. Developer, Developer Leiden University. The university to discover.
  • 19. Software Architecture in Distributed Software Development Cases Studies Non-Model-Driven Development 18 | 24 ( Klant Business Analyst Requirements Engineer Software Architect Ontwerper ( Programmeur graag zouden wij onze klanten import java.io.*; directer met ons import java.util.* laten interactieren public class Finder { doormiddel van een portal. Figure: A ‘normal’ software development process Leiden University. The university to discover.
  • 20. Software Architecture in Distributed Software Development Cases Studies Model-Driven Development 19 | 24 Business Analyst Requirements Klant Engineer Software Ontwerper Architect Programmeur Figure: A model-driven software development process Leiden University. The university to discover.
  • 21. Software Architecture in Distributed Software Development Cases Studies Case C Development Process 20 | 24 • A proven, home grown MDD platform was employed. • This project was less complex than Cases A and B • Most of the architecture was generated. 1. Weekly, a low-level design was made by the onshore 2. This design was conferred by means of a video-link. 3. The offshore team was required to summarize what they understood. 4. This was then reviewed and implemented Leiden University. The university to discover.
  • 22. Software Architecture in Distributed Software Development Cases Studies Findings of Case Studies 21 | 24 1. Dissemination of software architecture is not formalized (while this might benefit the development process) 2. The role of the architect in GSD is not clearly defined 3. The SAD is intended to be used extensively but • is of disputable quality • developers use the SAD sparingly if at all 4. Developers find architecture very important but they are mostly knowledgeable about “their own” component Leiden University. The university to discover.
  • 23. Software Architecture in Distributed Software Development Expert Interviews Two Major Influences 22 | 24 1. Knowledge Gap Exists between the onshore and offshore location regarding • software architecture design • and its role during the software development life cycle. 2. Implementation Focus Prematurely forces projects into the construction phase. Cost reduction • drives offshore development • forces more responsibilities towards offshore • reduces opportunity for training • leads to favoring implementation-related disciplines Leiden University. The university to discover.
  • 24. Software Architecture in Distributed Software Development Expert Interviews Implications and Consequences 23 | 24 • an unclear and • more architectural incomplete SAD freedom exists • software architects • developers make available less time assumptions • less direct interaction • compliancy violations are more likely • incorrect / incomplete knowledge of the • less code is reviewed software architecture • leads to rework, delays and overrun Leiden University. The university to discover.
  • 25. Software Architecture in Distributed Software Development Recommendations Recommendations 24 | 24 1. Include offshore team in SAD development 2. Implement only after architecture is stable 3. The SAD should be mature too 4. Architects should be available more and travel 5. Verify continuously 6. Keep the SAD current to battle turnover Invest in architecture design, dissemination and coordination! Leiden University. The university to discover.
  • 26. Software Architecture in Distributed Software Development Questions? Questions? 24 | 24 ? Leiden University. The university to discover.
  • 27. Software Architecture in Distributed Software Development Contact Informatie Contact Informatie 24 | 24 Werner Heijstek heijstek@liacs.nl http://www.liacs.nl/˜heijstek Snellius building room 150 +31 (0) 71 – 527 7050 Skype: wernerheijstek Leiden University. The university to discover.