SlideShare a Scribd company logo
1 of 42
MAKING THE LEAP TO A SOFTWARE
PLATFORM STRATEGY: ISSUES AND
CHALLENGES
ABOUT PAPER
• Author Name:
1. Ghanam, Yaser (Department of Computer Science, University of Calgary,
2500 University Dr. NW, Calgary, AB, Canada T2N 1N4)
2. Frank Maurer (Department of Computer Science, University of Calgary,
2500 University Dr. NW, Calgary, AB, Canada T2N 1N4)
3. Pekka Abrahamsson (Department of Computer Science, University of
Helsinki, P.O. Box 68, 00014 Helsinki, Finland)
• Journal: Information and Software Technology 54.9 (2012): 968-984
OBJECTIVE
• This case study provides a comprehensive taxonomy of the
challenges faced when a medium scale organization decided to
adopt software platforms.
• How new trends in software engineering (i.e. agile methods,
distributed development, and flat management structures)
interplayed with the chosen platform strategy.
METHOD
• Used an ethnographic approach to collect data by spending time at
a medium-scale company in Scandinavia.
• The collected data was analyzed using Grounded Theory.
SOFTWARE REUSE
• Initially, code reuse was the main objective. Nowadays, reuse
includes other artifacts such as
1. Design documents
2. Use cases
3. Test cases
4. Processes and procedures
SOFTWARE PLATFORM STRATEGY
• One strategic way to achieve reuse is to adopt a software platform
approach
• This involves reusing relevant artifacts in the platform, and then a
customization process to produce unique products
• Problem:
There is a need to investigate the issues and challenges that
organizations face when making the leap to software platforms.
GOAL
• The goal is to provide an understanding of the issues and
challenges that may hinder the adoption of platforms as a reuse
strategy.
• RQ1. What were the general issues and challenges that the
organization faced when making the transition to a software
platform strategy
• RQ2. What were the specific issues and challenges imposed by
recent trends in modern software engineering such as agile
methods, distributed development, and flat management structures
within the context of the new platform
RESEARCH METHOD
1. Research context
2. Data collection and analysis
RESEARCH CONTEXT
• For any product, there is a backend side and a client side.
• Using platforms as a reuse strategy is a common technique in software
product line (SPL) engineering.
• Most SPL engineering approaches are proactive in nature since they
perform a two-phase development process.
• The first phase is domain engineering in which the domain artifacts (i.e.
platform) are built.
• The second phase is application engineering in which the actual building
of individual products occur.
DATA COLLECTION
• Data was collected using an ethnographic approach
• Study involved the first author conducting 3–4 full-day visits in the
company every week, over a period of 6-weeks.
• Conducted 16 in-depth interviews with individuals of different
teams and roles (25 and 72 min each)
DATA COLLECTION (CONTD.)
• Aspects of interest:
1. Management (directors influencing platform-related decisions),
2. Platform development (teams developing the platforms),
3. Product development (teams building on top of the platform).
DATA COLLECTION (CONTD.)
• Generally, interviewees were asked questions to
1. Describe their role and team responsibilities
2. How they relate to other teams,
3. What issues or blockers they have been facing when building or using the
platforms
4. What things they thought were missing but would be beneficial to have.
• The interviewees were also asked to explain certain aspects of the platform and
sometimes to draw diagrams and figures to illustrate their understanding of the
overall architecture.
DATA ANALYSIS
• The collected data was analyzed using Grounded Theory
• They started by iterating over the collected data to assign codes,
and refined these codes as more data was coded.
• This involved renaming, merging, or splitting some codes multiple
times
• The codes were grouped into larger representative concepts and
categories that evolved through multiple iterations by going back
and forth between different interviews and the other data sources.
DATA ANALYSIS (CONTD.)
• Collected data was used to conduct selective sampling when
recruiting participants for the interviews that followed.
• The taxonomy of issues started to saturate after having analyzed
about 70% of the data.
• Having this taxonomy developed, findings were compared to the
existing body of literature in relevant research areas in order to
identify similarities and differences.
ISSUES AND CHALLENGES
• Challenges are classified into four main categories
1. Business challenges
2. Organizational challenges
3. Technical challenges
4. People challenges
1. BUSINESS
CHALLENGES
• There are two main issues that can introduce major
challenges to introducing a platform strategy
A. Business strategy
B. Product-driven platform development
A. BUSINESS STRATEGY
• Target a new segment of customers in the market had a huge
impact on platform development
• Reengineering of some existing components is required to
accommodate the new scenarios
• When adopting a platform-centric approach, the amount of rework
and testing that needs to be done is usually multiplied
• This is because changing a platform component has consequences
on all products that rely on that component.
B. PRODUCT-DRIVEN PLATFORM DEVELOPMENT
• Traditionally, a platform-then-product philosophy is dominant as evident in practices like
SPL engineering, where there is an emphasis on developing domain artifacts and then
application artifacts.
• It means that an organization does not start building products until development of the
platforms underlying these products has made considerable progress.
• In Scandin, platform development was product-driven
• Some platforms were derived from a number of existing products as well as from the
requirements of an ongoing project.
• Product that relied on the platform was being developed at the same time as the
platform
B. PRODUCT-DRIVEN PLATFORM DEVELOPMENT
• Product-driven platform development was Scandin’s strategy to:
(a) Reduce the conceived risk of lost investments due to over-
engineering aspects of the platform that cannot be reused later – either
because they turn out to be unnecessary or too complex to reuse
(b) Achieve a faster return-on-investment
DISADVANTAGES
a) Instability
b) The dominance of a mainstream product
c) Competing goals
a) INSTABILITY
1. Instability:
Some components in the platform may not be mature enough
when they are used in products which causes products depending on
them to be unstable
b) THE DOMINANCE OF A MAINSTREAM PRODUCT
• If the platform development is driven by one product that is considered a
main revenue stream, then the priorities in the platform development are
likely to be coupled tightly to the needs of such a product
• This may cause the platform to become under-engineered
• This mean that the components may become too specific to the needs of
the mainstream product
• Focusing too much on the needs of the mainstream product causes other
teams who have dependencies on the platform to become ignored and
uninvolved.
c) COMPETING GOALS
• Product teams are pressured by their technical leads to start using
the platform as soon as possible (to avoid any redundancy).
2. ORGANIZATIONAL
CHALLENGES
A. Communication
B. Organizational structure
C. Agile culture
D. Standardization
A. COMMUNICATION
• Dependencies exist between the platform teams i.e. the platform teams
and the product teams, and the different business units in the
organization
• Problems:
a) Communication among platform teams
b) Communication between platform teams and product teams
c) Communication in distributed development
d) Communication between business units
a) COMMUNICATION AMONG PLATFORM TEAMS
• Teams need to communicate for a number of reasons such as:
1. Assigning responsibilities to components
2. Resolving dependencies between components
3. Agreeing on protocols and internal interfaces
4. Synchronizing releases
5. Arranging for resources that need to be shared
b) COMMUNICATION BETWEEN PLATFORM TEAMS
AND PRODUCT TEAMS
• Platform teams provide services that are consumed by product
teams
• Product teams need to know how to access and integrate with the
platform.
• Product teams provide feedback to platform teams on existing
features and report missing ones
c) COMMUNICATION IN DISTRIBUTED
DEVELOPMENT
• Distribution of teams over the world introduces further challenges
like
1. Different time zones
2. Absence of non-verbal cues such as body gestures and facial
expressions especially during screen sharing
3. Cultural differences (language or social protocols)
d) Communication between business units: Because business units
shared common platforms, they needed to communicate.
B. ORGANIZATIONAL STRUCTURE
• There are three main issues in terms of organization structure
a) Silos
b) Decision-making
c) Stakeholder involvement
a) SILOS
• State of a certain part of the organization that seems to stand alone and not
interact enough with the other parts.
• Silo thinking is a result of an organizational structure, where business units or
teams act as independent entities with their own local management and no
motivation to adhere to a centralized decision-making body or to share
information with other units.
b) DECISION-MAKING
• When the teams and business units have a sense of federalism, making decisions
related to the platform becomes a challenge
• Example: Decisions that needed to be taken on whether to reuse an existing
platform or build an independent variant to satisfy a certain business concern.
• On the one hand, Corporate had economic reasons to push reuse, but at the
corporate level it was often hard to see all the intricate details of the specific
business concerns, hence making such decisions challenging.
• On the other hand, When these decisions were left to the concerned teams and
business units, a number of issues caused the decision making process to go
astray.
b) DECISION-MAKING (CONTD.)
• Problems with centralized decision making were
1. Business units were likely to assume ownership of products and
therefore they consider such decisions an internal matter
2. When corporate made a decision to invest into building a platform,
political challenges arose when trying to kill ongoing projects that might
have been redundant to the services provided by the platform.
3. More challenging was the attempt to get a business unit to retire their
old systems and migrate to the new platform
c) STAKEHOLDER INVOLVEMENT
• It is challenging matter to get all stakeholders involved from the business side and the
technical side
• Challenge was to first identify who had a stake in a given platform
• This became more difficult when the platform was to serve different business units with
various concerns and competing goals.
• Distributed development and outsourcing were other factors that added to the
complexity of this issue
• Solution: Holding workshops to allow teams to discuss common issues and understand
their different needs from the platform
C. AGILE CULTURE
• Challenges imposed by the agile culture in the organization
a) Feature vs component teams
b) Team autonomy
c) Business-value thinking
d) Product ownership thinking
e) Agility vs stability
a) FEATURE VS COMPONENT TEAMS
• Feature teams usually assume end-to-end responsibilities in a given
system by orienting their work around features
• Component teams focus more on delivering a sub-system
• Agile advocates promote the idea of building teams around
features rather than components
• Certain services are so fundamental and expensive that they may
require a dedicated component team as opposed to being
maintained by a feature team as part of an ongoing project
b) TEAM AUTONOMY
• When members of highly autonomous teams stayed together for a
long time, those teams gradually turned into silos.
• This phenomenon often resulted in the consequences of silo
thinking.
• In some teams, high autonomy had an impact on decision-making,
where the team considered certain issues internal without paying
much attention to the consequences of their decisions on the
underlying platform.
c) BUSINESS-VALUE THINKING
• Business value is not always immediately visible or may not
influence the customer directly.
• Transition to a platform strategy might provide for many
advantages as a business, but from an end customer’s perspective,
nothing has changed.
• The research shows that in an environment, where there is strong
business-value thinking, it is a challenge to motivate certain teams
and individuals to invest into adopting the platform
d) PRODUCT OWNERSHIP THINKING
• Some teams and product owners in different business units had
been very protective of their assets and products
• This make the transition to a platform strategy more difficult.
• This is because teams owning a certain component preferred
dealing with that component rather than retire it and maintain a
shared component in the platform.
• In many cases it was not clear who owned a component in the
platform that was shared across different teams and products.
e) AGILITY VS STABILITY
• Product driven approach introduced the challenge of striking a balance
between the stability of the platform and the ability to change often and
add features.
• This is because platform stability was key because many products relied
on the platform as a common foundation.
• It had to be trusted and not changed very often.
• It was also important for the company to respond to the need of the
products in an agile manner in order to be able to compete in their
specific market.
D. STANDARDIZATION
• Lack of standardization in the organization was also challenge which
affected communication and made reuse more difficult.
• Types:
a) Standardization of documents (Format and level of detail)
b) Standardization of practices (code conventions and testing practices )
c) Standardization of tools and technical solutions (Specific tools and
procedures)
d) Standardization of acceptance criteria
d) STANDARDIZATION OF ACCEPTANCE CRITERIA
• There should be a list of criteria that needed to be met before a feature or
a task was considered done
- Successful compilation, passing regression tests, predefined
straighforward minimum amount of test coverage, and updating relevant
documents
• If there are no standards, teams can lose confidence and trust when
reusing components developed by others or when referring to documents
written by different business units
Making the leap to a software platform strategy issues and challenges

