SlideShare a Scribd company logo
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.

More Related Content

What's hot

G213538
G213538G213538
L06 Architecting Activities
L06 Architecting ActivitiesL06 Architecting Activities
L06 Architecting Activities
Henry Muccini
 
Bikram kishor rout
Bikram kishor routBikram kishor rout
Bikram kishor rout
Bikram Rout
 
Activities Oriented Design Environments
Activities Oriented Design EnvironmentsActivities Oriented Design Environments
Activities Oriented Design Environments
Farid Mokhtar Noriega
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
Dr VISU P
 
Se lect1 btech
Se lect1 btechSe lect1 btech
Se lect1 btech
IIITA
 
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
 
Tem.10.M
Tem.10.MTem.10.M
Tem.10.M
charles_hart
 
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 ppt
Dr 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 2010
bdwwork
 
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
Henry Muccini
 
Agile programming
Agile programmingAgile programming
Agile programming
Alexander Decker
 

What's hot (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 to 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 Solution
M 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.pdf
AkilaGamage2
 
Unit 1.ppt
Unit 1.pptUnit 1.ppt
Unit 1.ppt
MsRAMYACSE
 
02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt
RohanBorgalli
 
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
Niels Bech Nielsen
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
Carlos Gavidia-Calderon
 
4 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-404 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-40
Alexander Decker
 
04 designing architectures
04 designing architectures04 designing architectures
04 designing architectures
Majong DevJfu
 
Software engg lect1
Software engg lect1Software engg lect1
Software engg lect1
Siddhartha Duggirala
 
Unit1
Unit1Unit1
Unit1
anuragmbst
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
Vladimir 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 Git
CollabNet
 
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
Paul Walk
 
Expertise in Software Development
Expertise in Software DevelopmentExpertise in Software Development
Expertise in Software Development
QAware GmbH
 
Software Lifecycle
Software LifecycleSoftware Lifecycle
Software Lifecycle
Soumen Sarkar
 

Similar to 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
 

Recently uploaded

Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel ChartSatta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
AnnySerafinaLove
 
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
my Pandit
 
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Kalyan Satta Matka Guessing Matka Result Main Bazar chart
 
Call8328958814 satta matka Kalyan result satta guessing
Call8328958814 satta matka Kalyan result satta guessingCall8328958814 satta matka Kalyan result satta guessing
Call8328958814 satta matka Kalyan result satta guessing
➑➌➋➑➒➎➑➑➊➍
 
How to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM SoftwareHow to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM Software
SalesTown
 
The Genesis of BriansClub.cm Famous Dark WEb Platform
The Genesis of BriansClub.cm Famous Dark WEb PlatformThe Genesis of BriansClub.cm Famous Dark WEb Platform
The Genesis of BriansClub.cm Famous Dark WEb Platform
SabaaSudozai
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
Christian Dahlen
 
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta MatkaDpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
➒➌➎➏➑➐➋➑➐➐Dpboss Matka Guessing Satta Matka Kalyan Chart Indian Matka
 
The latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from NewentideThe latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from Newentide
JoeYangGreatMachiner
 
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
taqyea
 
The 10 Most Influential Leaders Guiding Corporate Evolution, 2024.pdf
The 10 Most Influential Leaders Guiding Corporate Evolution, 2024.pdfThe 10 Most Influential Leaders Guiding Corporate Evolution, 2024.pdf
The 10 Most Influential Leaders Guiding Corporate Evolution, 2024.pdf
thesiliconleaders
 
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
Stephen Cashman
 
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your TasteZodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
my Pandit
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
CLIVE MINCHIN
 
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Lviv Startup Club
 
Innovation Management Frameworks: Your Guide to Creativity & Innovation
Innovation Management Frameworks: Your Guide to Creativity & InnovationInnovation Management Frameworks: Your Guide to Creativity & Innovation
Innovation Management Frameworks: Your Guide to Creativity & Innovation
Operational Excellence Consulting
 
Creative Web Design Company in Singapore
Creative Web Design Company in SingaporeCreative Web Design Company in Singapore
Creative Web Design Company in Singapore
techboxsqauremedia
 
