Content uploaded by Olavo Barbosa
Author content
All content in this area was uploaded by Olavo Barbosa on Apr 19, 2016
Content may be subject to copyright.
Software Ecosystems:
Trends and Impacts on Software Engineering
Rodrigo Santos, Cláudia Werner
Computer Science and System Engineering Department
COPPE – Federal University of Rio de Janeiro
Rio de Janeiro, Brazil
{rps, werner}@cos.ufrj.br
Olavo Barbosa, Carina Alves
Center of Informatics
CIn – Federal University of Pernambuco
Recife, Brazil
{oalpb, cfa}@cin.ufpe.br
Abstract – Economic and social issues were pointed out as Software
Engineering (SE) challenges for the next years, since the field needs
to treat issues beyond the technical side, which requires observing it
in another perspective. In this sense, the study of software
ecosystems is an emerging discipline that investigates the complex
relationships among companies in the software industry.
Companies work cooperatively and competitively in order to
achieve their strategic objectives. They must engage in a new
perspective, now also including third parties motivations and
movements in the ecosystem, besides their own business
perspective. Inspired from properties by natural and business
ecosystems, a software ecosystem covers technical and business
aspects of software development as well as partnership among
companies. In this paper, we undertake a review on software
ecosystems status as an emerging research topic in SE community,
i.e., mapping what is currently known about software ecosystems
and also analyzing them in a three-dimensional perspective in SE,
i.e., technical, business and social. We observed that software
ecosystems research is concentrated in eight main areas in which
the most relevant ones are open source software, ecosystem
modeling, and business issues. This paper also contributes to
summarize the body of knowledge and presents a research agenda
in software ecosystems.
Keywords – software ecosystems; software reuse; open source
software, component-based development; global software
development; social networks; value-based software engineering.
I.
I
NTRODUCTION
Economic and social issues in Software Engineering (SE)
have been pointed out as a challenge for the next years [Boe].
This scenario directly impacts the decision making in software
industry because it requires not only the understanding of
investments and costs, but benefits, risks and opportunities [Bif].
So, the mentioned challenge reinforces that SE needs to treat
issues beyond the technical side, which requires observing SE in
another perspective, especially in a software intensive systems
and systems of systems scenario. According to Bosch [Bos], this
scenario requires more software engineers who focus on the
system as a whole, i.e., to combine software, hardware and
“peopleware” in a platform. Software and systems development
involves better thinking about platforms, and their nets of
artifacts and stakeholders (software developers, engineers, users,
clients, business staff, government etc.).
Thus, increasing attention is being paid to connectivity and
dependency in relationships between companies. Innovations no
longer originate in a single organization; rather they are co-
innovations from different players [Arndt and Dibbern, 2006].
Companies co-evolve capabilities around a new innovation: they
work cooperatively and competitively to support new products,
satisfy customer needs, and eventually incorporate the next round
of innovations [Moore, 1993]. These loose networks of suppliers,
distributors, outsourcing companies, developers of related
products or services, technology providers, and a host of other
organizations affect and are affected by, the creation and delivery
of a company’s own offerings [Iansiti and Levien, 2004].
According to these viewpoints, researchers have coined a new
perspective to analyze the software industry, called Software
Ecosystems (SECOs). This is an emergent field inspired on
concepts from Moore and Iansiti’s business and biological
ecosystems [Moore, 1993] [Iansiti and Levien, 2004].
According to Bosch and Bosch-Sijtsema [5], for most
software systems companies, large-scale software development is
complicated, expensive, slow and unpredictable. An example is
the fact that software teams have been working geographically
dispersed since industry decided to explore the distribution of
software development processes and resources as a mean to
reduce cost and development time, and also to expand to new
markets [16][28]. So, three trends accelerate the complexity of
software development [5]: (i) the wide-spread adoption of
software product lines (SPLs) and the sub challenge of exposing
reusable assets and opening the platform architecture; (ii) the
broad globalization of software development in many
organizations and the sub challenge of elevated complexity of
sociotechnical dependency management; and (iii) the importance
of building a SECO as a community of external developers
around a successful product as a popular and central hub to the
strategy of many companies, and the sub challenge of structuring
the dependencies between the platform company and the third-
part developers since it is an evolution of the software reuse [4].
In this sense, component-based development (CBD)
represents a fundamental pillar of SECO platforms considering
an engineering mindset [7] and the three mentioned sub
challenges. Components can be internally developed or acquired
as COTS, or open source. Mature industrial application is reuse-
driven and uses existent artifacts when possible, contributing to
improvements and maturing repositories [Ove04]. Thus, the
development of a new system is focused on specific requirements
and components that represent a competitive advantage for the
platform, considering the system domain peculiarities, clients’
needs, existent technologies etc. The traditional strategy for
developing a unique product has been changed into developing
multiple products, based on a common system architecture that
consists in exploring reuse [18]. On the other hand, due to the
tendency of opening SECO platforms to third-part developers in
order to get a competitive advantage and maintain a community
around the platform and systems [10], CBD critical issues can be
listed: standardization, information visualization, guidelines to
support customizations, and intellectual property [29].
In the SE community, studies of SECOs were motivated by
the SPLs approach aiming at allowing external developers to
contribute to hitherto closed platforms [Bosch, 2009]. However,
different research directions indicated by literature and industrial
cases reinforce a lot of important perspectives to be explored,
such as architecture, social networks, modeling, business, mobile
platforms and organizational-based management [Jansen, 2009a].
Besides, SECOs involve a multidisciplinary perspective,
including Sociology, Communication, Economy, Business and
Law. These studies are also motivated by the software vendors’
routine since they no longer function as independent units that
can deliver separate products, but have become dependent on
other software vendors for vital software components and
infrastructures, such as operating systems, libraries, component
stores, and platforms [Boucharas et al., 2009].
Some questions emerge: “open source or proprietary: what is
the best scenario?”, “what is the most attractive strategy in global
software development (GSD)?”, “what is the most innovative one
considering SPLs?”, “how to perform the process of opening the
platforms’ architectures?” etc. These questions emerge in
software industry and SE area starts observing them because it
requires linking an architectural, a business and a social-based
viewpoint in an integrated way, focused on a SECO management
and engineering (M&E). Since SECO has focused on large
systems of systems, this concept is not formally applied to
Brazilian platforms yet, although the governmental platform can
represent a significant case study [25], considering initiatives in
relation to Software Reuse Processes. Also, agile methodologies
and specific software quality models such as MPS Model can
create opportunities to generate a large SECO from a set of
micro, small and medium companies [19].
In order to better understand SECO trends and impacts in SE
considering the mentioned scenario, we undertake a review on
SECO status as a research topic, mapping what is currently
known about SECOs and also analyzing them in a three-
dimensional perspective in SE, i.e., technical, business and social.
In this way, we intend to summarize the body of knowledge and
present a research agenda in SECOs based on joining existing
perspectives in SECOs research from a survey [19] through a
research strategy. Besides this introduction, the paper is
organized in the following: Section II presents an overviewof
SECOs; Section III discusses the results of a previous study to
characterize the SECOs research status; Section IV exposes a
roadmap for SECOs in SE area, called ReuseECOS; finally,
Section V concludes the paper pointing out its contributions
through topics for a research agenda for SECOs.
II. S
OFTWARE
E
COSYSTEMS
O
VERVIEW
SECOs consists a new perspective in SE field due to their
rapid evolution in the last decade, though the first researches in
this topic were done by Business Schools in the 90’s [13][14].
Jansen et al. [10] defines SECO as a set of businesses functioning
as a unit and interacting with a shared market for software and
services, together with the relationships among them, frequently
underpinned by a common technological platform or market, and
operating through the exchange of information, resources and
artifacts. Some examples of SECOs are the MySQL/PHP SECO,
the Microsoft SECO, and the iPhone SECO [9], and these cases
can be used to establish typical characteristics of SECOs: (i)
SECOs can be contained in other SECOs, such as the Microsoft
CRM SECO that is contained in the complete Microsoft SECO;
and (ii) one might refer to the iPhone SECO with its AppStore as
a closed SECO, whereas the MySQL/PHP SECO is open, since
organizations have access to its source code and related
knowledge bases. Amazon, Nokia and Apple are pioneers in
SECO analysis and have treated SECO as a SE research topic.
SECOs studies in the SE community were motivated by the
software product lines (SPLs) approach aiming at allowing
external developers to contribute to hitherto closed platforms
through GSD [4][5]. Different research directions at literature
and industrial cases reinforce important SECO perspectives, such
as architecture, mobile platforms, social networks, global
software development, modeling, business considerations, and
organizational-based management [10], and also a
multidisciplinary treatment, including Communication, Law,
Sociology, Economy and Business [18]. It means that it is
important to broadly understand how software vendors resort to
virtual integration through alliances to create and keep networks
of influence and interoperability, generating SECOs.
Nevertheless, some challenges are emerging in this process [9]:
(i) software vendors have to be aware of SECOs in a GSD
scenario; (ii) they also want to be aware of survival strategies that
exist among SECOs stakeholders; and (iii) they need an overview
of possible ways for opening up the organization’s platform
without exposing their intellectual property.
Jansen et al. [9][10] model SECOs in a three-level view
aiming at understanding the mentioned challenges. Software
vendor level is the first one where the objects of study are the
actors and their relationships in the context of an organization in
the SECO, i.e., vendors establish the effects of the SECO on their
product and service portfolio, knowledge management, and
relationship management. Performance and evolution should be
analyzed as aspects that depend on the SECO entrepreneurs.
Also, the opening process is the target issue of the organization
and involves sharing knowledge, research, market and
technology with its partners. As an example, guidelines must be
developed regarding make-or-buy decisions and reuse, the
software vendor must continuously decide on the exploitation of
its complete product and service portfolio, and the software
vendor must determine how it uses knowledge from the SECO
internally. In turn, software supply network level is the second
one where the objects of study are the software supply networks
(SSNs) as well as their relationships including all stakeholders
(i.e., suppliers, customers, distributors, third-part developers) and
the internal characteristics related to the SECO health and
stability (i.e., size, types, roles, connectedness etc.). Besides,
software vendors determine strategies in regards to their
immediate buyers and suppliers, by for instance organizing
regular meetings with plug-in builders, by developing customer
and reseller portals etc.
Finally, SECO level is the third one where the object of study
is the SECO itself and its relationships. In this sense, strategic
choices should be made on how a software vendor behaves in a
SECO to maximize profitability. For example, SECO
orchestrators have control over the SECO and can develop
strategies to keep a SECO vibrant and profitable for other
organizations in the SECO. In parallel, the SECOs lifecycles are
analyzed through four phases [10]: (1) the establishment of a
market relationship with a dominant and focused organization;
(2) the emergence of a preliminary network; (3) the reduction of
the dominant (and focused) organization’s power, and the
stimulus of new communities of practice; and (4) the existence of
a community of creation, where no dominant organizations exist
and the power is distributed. In this context, SECOs should have
well defined frontiers, even overlapped, such as a market, a
technology, an infrastructure or an organization, and also
geographic restrictions, component specifications, license
availability, their age and history.
III. S
OFTWARE
E
COSYSTEMS
R
ESEARCH
S
TATUS
As a new perspective in SE, SECOs should be characterized
in order to understand trends and impacts in SE and review its
status, i.e., what is currently known about this topic. This demand
motivated a previous study focused on undertaking a systematic
mapping study to present a review of primary studies on SECOs
[Barbosa and Alves, 2011]. Systematic mapping is a method that
gives, after a systematic research process, a visual summary map
of its results According to Budgen et al. (2008), in systematic
mapping studies, the research question itself is likely to be much
broader than in systematic literature review. This is necessary in
order to adequately address the wider scope of study. Following
these guidelines, we specified four research questions:
• What are the main characteristics of a Software Ecosystem?
• What is currently known about the benefits, challenges and
limitations of Software Ecosystems?
• What are the implications of Software Ecosystem studies for
research and practice in Software Engineering?
• What are the main areas studied from the perspective of
Software Ecosystems?
TABLE I lists the main characteristics of SECOs identified in
the studies. A notable result is the relevance of open source
models in the context of SECOs. In fact, literature in open source
software (OSS) reinforces the importance of collaboration among
players to build a mature open source platform. Other results
state that SECOs are linked to natural ecosystems, SPL, and
business ecosystems. These fields are considered by many
authors the origins of SECO research. Also, given that SECO is
an emergent field, different research and industry communities
have been investigating the area independently. There is a lack of
widely agreed terminology and characteristics of what constitutes
a SECO. The most common terms and acronyms related to
SECOs are: Software Ecosystems; SECO; Mobile Learning
Ecosystems (MLES) / Mobile Ecosystem; Free OSS Ecosystem,
Open Ecosystem; and Digital (Business) Ecosystem - D(B)E.
TABLE I. Summarization of SECO characteristics from
[Barbosa and Alves, 2011]
SECO
Characteristics
Inherits characteristics of natural ecosystems like mutualism,
commensalism, amensalism, symbiosis and so on.
I
s linked to business ecosystem perspective
Is linked to architectural concepts like interface stability, evolution
management, security, reliability.
Is linked to Software Product Lines development model
Is linked to Open Source Development Model
Can be used to negotiate requirements for aligning needs with solutions,
components, and portfolios
Collaborative Development in Government can be seen as a type of
Digital ecosystem
Is related to innovation processes
Has their characteristics inspired by concepts like Software Supply
Networks (SSN)
Has impact on small and medium sized Enterprises (SMEs)
Table 4 shows the benefits of a SECO according to the
outcomes of this mapping study. Several studies (S1, S2, S4, S7,
S9, S10, and S23) discuss the benefits of SECOs to foster co-
evolution, innovation and increase attractiveness for new players.
Other general benefits found in studies emphasize that SECOs
enable companies to decrease costs (S3, S10) while supporting
architectural decision making (S11, S23, and S24), sharing
knowledge (S20, S33) and communicating requirements among
players (S30). Table 5 presents the main challenges and
limitations involved in the SECOs perspective. From the studies
reviewed, we can observe many difficulties regarding ecosystem
modeling (S2, S15), architectural challenges (S5, S8, S11, S21,
and S27), heterogeneity of licenses and software evolution (S5,
S31, and S41).
TABLE II. Summarization of SECO benefits from [Barbosa
and Alves, 2011]
SECO Benefits
Fosters the success of software, the co-evolution and innovation inside
the organization, increase attractiveness for new players
Decreases costs involved in software development and distribution
Helps analyzing and understanding the software architecture in order to
decide which platform to use
Supports the cooperation and knowledge sharing among multiple and
independent entities.
Enables analysis of requirements communication among stakeholders
Comes as alternative to overcome the challenges during design and
maintenance of distributed applications
Provides help to the tasks of business identification, product
architecture design, risk identification
Provides information for the product line manager regarding software
dependencies
TABLE III. Summarization of SECO challenges and
limitations from [Barbosa and Alves, 2011]
Challenges and Limitations
Establishing relationships between ecosystem actors and proposing an
adequate representation of people and their knowledge in the ecosystem
modeling.
Several key architectural challenges such as: platform interface
stability, evolution management, security, reliability, how to support the
business strategy, suitable architectures to support open source style
development; how open and flexible an architectural is.
Heterogeneity of software licenses and systems evolution in an
ecosystem. Organizations must manage these issues in order to decrease
risks of dependence.
Companies have difficulty at establishing a set of resources in order to
differentiate from competitors. It is necessary a correct engagement of
the keystone organization in the social dimension.
Technical and socio-organizational barriers for coordination and
communication of requirements in geographic distributed projects.
Infrastructure and tools for fostering social interaction, decision-making
and development across organizations involved in both open source and
proprietary ecosystems.
Other important findings indicated a strong significance of
academic institutions involved in the SECO field, where the most
active academic institutions are: Utrecht University, in The
Netherlands; University College London, in the UK; Boston
University, in the USA, Babson College, in the USA and
University of Lugano, in Switzerland. Although there are not
many papers from London School of Economics in the UK and
Imperial College London, it appears that they are emergent
groups of researchers studying this topic. In Brazil, two groups
are directly working with SECO: Federal University of Rio de
Janeiro (COPPE) and Federal University of Pernambuco (CIn).
Three tutorials in SE Latin-American events where found:
Brazilian Symposium on Information Systems (2011),
Iberoamerican Conference on Software Engineering (2012) and,
now, Brazilian Congress on Software: Theory and Practice
(2012).
In addition, industrial institutions and government also
published papers, and it suggests that the field is also investigated
from the industrial standpoint. However, the majority of
specialists in the field are from academic institutions. Regarding
the research methods adopted by SECO literature, we found a
strong importance of theoretical studies, though some studies that
applied qualitative methods, in special the case study method.
This means that many researchers have been conducting
foundation studies that aim to define or classify the
characteristics of SECOs. Regarding the empirical papers, we
observed that case studies were conducted with varying levels of
rigor. The majority of studies were primary studies; but a few
ones reported ad hoc literature reviews. The topics addressed by
these studies involve software evolution and co-innovation.
These issues are essential properties of a product that sounds like
a vital implication for industry development. We also identified
that many studies have proposed approaches for SECO modeling,
conceptual models or ecosystem analysis.
Finally, Figure 1 presents a radar map presenting the most
frequent areas investigated by the studies and its number of
selected papers from the previous systematic mapping study open
source models. Some papers present modeling techniques to
represent or analyze SECOs. Given that several authors come
from the SE field, we found papers focusing on software
evolution as part of a SECO strategy, papers on software
architecture and papers relating SECOs to SPLs. This
demonstrates the relevance of traditional SE areas to the current
body of knowledge in SECOs. From the managerial perspective,
we found papers dealing with business aspects of SECOs and
papers on software co-innovation. The last papers present results
on operating systems. These studies describe ecosystems such as
Microsoft and Linux. It is important to mention that some papers
cover more than one aspect found.
Figure 1. The most frequent ares investigated in SECOs
Fonte: (Barbosa and Alves, 2011)
IV. S
OFTWARE
E
COSYSTEMS
R
OADMAP IN
SE
A
REA
The focus on the SECO scope is required to understand
SECOs from a three-level perspective, since each level has
distinct research challenges. These challenges can be treated
through the definition of general properties of target objects (in
organizational, SSN, or SECO level), e.g., health, interaction,
performance, inputs, outputs, competition, value sharing and
coordination methods. Beyond the scope, different dimensions
that cross the SECO levels should be considered in order to
represent the pillars extracted from literature [4][6][9][10][11]
[19]: systems and platform; networks and social business; and
actors, organizations and business ecosystems.
When GSD, SECO and SPL are put together in an
architecture, business and social-based view, many organizations
play with a resulting model from older and newer SE process
models in the market. Considering the SECO challenges [19],
such as “why do SECOs appear and disappear?” and “how to
define and monitor SECO scope, types, roles and characteristics”,
and the current lack of work in this direction, ReuseECOS was
defined as a proposal of a “3+1” framework for SECOs M&E to
support a SECO Roadmap in SE area [Santos & Werner, 2010].
The goal is to understand SECOs generated by different SSNs
throughout their lifecycle phases (from their birth to their death
or impairment) in their three levels of scope and allowing the
identification of new SECOs. That is, from the calibration of the
GSD experience reports and historical data repository based on a
research methodology, a SECO M&E mechanism provides a
step-by-step process to extract a SECO diagnosis (management)
and to interfere in the SECO (engineering).
ReuseECOS methodology aims at guiding and allowing
deeper researches related to support SECOs M&E based on
empirical studies in a research strategy extended from [24], as
summarized in Figure 2: after the broader ad hoc literature
review (understanding of SECO topic), the next steps are to plan
and execute a systematic review to analyze each dimension of
SECO, and then a survey to verify it with practitioners (matching
academic and industry mindsets). This can evolve the previous
body of knowledge presented in Section II in order to support
case studies with well-known SECOs such as Android,
Blackberry, Force.com, Eclipse, Microsoft, Linux etc., as well as
Brazilian candidate SECOs, such as Brazilian Public Software
(BPS). Finally, this research strategy can provide a database
(experience reports and historical data) to make SECOs
diagnosis, design, and validation and decision-making processes
available based on the fact that ecosystems appear, are
developed, mature and/or disappear as well as markets,
technologies, platforms and organizations, processes, models,
techniques etc.
ReuseECOS structured the first researches about SECO in a
set of research opportunities classified in three basic dimensions
extended from [6] and integrated through a M&E dimension
according to a SECO “3+1” view (Figure 3). This paper focuses
on presenting a ReuseECOS as a roadmap for a SECO research to
support a point of view of a SE environment. More specific
details should be obtained in papers referred in each dimension.
<secondary study>
Systematic
Review
? ?
?
<characterization>
Ad hoc
Literature
Review
<primary study>
Survey
(Real Cases)
<evidence base>
Body of
Knowledge
NOYES
YES
NO
NO
YES
Refinement
needed?
Evaluation
needed?
New systematic
review needed?
1 2 3
4
<repository>
Experience Reports
Historical Data
5
New studies
motivated by
feedback
Figure 2. Research Strategy [21].
Business
Technical
Social
Mapping value propositions
and realizations
SECO
Engineering
&
Management
Figure 3. 3+1” view of SECO M&E [21].
• Dimension #1: technical dimension, focused on the SECO
platform (market, technology, infrastructure or organization)
through platform domain engineering process (establishing
its lifecycle), commonalities and variabilities management
(defining platforms features), and developed SPL
architecture (treating the platform as SPL). As illustrated by
Figure 4, this dimension aims at selecting the SECO’s target
platform in order to contextualize its project and
development (e.g., understanding platform health from
productivity, robustness and niche creation indicators); plan
its opening process considering its architectural styles,
elements and factors related to uncertainty, complexity and
activity awareness; and balance modularity
(componentization) and transparence (information
visualization) during its evolution and maintenance, called
translucence [Cataldo10], which represent SECO
engineering. In this case, GSD should be considered as a key
element of SECOs’ platform evolution processes because
architectural styles, interface design, permissions and
licenses impact the management and engineering of a SECO.
This dimension also aims at analyzing SECOs through
making analogies with other types of ecosystems (e.g.,
natural, business and social) to obtain and derive methods
and models for organizing, classifying and evaluating
SECOs and their platforms’ lifecycles. This dimension
directly appears in four SECO areas at radar map: Software
Evolution, Software Architecture, Operating Systems, and
SPL. Details on the architectural dimension are in [19].
STEP 1: Analysis
Contextualize platform
project and development
STEP 2: Design
Plan process of opening
the platform architecture
STEP 3: Implementation
Balances modularity and
transparency in platform
ACTIVITY 1: select platform
ACTIVITY 2: identify roles
ACTIVITY 3: analyze health
ACTIVITY 1: specify levels
ACTIVITY 2: delineate factors
ACTIVITY 3: define licenses
ACTIVITY 1:capture context/establish strategies
ACTIVITY 2: define information elements
ACTIVITY 3: calculate and analyze metrics
ACTIVITY 4: apply translucence to interfaces
Figure 4. Technical dimension of ReuseECOS [21].
• Dimension #2: business dimension, focused on SECO
knowledge flow, that is, artifacts, resources and information,
through a business (establishing SECO goals and action
plans by programs and projects), innovation (linking a SECO
to a software market), and strategic planning (understanding
how, when, where and who will perform the goals) views.
As presented in Figure 5, this dimension aims at capturing
the platform context in order to apply the GQM (Goal-
Question-Metric) approach [1], i.e., (i) selecting SECO goals
(e.g., to be competitive), (ii) specifying questions in order to
better understand the goals (e.g., how is the SECO value?,
how is the market niche? etc.), and (iii) defining, collecting
and analyzing related metrics (e.g., number of developers,
involved countries and users, percentage of platform
benefits, risks and opportunities being reached etc.). This
approach allows to collect, manipulate and show
sustainability and diversity information as health indicators
of SECOs. From the set of indicators, a framework of
SECOs monitoring and management can be modeled and
instantiated based on definition of result chains and value
chains [Boehm and Jain, 2007] [Santos and Werner, 2010].
Thus, this scenario impacts the decision making in software
industry because it requires not only the understanding of
investments and costs, but benefits, risks and opportunities,
which composes an integrated co-evolution, innovation and
value-based approach [Biffl et al., 2006], as well as dealing
with platform’s security and privacy issues. This dimension
directly appears in three SECO areas at radar map: SECO
Modeling, Business, and Software Co-innovation. More
details on the business dimension and its steps and activities
are in [21].
STEP 1
Contextualize conception,
management and
monitoring of the SECO
STEP 2
Analyze SECO sustainability
and diversity
STEP 3
Model a framework to
SECO Management
ACTIVITY 1: define energy source
ACTIVITY 2: define energy and materials flow
ACTIVITY 3: define SECO health
ACTIVITY 1: define goals
ACTIVITY 2: define questions
ACTIVITY 3: define metrics
ACTIVITY 1: capture context/establish strategies
a) SECO Monitoring and Management
b) SECO Resources
c) Local Management
ACTIVITY 2: characterize SECO management
a) Technical Questions
b) Business Considerations
c) Community Participation
Figure 5. Business dimension of ReuseECOS [22].
• Dimension #3: social dimension, focused on SECO
stakeholders through balancing proposition and realization
of utility (why stakeholders integrate, extend and modify
knowledge in a SECO, and interact to each other in GSD),
promotion (how stakeholders’ capabilities and engagement
are implicit and explicitly recognized in GSD), and
knowledge (what collaboration, open source development
and other social network opportunities contribute to
stakeholders in GSD). As illustrated by Figure 6, this
dimension aims at understanding how the social networks
creation, organization and maintenance can affect the
communities that belong to a SECO, considering acquired,
exchanged and transmitted knowledge in these networks
(i.e., resources, artifacts and information), generating so
called sociotechnical networks. In this sense, identifying and
analyzing requirements, creating and managing software
systems can be considered as a social activity. OSS
repositories give us a window into a part of the ecosystem’s
evolutionary history and reveal the extent of symbiotic
interactions. Symbiotic connections would be the successful
operation between a software application system and
operating systems, database systems, network systems, and
so on. One of the important insights on these analyses is the
existence of the code clones (i.e., a portion of source code in
one product that is identical or similar to portions of code in
another product), allowing to understand relations of co-
evolution in OSS ecosystems. This dimension directly
appears in one SECO area at radar map: Open Source. More
details on the social dimension and its steps and activities are
in [22].
STEP 1
Model SECO agents and
knowledge through social,
technical and socio-
technical networks
STEP 2
Establish the environment
to support the SECO
network
STEP 3
Calculate interaction,
reputation and
recommendation in SECO
network
ACTIVITY: model relationships in SSN and SECO:
a) Diagram #1: Artifacts-Roles
b) Diagram #2: Roles-Roles
c) Diagram #3: Artifacts-Artifacts
d) Diagram #4: Knowledge Flow
ACTIVITY: Characterize agents' roles:
a) Profile
b) Wall, New feeds, Messaging and Suggestions
c) Data sharing ,Teaming and Searching
ACTIVITY: identify social aspects:
a) Changes on the interface of the SECO platform
b) Extensions of component by 3rd party developers
c) Changes of responsibilities among agents
d) Automatic inference of dependencies among artifacts
Figure 6. Social dimension of ReuseECOS.
• Dimension #4: M&E dimension, focused on merging the
three basic dimensions through three relationships towards
an establishment of a technological infrastructure:
o Relation #1: platform development and evolution,
motivated by links and traces between the business
and architectural dimensions, focusing on
understanding relationships and system models in a
broader way, not just technically, and also in a GSD
point of view;
o Relation #2: platform establishment, done through
links and actions between the social and
architectural dimensions, which highlight the
involvement of (and attention to) the community
around the SE platform;
o Relation #3: platform value, maintained through
links and communication between the social and
business dimensions, which aim to map value
propositions (i.e., what the concept of value is for
all stakeholders from their point of view) and
realizations (i.e., what the feeling of value is for all
stakeholders from the SE environment and context
perspective).
V. F
UTURE
D
IRECTIONS AND
C
HALLENGES OF
S
OFTWARE
E
COSYSTEMS
Since developing systems involves better thinking about
reuse-based platforms, and their networks of artifacts and
stakeholders, SE community has discussed economic and social
issues. These are becoming relevant topics in the field, as SE
starts looking at the reality of SECOs [13]. The lack of theoretical
and applied research in SECOs M&E through a SE point of view
is making this field attractive in academic research and
previously motivated some companies use this concept. This
paper presented a review on SECO status as an emerging
research topic in SE point of view, mapping what is currently
known about SECOs and also analyzing them in a three-
dimensional perspective in SE, i.e., technical, business and social.
We also summarized a SECO in SE body of knowledge based on
two Brazilian researches focused on characterize SECO topic
[Barbosa & Alves, 2011] [Santos & Werner, 2011].
From these researches, we can observe that SECO research in
SE is a young topic since researches are using evaluation
methods such as case studies, literature surveys, and theory has
been built through exploratory work and related terms, as noticed
in SE workshops and conferences calls for papers. A research
agenda in SECOs was defined as presented in Figure 7 and will
be discussed in details in Barbosa et al. [REF]. As concluded
from our joint research with Utrecht University at The
Netherlands, in a management perspective, three topics should be
investigated: open source ecosystems, SECO governance, and
SECO analysis; finally, in an engineering perspective, three
topics also should be investigated: platform and business
openness, SECO quality and software architecture.
Open Source Ecosystems
Governance
Analysis
Openness
Quality
Software Architecture
Engineering
Management
Figure 7. 3+1” view of SECO M&E [21].
The contribution of this paper was to understand how SE
community can understand SECO as SE elements to evolve
Software Reuse, SPL and GSD perspectives. As concluded, it is
impossible to treat SECOs with a pure engineering approach, so,
distinct dimensions were merged from a management
perspective. It can be realized that understanding SECOs requires
joining a lot of (in)stable IT elements in an entity (platform),
adding SE elements which alter those elements during the
ecosystems creation, development and maintenance – a SE
challenge for treating the social and economic aspects [3].
A
CKNOWLEDGMENT
The authors thank CNPq and FAPERJ for financial support.
R
EFERENCES
[1] Basili, V., Shull, F., and Lanubile, F., “Building Knowledge through
Families of Experiments”. IEEE Transac.. on SE 25, 4, 456-473, 1999.
[2] Biffl, S., et al. “Value-Based Software Engineering”. Berlin: Springer-
Verlag, 2006, 388p.
[3] Boehm, B., “A View of 20th and 21st Century Software Engineering”. In:
Proc. of the 28th ICSE, Shanghai, China, pp. 12-29, 2006.
[4] Bosch, J., “From Software Product Lines to Software Ecosystem”. In: Proc.
of 13th SPLC, San Francisco, USA, pp. 1-10, 2009.
[5] Bosch, J. and Bosch-Sijtsema, P., “From integration to composition: On the
impact of software product lines, global development and ecosystems”.
The Journal of Systems and Software 83, 1, 67-76, 2010.
[6] Campbell, P., and Ahmed, F., “A Three-dimensional View of Software
Ecosystems”. In: Proc. of the 4th ECSA, 2nd IWSECO, Copenhagen,
Denmark, pp. 81-84, 2010.
[7] Ensmenger, N., and Aspray, W., “Software as Labor Process”. In:
Hashagen, U. et al. (eds.), History of Computing: Software Issues. Berlin:
Springer, pp. 139-165, 2002.
[8] Hunink, I. et al., “Industry Taxonomy Engineering: The Case of the
European Software Ecosystem”. In: Proc. of the 4th ECSA, 2nd IWSECO,
Copenhagen, Denmark, pp. 111-118, 2010.
[9] Jansen, S., Finkelstein, A., and Brinkkemper, S., “A Sense of Community:
A Research Agenda for Software Ecosystems”. In: Proc. of the 31st ICSE,
Vancouver, Canada, pp. 187-190, 2009.
[10] Jansen, S., Brinkkemper, S., and Finkelstein, A. “Business Network
Management as a Survival Strategy: A Tale of Two Software Ecosystems”.
In: Proc. of the 1st IWSECO, 11th ICSR, Falls Church, USA, pp. 34-48,
2009.
[11] Kittlaus, H., and Clough, P., “Software Product Management and Pricing:
Key Success Factors for Software Organizations”. Springer Publishing
Company, 2009.
[12] Malheiros, V., Seaman, C., and Maldonado, J., “An Approach for
Collaborative and Distributed Software Process Improvement (SPI)”. In:
III WDDS, XXIII SBES, Fortaleza, Brazil, 21-30, 2009.
[13] Messerschmitt, D.G., and Szyperski, C., “Software Ecosystem:
Understanding an Indispensable Technology and Industry”. The MIT
Press, 2003.
[14] Moore, J.F., “The Death of Competition: Leadership and Strategy in the
Age of Business Ecosystems”. Harper Business, 1996.
[15] Moore, J., and Bailin, S. “Domain Analysis: Framework for Reuse”.
Domain Analysis and Software System Modeling, IEEE Computer Society,
Los Alamitos, USA, 179-203, 1991.
[16] Pinto, A., Almeida, A.C.M., and Morais, E., “Collaborative Software
Development Process for Geographically Distributed Teams”. In: III
WDDS, XXIII SBES, Fortaleza, Brazil, 89-97, 2009.
[17] Santos, R., Werner, C., and Silva, M., “Brechó-VCM: A Value-Based
Approach for Component Markets”. Intern. Trans. on Systems Science and
Applications, v. 6, n. 2/3, pp. 179-199, 2010.
[18] Santos, R., and Werner, C., “Revisiting the Concept of Components in
Software Engineering from a Software Ecosystem Perspective”. In: 4th
ECSA, 2nd IWSECO, Copenhagen, Denmark, pp. 135-142, 2010.
[19] Santos, R., and Werner, C. “A Proposal for Software Ecosystems
Engineering”. In: 3nd IWSECO, 2nd ICSOB, Brussels, pp. 40-51, 2011.
[20] Santos, R., and Werner, C., “Brechó-EcoSys: From a Component Library
to a Software Ecosystems Platform”. In: 12th ICSR, Demos Session,
Pohang, South Korea, 2011.
[21] Santos, R., and Werner, C., “Treating Business Dimension in Software
Ecosystems”. In: Proc. of the 3nd ACM/IFIP MEDES, San Francisco,
USA, pp. 197-201, 2011.
[22] Santos, R., and Werner, C., “Treating Social Dimension in Software
Ecosystems through ReuseECOS Approach”. In: Proc. of the 6th IEEE
DEST, Campione d’Italia, Italy, 2012. To appear.
[23] Seichter, D. et al., “Knowledge Management in Software Ecosystems:
Software Artefacts as First-class Citizens”. In: Proc. of the 4th ECSA, 2nd
IWSECO, Copenhagen, Denmark, pp. 119-126, 2010.
[24] Spínola, R., Dias-Neto, A., and Travassos, G., “Developing Software
Technologies through Experimentation: Experiences from the Battlefield”.
In: Proc. of the XIII CIbSE, Cuenca, Ecuador, 2010.
[25] Stefanuto, G., Spiess, M., Alves, A. M., and Castro, P., “Quality in
Software Digital Ecosystems The Users Perceptions”. In: Proc. of the 3nd
ACM/IFIP MEDES, San Francisco, USA, pp. 85-88, 2011.
[26] Vahia, C., Magdaleno, A., and Werner, C., “EvolTrack-SocialNetwork: A
Tool to Support Visualization of Social Networks to Software
Development Teams.”. In: II CBSoft, Tools, São Paulo, pp. 7-13, 2011.
[27] van den Berk, I., Jansen, S., and Luinenburg, L., “Software Ecosystems: A
Software Ecosystem Strategy Assessment Model”. In: Proc. of the 4th
ECSA, 2nd IWSECO, Copenhagen, Denmark, pp. 127-134, 2010.
[28] WDDS, “6th Workshop on Distributed Software Development”. In: Proc.
of the 7th ICGSD, Porto Alegre, Brazil, 2012.
[29] Werner, C. et al. “Towards a Component and Service Marketplace with
Brechó Library”. In Proc. of the IADIS International Conference
WWW/Internet, Rome, Italy, pp. 567-574, 2009.