More Related Content

Similar to Making the leap to a software platform strategy issues and challenges

Software product line
Software product lineSoftware product line
Software product lineHimanshu
 
Product design and development ch4
Product design and development ch4Product design and development ch4
Product design and development ch4Kavindra Singh
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineeringmoduledesign
 
Deciphering the DNA of innovation platforms
Deciphering the DNA of innovation platforms Deciphering the DNA of innovation platforms
Deciphering the DNA of innovation platforms Zelalem Lema
 
Deciphering the DNA of innovation platforms
Deciphering the DNA of innovation platformsDeciphering the DNA of innovation platforms
Deciphering the DNA of innovation platformsILRI
 
5 Simple Ways to Higher DevOps Integration
5 Simple Ways to Higher DevOps Integration5 Simple Ways to Higher DevOps Integration
5 Simple Ways to Higher DevOps IntegrationBeyond20
 
Product planning
Product planningProduct planning
Product planningKavin P
 
Child-Friendly Technology Framework
Child-Friendly Technology FrameworkChild-Friendly Technology Framework
Child-Friendly Technology FrameworkChristopher Fabian
 
UE20CS971+%E2%80%93++Project+Phase+%E2%80%93+1+-+END+SEMESTER+ASSESSMENT.pptx
UE20CS971+%E2%80%93++Project+Phase+%E2%80%93+1+-+END+SEMESTER+ASSESSMENT.pptxUE20CS971+%E2%80%93++Project+Phase+%E2%80%93+1+-+END+SEMESTER+ASSESSMENT.pptx
UE20CS971+%E2%80%93++Project+Phase+%E2%80%93+1+-+END+SEMESTER+ASSESSMENT.pptxBharathVaak
 
