Conference PaperPDF Available

Abstract and Figures

Economic and social issues are pointed out as Software Engineering (SE) challenges for the next years, since the field needs to treat issues beyond the technical side. These challenges require analyzing the field of SE from another perspective. In this sense, the study of software ecosystems (SECOs) is an emerging discipline that investigates the 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 viewpoint. Inspired on properties of natural and business ecosystems, SECO covers technical and business aspects of software development as well as partnership among companies. In this paper, we undertake a review on SECOs status as an emerging research topic in SE community. We map what is currently known about SECOs and also analyze them in a three-dimensional perspective in SE, i.e., technical, business and social. We observed that SECOs 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 SECOs.
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
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.
... SECO refers to the interaction of a set of actors playing over a common technological platform, resulting in several software solutions or services [1]. Companies such as Amazon, Apple, Google, Microsoft, and SAP are developing or maintaining SECO [2], leveraging research on the topic. In the digital games industry, some companies as Valve Corporation, Epic Games, Unity Technologies, Blizzard Entertainment, Bethesda Games Studios, Facebook, Sony, and Nintendo have explored the notion of SECO [3]- [6]. ...
Article
The software ecosystem strategy dominated the digital games industry. The leading game companies adopted ecosystem dynamics, forcing external actors (or developers) to adapt to a highly competitive scenario. Given the Brazilian digital games industry's growth, this study aims to characterize and understand the game software ecosystem scenario. We conducted an online survey research to identify positives, negatives, and opportunities from different ecosystem actors. The survey received 200 responses from different actors from both industry and academia. Three researchers applied qualitative analysis procedures to extract codes and relationships from the answers. We identify twelve aspects (i.e., network, financial sustainability, market opportunity etc.) and their relationships that describe the Brazilian ecosystem. We also investigated these aspects in three analysis groups (i.e., positives, negatives, and opportunities) and compared them against the Brazilian games censuses. Next, we classified codes based on the software ecosystem dimensions (i.e., technical, business, and social) to point out research needs. The codes' relationships allowed us to understand some concerns about the Brazilian context. The qualitative analysis procedures and the discussion on the software ecosystem dimensions provide an overview of a complex scenario, including a list of aspects to support further academic research and industrial techniques.
... Frente aos cenários apresentados, a extração de informação e o processamento de consultas para geração de relatórios a partir de múltiplos sistemas se tornam desafios identificados em uma necessidade real (Santos et al., 2012;TI MAIOR, 2012). Para que as metas governamentais sejam atingidas, como o "Livro da Transição" mencionado na Seção 1 (alvo deste trabalho), algumas questões merecem atenção por parte dos fornecedores de soluções para e-gov no Brasil nos próximos anos: (i) busca semântica e recuperação de informação para diferentes sistemas que compõem as plataformas de ecossistemas digitais em e-gov (Pita & Paixão, 2010); (ii) apoio colaborativo de várias mídias para ampliar e facilitar a interação (Preti et al., 2010); e (iii) computação nas nuvens aplicada ao domínio do e-gov com foco em serviços e aplicações (Martins, 2010). ...
Conference Paper
Full-text available
Realizar mudanças entre equipes representa sempre um desafio. No âmbito governamental, isso não poderia ser diferente. As equipes do Governo do Brasil, às vezes com pontos de vista extremamente distintos, têm um curto período de tempo (120 dias) para conseguirem realizar a transição política. Assim sendo, sistemas de informação que auxiliem na gestão de conhecimento dos diversos sistemas do Governo se tornam cada vez mais necessários. Este artigo apresenta um sistema que provê um ponto único para reunião de informações de diversos níveis da esfera federal do Governo do Brasil ao extrair e organizar relatórios de transição governamental. Espera-se, com isso, contribuir para a continuidade programas e iniciativas.
Chapter
The games industry is constantly growing. The emerging players are mostly software developers who join together with professionals from different fields to form independent (or indie) studios. This movement has resulted in an exponential amount of new products, and some big game companies have adopted a differentiated strategy to capture value in this scenario. This innovative strategy, explored with the concept of Software Ecosystems (SECO), led to the development of common technological platforms where players integrate their products. The competition between the players, the constant technological changes and evolution, and the need for agile and high-quality production due to the demands of the consumer market and the long-term financial sustainability bring challenges to the independent studios regarding their business planning. This chapter aims to present one of the grand research challenges on games and digital entertainment, more specifically related to business modeling for independent studios that work in Game SECO (GSECO). By presenting a unified agenda, we expect that the digital games industry and academia actors could join efforts to propose and validate solutions, leveraging the growth of the digital games’ scenario.
Method
This paper presents a Supporting Technical Paper for a Systematic Literature Review (SLR) that explores the historical role of the Product Manager (PM) covering the last 40 years (publications starting from 1983) of research including the domains of Requirements Engineering (RE), New Product Development (NPD) and Software Product Management (SPM). The study defines various research strategies and describes the review protocol used to ensure the validity and reliability of the research findings. In addition, this paper serves as a Data Management Plan (DMP) for the related research, outlining the approach for managing, storing, and analyzing the data collected during the SLR. The paper contributes to the academic literature by providing some guidelines to write SLR within these domains. The findings as a result of executing this review protocol, will have implications for practitioners and researchers seeking to better understand the PM role. The results will be used as the basis for further research to improve the practical product management processes for software startups.
Thesis
Full-text available
A modelagem de negócio ganhou destaque na década de 1990, após o advento da Internet no ambiente de negócios. Com a expansão do mercado digital, o uso dos meios de comunicação e produtos digitais se tornou frequente, aprofundando a dependência das empresas com as soluções digitais. Entre estas empresas estão os estúdios de jogos digitais, que se destacam pela quantidade de produtos presentes nas plataformas de distribuição de software. Os novos estúdios de jogos, em grande parte, são formados por profissionais que se agrupam, formando os estúdios independentes. Este movimento resultou no crescimento da rede de atores e de produtos, de modo que algumas das grandes empresas da indústria de jogos adotaram uma estratégia diferenciada para capturar valor deste cenário. Tal estratégia resultou na criação de plataformas tecnológicas comuns, onde os atores e produtos se integram, o que tem sido explorado com o conceito de Ecossistemas de Software (ECOS). A concorrência para atingir os consumidores, as rápidas evoluções tecnológicas, a necessidade de produção ágil e a alta qualidade exigida trazem desafios para o planejamento e gestão dos estúdios independentes imersos em ECOS de Jogos Digitais (ECOSJD). Baseado no contexto brasileiro, esta dissertação apresenta um modelo de negócio focado nos estúdios independentes em ECOSJD. O modelo proposto, intitulado Game Software Ecosystem Business Model (GSECO­BM), emergiu dos resultados de um Mapeamento Sistemático da Literatura (MSL) e de uma pesquisa de opinião (survey research). O MSL identificou outros modelos de negócio utilizados na investigação e prática de jogos digitais. Por sua vez, a pesquisa de opinião utilizou a Teoria Fundamentada em Dados (TFD) para identificar benefícios, problemas e desafios no ponto de vista de 200 participantes da academia e da indústria de jogos do Brasil. Por fim, foi conduzida uma avaliação do GSECO­BM por meio de 15 entrevistas com especialistas em jogos, resultando em uma nova versão do modelo de negócio construído. Os resultados mostram que o modelo reúne componentes relevantes para os estúdios independentes de jogos digitais, com destaque para o foco no contexto brasileiro. As contribuições desta dissertação são um modelo composto por 15 componentes, um modelo conceitual, uma metodologia de mudança e uma ferramenta de design que podem auxiliar tanto estúdios independentes na concepção e manutenção de negócios, como pesquisadores na condução de estudos sobre o funcionamento deste tipo de negócio.
Article
Full-text available
Cyber-physical system (CPS) and digital twin (DT) technologies are the key enablers of smart manufacturing. The main idea of CPS is to build bi-directional interaction channels between the physical and cyber worlds. The research gap is ontological consideration of the concept of the digital object (DO) as a representation of a physical object (PO) in the digital space/world. The objective of this study is an ontological analysis of the digital object (DO). This object is fairly well-understood from a technical point of view; although there are many options for its definition, its basic composition and functionality are defined clearly, but currently in the economic science DO has not yet been enough considered. The DO, which first appeared as a digital twin has not been properly explored by economic science. Authors attempt to determine whether all the properties and characteristics of the DO are described by modern economic language or whether there is a need to introduce new concepts and categories to describe such objects. The ontological analysis of the DO within the existing conceptual framework of economic science is presented. The result of the research is comprehensive study of DO which allows the consideration of the additional benefits that economic actors can gain from using the DO. We propose to analyze the DO in terms of such economic categories as goods; innovation process; the system of division of labor; the role of market participants in the creation and use of the DO; intellectual property; etc.
Article
Full-text available
To make software technologies available to support software development process with quality in the industry represents one of the most important goals in software engineering. However, the mere providing of the software technology is not enough. It is necessary to offer evidence on the software technology feasibility and applicability in different development contexts. Therefore, in order to make a software technology available software engineers usually face three stages: conception, construction and evaluation. Approaches to construct and evaluate software technologies are easily found in the technical literature. However, this is not the same with the conception stage. For this reason, this paper describes an approach concerned with the conception of software technologies based on evidence collected from secondary and primary studies results. The types of study and decision points are explained and exemplified by two different software technologies concerned with modelbased testing and ubiquitous computing that have been built following such conception approach.
Chapter
Full-text available
For almost as long as there has been software, there has been a software crisis.1 Laments about the inability of software developers to produce products on time, within budget, and of acceptable quality and reliability have been a staple of industry literature from the early decades of commercial computing to the present. In an industry characterized by rapid change and innovation, the rhetoric of the crisis has proven remarkably persistent. The acute shortage of programmers that caused “software turmoil” in the early 1960s has reappeared as a “world-wide shortage of information technology workers”2 in the 1990s. Thirty years after the first NATO Conference on Software Engineering, advocates of an industrial approach to software development still complain that the “vast majority of computer code is still handcrafted from raw programming languages by artisans using techniques they neither measure nor are able to repeat consistently.”3 Corporate managers and government officials release ominous warnings about the desperate state of the software industry with almost ritualistic regularity. The Y2K crisis is only the most recent manifestation of the software industry’s apparent predilection for apocalyptic rhetoric.
Article
The treatment of economic and social aspects in Software Engineering was pointed out as a challenge for the next years. Specifically in Software Reuse, Component-Based Software Engineering needs to be evaluated considering its real applicability and feasibility against its promised benefits. However, this did not happen in an effective way yet, due to the lack of a mature and established market. One strong inhibitor is the complexity in defining value for components in the software context. Moreover, to create and maintain these markets, historical data and value considerations are strategies to be investigated. This paper proposes a value-based approach to address these strategies, focusing on the stakeholders’ value realization and on building a value chain, called Brechó-VCM, which aims at incorporating nontechnical aspects to a component library, generating a marketplace where sociotechnical networks contribute to calibrate the market growth.
Book
Ross Jeffery When, as a result of pressure from the CEO, the Chief Information Officer poses the question “Just what is this information system worth to the organization?” the IT staff members are typically at a loss. “That’s a difficult question,” they might say; or “well it really depends” is another answer. Clearly, neither of these is very satisfactory and yet both are correct. The IT community has struggled with qu- tions concerning the value of an organization’s investment in software and ha- ware ever since it became a significant item in organizational budgets. And like all questions concerning value, the first step is the precise determination of the object being assessed and the second step is the identification of the entity to which the value is beneficial. In software engineering both of these can be difficult. The p- cise determination of the object can be complex. If it is an entire information s- tem in an organizational context that is the object of interest, then boundary defi- tion becomes an issue. Is the hardware and middleware to be included? Can the application exist without any other applications? If however the object of interest is, say, a software engineering activity such as testing within a particular project, then the boundary definition becomes a little easier. But the measure of benefit may become a little harder.
Book
Software product management and pricing are key success factors for any organization providing software, be it a software company or an organization responsible for software in a company that belongs to a different industry. After defining the term "software product" and looking at the business and organizational sides, the core elements of software product management and pricing are discussed. Recommendations are given on how to deal with these elements depending on different types of organizations and products in order to achieve the long-term success.
Chapter
Testing is one of the most resource-intensive activities in software development and consumes between 30 and 50% of total development costs according to many studies. Testing is however often not organized to maximize business value and not aligned with a project’s mission. Path, branch, instruction, mutation, scenario, or requirement testing usually treat all aspects of software as equally important, while in practice 80% of the value often comes from 20% of the software. In order to maximize the return of investment gained from software testing, the management of testing needs to maximize its value contribution. In this chapter we motivate the need for value-based testing, describe practices supporting the management of value-based testing, outline a framework for value-based test management, and illustrate the framework with an example.