Organizations (e.g. Apple, Google) that maintain a Software Ecosystem must provide and manage mechanisms to attract, engage and retain third-party developers as part of DevRel strategies. In this scenario, there are the involvement of expectations, perceptions and feelings of the developer in his/her interaction with various artifacts and other developers, named, Developer Experience (DX).
Studying the factors that influence DX in the context of ecosystems is important for organizations that need mechanisms to keep developers accountable for productivity, robustness, and niche creation. We identified 20 influence factors related to DX in Mobile Software Ecosystems (MSECO). Such factors can help to understand the DX in Software Ecosystems. The details about research methodology and more discussion are available here.
Fagerholm and Münch say that DX can be analyzed from three perspectives:
(1) Development infrastructure: factors that influence the perception of development infrastructure by the developer;
(2) Feelings about the work: factors that help to analyze developer’s sentiment about his/her contribution to the ecosystem;
(3) The value of one’s contribution: factors that allow to identify how developers see the value of their contributions. In this paper, we analyzed the influence factors from viewpoint of these three sources.
Development Infrastructure Factors
McLeod and MacDonell in [ID01] explain that users’ expectations are an important influence shaping a software systems project. In the context of MSECOs and DX, the developer expectations can influence his/her choosing which ecosystem participate and the attraction strategies of developers by the central organization.
In a mobile software ecosystem (MSECO) scenario, keystone provides mechanisms to establish a link between user and developer expectations, for example, when a user downloads a mobile application he/she can write a review in the mobile application store about the application. In this case, the developer can answer the user in order to understand the user requirements. The user expectations are an influence factor because it requires from developer to review his/her mobile application development processes, investing time, resources and in some cases improving/discarding a mobile application idea.
Deak et al. [ID11] present factors that have positive or negative influence on influence factors. Bringing the analysis to the scenario of a MSECO, we can describe Unhappy with management, when developers are dissatisfied with strategic keystones decisions. Specifically, on MSECO Windows Phone on February 22, 2016, announced improvements to Windows Store apps and games visibility however the Microsoft as keystone indicated to developers “You can access the app by using the direct link at all times. We have reviewed your app and you should be able to see it in the Search results soon”. This information received negative feedback on social networks, developers commented that it would be impossible to achieve the same reach of users by releasing the link directly.
The time pressure may be related to the opportunity to meet a particular type of user niche, the right time to launch a mobile application and succeed within a MSECO. It is an influence factor because the developers that enter an ecosystem seek to be successful with their applications. The focus on improving the quality of mobile applications is a keystone goal aiming to maintain the MSECO robustness, to assure the quality of mobile applications influences on downloads and ratings/reviews from users.
A developer also participates in an MSECO as a way to improve his/her technical knowledge. The application of new APIs (Application programming interfaces), SDKs (Software development kits) and tools provided by the keystone is a challenging work to the developers. Because the developers can obtain new knowledge and apply in other projects. It influences the choosing of platforms, emulators, devices, niches of users, the idea scope and the mobile application development process
Feelings about the work Factors
Regarding the developers’ motivation, Steinmacher et al. [ID02] there are attractiveness forces (e.g. project visibility and number of developers) that represent the initiatives project’s events in order to bring new users and developers. Motivation is moderated by complex socio-cognitive factors, including the cultural context with its value system and individual personal characteristics. Fagerholm et al. [ID04] describe that aspects as motivation, skill, satisfaction, values, and personality are factors to consider when forming teams. Moreover, such aspects are relevant to create and design processes and development environments, and necessary to structure organizations and communications.
To exploit the latent individual capabilities, motivation and happiness of software engineers are essential. Ortu et al. [ID05] treat about human affectiveness, i.e., the emotional state of a person, plays a crucial role in many domains where it can make or break a team’s ability to produce successful products.
Graziotin et al. [ID09] studied about moods, events, affects, attractors, focus and performance as part of influence factors. Affective reactions then influence work-related behaviors that are divided into affect-driven behaviors (decisions and judgments that have immediate consequences of being in particular emotions and moods) and judgment-driven behaviors (driven by the more enduring work attitudes about the job and the organization).
The value of one’s contribution Factors
Qiu et al. [ID10] talk about how the performance of developers influences software quality and productivity directly. The process of software development is complex and uncertain, because influence factors are complex and behaviors of developers are hard to predict. Different developers have different characteristics. For example, different developers have their own coding habits.
To Ehlers [ID07] one of the reasons for the increasing interest and need for deep studies is that influence factors, their interplay and their effects, are often complex, indirect and therefore significantly unpredictable. The overall satisfaction of SE employees with their job based on their working conditions as follows: (1) Identification with the task; (2) Employee involvement and working with others; (3) Good management and team building; (4) Opportunity for advancement (career path).