Recaro Aircraft Seating: Innovating the Innovation System in a Mittelstand Co...
Recaro Aircraft Seating: Innovating the Innovation System in a Mittelstand Co...Recaro Aircraft Seating: Innovating the Innovation System in a Mittelstand Co...
Recaro Aircraft Seating: Innovating the Innovation System in a Mittelstand Co...Vladimir Pushmin
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economicsmeena466141
 
Human Computer Interaction in software process.ppt
Human Computer Interaction in software process.pptHuman Computer Interaction in software process.ppt
Human Computer Interaction in software process.pptJothilakshmi S
 
The Project Management and Information Technology Context(1).pptx
The Project Management and Information Technology Context(1).pptxThe Project Management and Information Technology Context(1).pptx
The Project Management and Information Technology Context(1).pptxjayakodyjayakody
 
UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxDevnath13
 

Similar to Making the leap to a software platform strategy issues and challenges (20)

Software product line
Software product lineSoftware product line
Software product line
 
Product design and development ch4
Product design and development ch4Product design and development ch4
Product design and development ch4
 
system development life cycle
system development life cyclesystem development life cycle
system development life cycle
 
Sakai Development Process
Sakai Development ProcessSakai Development Process
Sakai Development Process
 
Final projects
Final projectsFinal projects
Final projects
 