Understanding User Needs and Satisfying Them
Understanding User Needs and Satisfying ThemUnderstanding User Needs and Satisfying Them
Understanding User Needs and Satisfying Them
Aggregage
 
The APCO Geopolitical Radar - Q3 2024 The Global Operating Environment for Bu...
The APCO Geopolitical Radar - Q3 2024 The Global Operating Environment for Bu...The APCO Geopolitical Radar - Q3 2024 The Global Operating Environment for Bu...
The APCO Geopolitical Radar - Q3 2024 The Global Operating Environment for Bu...
APCO
 

Recently uploaded (20)

Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel ChartSatta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
Satta Matka Dpboss Matka Guessing Kalyan Chart Indian Matka Kalyan panel Chart
 
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
Anny Serafina Love - Letter of Recommendation by Kellen Harkins, MS.
 
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
Taurus Zodiac Sign: Unveiling the Traits, Dates, and Horoscope Insights of th...
 
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
❼❷⓿❺❻❷❽❷❼❽ Dpboss Matka Result Satta Matka Guessing Satta Fix jodi Kalyan Fin...
 
Call8328958814 satta matka Kalyan result satta guessing
Call8328958814 satta matka Kalyan result satta guessingCall8328958814 satta matka Kalyan result satta guessing
Call8328958814 satta matka Kalyan result satta guessing
 
How to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM SoftwareHow to Implement a Real Estate CRM Software
How to Implement a Real Estate CRM Software
 
The Genesis of BriansClub.cm Famous Dark WEb Platform
The Genesis of BriansClub.cm Famous Dark WEb PlatformThe Genesis of BriansClub.cm Famous Dark WEb Platform
The Genesis of BriansClub.cm Famous Dark WEb Platform
 
Industrial Tech SW: Category Renewal and Creation
Industrial Tech SW:  Category Renewal and CreationIndustrial Tech SW:  Category Renewal and Creation
Industrial Tech SW: Category Renewal and Creation
 
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta MatkaDpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
Dpboss Matka Guessing Satta Matta Matka Kalyan Chart Satta Matka
 
The latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from NewentideThe latest Heat Pump Manual from Newentide
The latest Heat Pump Manual from Newentide
 
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
一比一原版新西兰奥塔哥大学毕业证(otago毕业证)如何办理
 
The 10 Most Influential Leaders Guiding Corporate Evolution, 2024.pdf
The 10 Most Influential Leaders Guiding Corporate Evolution, 2024.pdfThe 10 Most Influential Leaders Guiding Corporate Evolution, 2024.pdf
The 10 Most Influential Leaders Guiding Corporate Evolution, 2024.pdf
 
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
The Heart of Leadership_ How Emotional Intelligence Drives Business Success B...
 
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your TasteZodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
Zodiac Signs and Food Preferences_ What Your Sign Says About Your Taste
 
Best practices for project execution and delivery
Best practices for project execution and deliveryBest practices for project execution and delivery
Best practices for project execution and delivery
 
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
Maksym Vyshnivetskyi: PMO KPIs (UA) (#12)
 
Innovation Management Frameworks: Your Guide to Creativity & Innovation
Innovation Management Frameworks: Your Guide to Creativity & InnovationInnovation Management Frameworks: Your Guide to Creativity & Innovation
Innovation Management Frameworks: Your Guide to Creativity & Innovation
 
Creative Web Design Company in Singapore
Creative Web Design Company in SingaporeCreative Web Design Company in Singapore
Creative Web Design Company in Singapore
 
Understanding User Needs and Satisfying Them
Understanding User Needs and Satisfying ThemUnderstanding User Needs and Satisfying Them
Understanding User Needs and Satisfying Them
 
The APCO Geopolitical Radar - Q3 2024 The Global Operating Environment for Bu...
The APCO Geopolitical Radar - Q3 2024 The Global Operating Environment for Bu...The APCO Geopolitical Radar - Q3 2024 The Global Operating Environment for Bu...
The APCO Geopolitical Radar - Q3 2024 The Global Operating Environment for Bu...
 

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.