Lecture 3 software_engineering
Lecture 3 software_engineeringLecture 3 software_engineering
Lecture 3 software_engineering
 
Deciphering the DNA of innovation platforms
Deciphering the DNA of innovation platforms Deciphering the DNA of innovation platforms
Deciphering the DNA of innovation platforms
 
Deciphering the DNA of innovation platforms
Deciphering the DNA of innovation platformsDeciphering the DNA of innovation platforms
Deciphering the DNA of innovation platforms
 
5 Simple Ways to Higher DevOps Integration
5 Simple Ways to Higher DevOps Integration5 Simple Ways to Higher DevOps Integration
5 Simple Ways to Higher DevOps Integration
 
Product planning
Product planningProduct planning
Product planning
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
 
ID, UP, & RUP.pptx
ID, UP, & RUP.pptxID, UP, & RUP.pptx
ID, UP, & RUP.pptx
 
Child-Friendly Technology Framework
Child-Friendly Technology FrameworkChild-Friendly Technology Framework
Child-Friendly Technology Framework
 
UE20CS971+%E2%80%93++Project+Phase+%E2%80%93+1+-+END+SEMESTER+ASSESSMENT.pptx
UE20CS971+%E2%80%93++Project+Phase+%E2%80%93+1+-+END+SEMESTER+ASSESSMENT.pptxUE20CS971+%E2%80%93++Project+Phase+%E2%80%93+1+-+END+SEMESTER+ASSESSMENT.pptx
UE20CS971+%E2%80%93++Project+Phase+%E2%80%93+1+-+END+SEMESTER+ASSESSMENT.pptx
 
Recaro Aircraft Seating: Innovating the Innovation System in a Mittelstand Co...
Recaro Aircraft Seating: Innovating the Innovation System in a Mittelstand Co...Recaro Aircraft Seating: Innovating the Innovation System in a Mittelstand Co...
Recaro Aircraft Seating: Innovating the Innovation System in a Mittelstand Co...
 
Lect5 improving software economics
Lect5 improving software economicsLect5 improving software economics
Lect5 improving software economics
 
Human Computer Interaction in software process.ppt
Human Computer Interaction in software process.pptHuman Computer Interaction in software process.ppt
Human Computer Interaction in software process.ppt
 
The Project Management and Information Technology Context(1).pptx
The Project Management and Information Technology Context(1).pptxThe Project Management and Information Technology Context(1).pptx
The Project Management and Information Technology Context(1).pptx
 
UNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptxUNIT V - 1 SPM.pptx
UNIT V - 1 SPM.pptx
 
Concept Generation Aksh ppt
Concept Generation Aksh pptConcept Generation Aksh ppt
Concept Generation Aksh ppt
 

Recently uploaded

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 

Recently uploaded (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 

Making the leap to a software platform strategy issues and challenges

  • 1. MAKING THE LEAP TO A SOFTWARE PLATFORM STRATEGY: ISSUES AND CHALLENGES
  • 2. ABOUT PAPER • Author Name: 1. Ghanam, Yaser (Department of Computer Science, University of Calgary, 2500 University Dr. NW, Calgary, AB, Canada T2N 1N4) 2. Frank Maurer (Department of Computer Science, University of Calgary, 2500 University Dr. NW, Calgary, AB, Canada T2N 1N4) 3. Pekka Abrahamsson (Department of Computer Science, University of Helsinki, P.O. Box 68, 00014 Helsinki, Finland) • Journal: Information and Software Technology 54.9 (2012): 968-984
  • 3. OBJECTIVE • This case study provides a comprehensive taxonomy of the challenges faced when a medium scale organization decided to adopt software platforms. • How new trends in software engineering (i.e. agile methods, distributed development, and flat management structures) interplayed with the chosen platform strategy.
  • 4. METHOD • Used an ethnographic approach to collect data by spending time at a medium-scale company in Scandinavia. • The collected data was analyzed using Grounded Theory.
  • 5. SOFTWARE REUSE • Initially, code reuse was the main objective. Nowadays, reuse includes other artifacts such as 1. Design documents 2. Use cases 3. Test cases 4. Processes and procedures
  • 6. SOFTWARE PLATFORM STRATEGY • One strategic way to achieve reuse is to adopt a software platform approach • This involves reusing relevant artifacts in the platform, and then a customization process to produce unique products • Problem: There is a need to investigate the issues and challenges that organizations face when making the leap to software platforms.
  • 7. GOAL • The goal is to provide an understanding of the issues and challenges that may hinder the adoption of platforms as a reuse strategy. • RQ1. What were the general issues and challenges that the organization faced when making the transition to a software platform strategy • RQ2. What were the specific issues and challenges imposed by recent trends in modern software engineering such as agile methods, distributed development, and flat management structures within the context of the new platform
  • 8. RESEARCH METHOD 1. Research context 2. Data collection and analysis
  • 9. RESEARCH CONTEXT • For any product, there is a backend side and a client side. • Using platforms as a reuse strategy is a common technique in software product line (SPL) engineering. • Most SPL engineering approaches are proactive in nature since they perform a two-phase development process. • The first phase is domain engineering in which the domain artifacts (i.e. platform) are built. • The second phase is application engineering in which the actual building of individual products occur.
  • 10. DATA COLLECTION • Data was collected using an ethnographic approach • Study involved the first author conducting 3–4 full-day visits in the company every week, over a period of 6-weeks. • Conducted 16 in-depth interviews with individuals of different teams and roles (25 and 72 min each)
  • 11. DATA COLLECTION (CONTD.) • Aspects of interest: 1. Management (directors influencing platform-related decisions), 2. Platform development (teams developing the platforms), 3. Product development (teams building on top of the platform).
  • 12. DATA COLLECTION (CONTD.) • Generally, interviewees were asked questions to 1. Describe their role and team responsibilities 2. How they relate to other teams, 3. What issues or blockers they have been facing when building or using the platforms 4. What things they thought were missing but would be beneficial to have. • The interviewees were also asked to explain certain aspects of the platform and sometimes to draw diagrams and figures to illustrate their understanding of the overall architecture.
  • 13. DATA ANALYSIS • The collected data was analyzed using Grounded Theory • They started by iterating over the collected data to assign codes, and refined these codes as more data was coded. • This involved renaming, merging, or splitting some codes multiple times • The codes were grouped into larger representative concepts and categories that evolved through multiple iterations by going back and forth between different interviews and the other data sources.
  • 14. DATA ANALYSIS (CONTD.) • Collected data was used to conduct selective sampling when recruiting participants for the interviews that followed. • The taxonomy of issues started to saturate after having analyzed about 70% of the data. • Having this taxonomy developed, findings were compared to the existing body of literature in relevant research areas in order to identify similarities and differences.
  • 15. ISSUES AND CHALLENGES • Challenges are classified into four main categories 1. Business challenges 2. Organizational challenges 3. Technical challenges 4. People challenges
  • 16. 1. BUSINESS CHALLENGES • There are two main issues that can introduce major challenges to introducing a platform strategy A. Business strategy B. Product-driven platform development
  • 17. A. BUSINESS STRATEGY • Target a new segment of customers in the market had a huge impact on platform development • Reengineering of some existing components is required to accommodate the new scenarios • When adopting a platform-centric approach, the amount of rework and testing that needs to be done is usually multiplied • This is because changing a platform component has consequences on all products that rely on that component.
  • 18. B. PRODUCT-DRIVEN PLATFORM DEVELOPMENT • Traditionally, a platform-then-product philosophy is dominant as evident in practices like SPL engineering, where there is an emphasis on developing domain artifacts and then application artifacts. • It means that an organization does not start building products until development of the platforms underlying these products has made considerable progress. • In Scandin, platform development was product-driven • Some platforms were derived from a number of existing products as well as from the requirements of an ongoing project. • Product that relied on the platform was being developed at the same time as the platform
  • 19. B. PRODUCT-DRIVEN PLATFORM DEVELOPMENT • Product-driven platform development was Scandin’s strategy to: (a) Reduce the conceived risk of lost investments due to over- engineering aspects of the platform that cannot be reused later – either because they turn out to be unnecessary or too complex to reuse (b) Achieve a faster return-on-investment
  • 20. DISADVANTAGES a) Instability b) The dominance of a mainstream product c) Competing goals
  • 21. a) INSTABILITY 1. Instability: Some components in the platform may not be mature enough when they are used in products which causes products depending on them to be unstable
  • 22. b) THE DOMINANCE OF A MAINSTREAM PRODUCT • If the platform development is driven by one product that is considered a main revenue stream, then the priorities in the platform development are likely to be coupled tightly to the needs of such a product • This may cause the platform to become under-engineered • This mean that the components may become too specific to the needs of the mainstream product • Focusing too much on the needs of the mainstream product causes other teams who have dependencies on the platform to become ignored and uninvolved.
  • 23. c) COMPETING GOALS • Product teams are pressured by their technical leads to start using the platform as soon as possible (to avoid any redundancy).
  • 24. 2. ORGANIZATIONAL CHALLENGES A. Communication B. Organizational structure C. Agile culture D. Standardization
  • 25. A. COMMUNICATION • Dependencies exist between the platform teams i.e. the platform teams and the product teams, and the different business units in the organization • Problems: a) Communication among platform teams b) Communication between platform teams and product teams c) Communication in distributed development d) Communication between business units
  • 26. a) COMMUNICATION AMONG PLATFORM TEAMS • Teams need to communicate for a number of reasons such as: 1. Assigning responsibilities to components 2. Resolving dependencies between components 3. Agreeing on protocols and internal interfaces 4. Synchronizing releases 5. Arranging for resources that need to be shared
  • 27. b) COMMUNICATION BETWEEN PLATFORM TEAMS AND PRODUCT TEAMS • Platform teams provide services that are consumed by product teams • Product teams need to know how to access and integrate with the platform. • Product teams provide feedback to platform teams on existing features and report missing ones
  • 28. c) COMMUNICATION IN DISTRIBUTED DEVELOPMENT • Distribution of teams over the world introduces further challenges like 1. Different time zones 2. Absence of non-verbal cues such as body gestures and facial expressions especially during screen sharing 3. Cultural differences (language or social protocols) d) Communication between business units: Because business units shared common platforms, they needed to communicate.
  • 29. B. ORGANIZATIONAL STRUCTURE • There are three main issues in terms of organization structure a) Silos b) Decision-making c) Stakeholder involvement
  • 30. a) SILOS • State of a certain part of the organization that seems to stand alone and not interact enough with the other parts. • Silo thinking is a result of an organizational structure, where business units or teams act as independent entities with their own local management and no motivation to adhere to a centralized decision-making body or to share information with other units.
  • 31. b) DECISION-MAKING • When the teams and business units have a sense of federalism, making decisions related to the platform becomes a challenge • Example: Decisions that needed to be taken on whether to reuse an existing platform or build an independent variant to satisfy a certain business concern. • On the one hand, Corporate had economic reasons to push reuse, but at the corporate level it was often hard to see all the intricate details of the specific business concerns, hence making such decisions challenging. • On the other hand, When these decisions were left to the concerned teams and business units, a number of issues caused the decision making process to go astray.
  • 32. b) DECISION-MAKING (CONTD.) • Problems with centralized decision making were 1. Business units were likely to assume ownership of products and therefore they consider such decisions an internal matter 2. When corporate made a decision to invest into building a platform, political challenges arose when trying to kill ongoing projects that might have been redundant to the services provided by the platform. 3. More challenging was the attempt to get a business unit to retire their old systems and migrate to the new platform
  • 33. c) STAKEHOLDER INVOLVEMENT • It is challenging matter to get all stakeholders involved from the business side and the technical side • Challenge was to first identify who had a stake in a given platform • This became more difficult when the platform was to serve different business units with various concerns and competing goals. • Distributed development and outsourcing were other factors that added to the complexity of this issue • Solution: Holding workshops to allow teams to discuss common issues and understand their different needs from the platform
  • 34. C. AGILE CULTURE • Challenges imposed by the agile culture in the organization a) Feature vs component teams b) Team autonomy c) Business-value thinking d) Product ownership thinking e) Agility vs stability
  • 35. a) FEATURE VS COMPONENT TEAMS • Feature teams usually assume end-to-end responsibilities in a given system by orienting their work around features • Component teams focus more on delivering a sub-system • Agile advocates promote the idea of building teams around features rather than components • Certain services are so fundamental and expensive that they may require a dedicated component team as opposed to being maintained by a feature team as part of an ongoing project
  • 36. b) TEAM AUTONOMY • When members of highly autonomous teams stayed together for a long time, those teams gradually turned into silos. • This phenomenon often resulted in the consequences of silo thinking. • In some teams, high autonomy had an impact on decision-making, where the team considered certain issues internal without paying much attention to the consequences of their decisions on the underlying platform.
  • 37. c) BUSINESS-VALUE THINKING • Business value is not always immediately visible or may not influence the customer directly. • Transition to a platform strategy might provide for many advantages as a business, but from an end customer’s perspective, nothing has changed. • The research shows that in an environment, where there is strong business-value thinking, it is a challenge to motivate certain teams and individuals to invest into adopting the platform
  • 38. d) PRODUCT OWNERSHIP THINKING • Some teams and product owners in different business units had been very protective of their assets and products • This make the transition to a platform strategy more difficult. • This is because teams owning a certain component preferred dealing with that component rather than retire it and maintain a shared component in the platform. • In many cases it was not clear who owned a component in the platform that was shared across different teams and products.
  • 39. e) AGILITY VS STABILITY • Product driven approach introduced the challenge of striking a balance between the stability of the platform and the ability to change often and add features. • This is because platform stability was key because many products relied on the platform as a common foundation. • It had to be trusted and not changed very often. • It was also important for the company to respond to the need of the products in an agile manner in order to be able to compete in their specific market.
  • 40. D. STANDARDIZATION • Lack of standardization in the organization was also challenge which affected communication and made reuse more difficult. • Types: a) Standardization of documents (Format and level of detail) b) Standardization of practices (code conventions and testing practices ) c) Standardization of tools and technical solutions (Specific tools and procedures) d) Standardization of acceptance criteria
  • 41. d) STANDARDIZATION OF ACCEPTANCE CRITERIA • There should be a list of criteria that needed to be met before a feature or a task was considered done - Successful compilation, passing regression tests, predefined straighforward minimum amount of test coverage, and updating relevant documents • If there are no standards, teams can lose confidence and trust when reusing components developed by others or when referring to documents written by different business units

Editor's Notes

  1. Taxonomy: Classification agile methods: Agile is an iterative development methodology, where requirements evolve through collaboration between the customer and self-organizing teams and agile aligns development with customer needs.
  2. Ethnographic approach: Approach in which participant record observation as a part of field research. Grounded Theory: construction of theory through the analysis of data A study using grounded theory is likely to begin with a question, or even just with the collection of qualitative data. As researchers review the data collected, repeated ideas, concepts or elements become apparent, and are tagged with codes, which have been extracted from the data. As more data are collected, and as data are re-reviewed, codes can be grouped into concepts, and then into categories. These categories may become the basis for new theory.
  3. Some estimates suggest that 60% of the design of all business applications is reusable, and only 15% of software code is unique in a given domain or organization. Many advantages of software reuse have been reported in the literature namely: fast delivery of products as less development and testing is required, reduced development and maintenance costs, improved quality of reused artifacts, reduced risks by reusing a previously proved solution, and better project estimates for time and cost.
  4. We use the term platform to refer to a set of sub-systems and interfaces that form a common infrastructure from which a set of related products can be developed.
  5. To achieve this goal, we studied an organization that underwent a transition to a platform strategy. Agile is an iterative development methodology, where requirements evolve through collaboration between the customer and self-organizing teams and agile aligns development with customer needs.
  6. research was conducted in a software company in Scandinavia (Scandin) a medium-scale organization.
  7. platforms were needed on both sides. systematic variability management techniques: techniques help achieve a number of benefits including defining the sources of variability and the different variants, tracing variability from the model to the code and vice versa, and communicating variability to the different stakeholders
  8. Ethnography is a data collection approach that involves spending time in the field to make first-hand observations
  9. goal was to get a sample of individuals that covered the different aspects related to our research interest.
  10. snowball sampling: used the collected data as well as suggestions from the interviewees to guide the selection process of other interviewees.
  11. Grounded Theory is a qualitative research method in which generation of a theory occurs by looking into the collected data for patterns and concepts
  12. Grounded Theory is a qualitative research method in which generation of a theory occurs by looking into the collected data for patterns and concepts Taxonomy: the classification of something
  13. OEM level : Original Equipment Manufacturer
  14. ** In cases, where this communication is not effective, teams may work on overlapping areas of the platform causing redundancy and rework.
  15. Federalism: the federal principle or system of government. Intricate: very complicated or detailed. Astray: away from the correct path or direction
  16. platforms are an enterprise-level concern Redundant: Unnecessary
  17. For example, in order to build a platform for licensing in a unified way across all products in a given portfolio, the company first needed to involve all the parties responsible for the older licensing models, and the parties responsible for merging these models into a single unified licensing component in the platform. This meant getting on-board the technical leads and architects representing products using the older models, products that will use the new model, and products that are specific to certain operating systems. From the business side, solution managers and business analysts were also involved to make sure the technical solution did not affect a business case in a negative way (e.g. affecting a revenue stream or an agreement with a third-party).
  18. product-driven: some platforms were derived from a number of existing products as well as from the requirements of an ongoing project.