Community Research and Development Information Service - CORDIS

H2020

CloudTeams Report Summary

Project ID: 644617
Funded under: H2020-EU.2.1.1.3.

Periodic Reporting for period 1 - CloudTeams (Collaborative Software Development Framework based on Trusted, Secure Cloud-based Pool of Users)

Reporting period: 2015-03-01 to 2016-02-29

Summary of the context and overall objectives of the project

Costs barriers of software development and deployment start to decrease, due to the availability of numerous open source projects and the high efficiency of cloud-based services (IaaS, Paas, SaaS). These lowered barriers allow new companies to entry the market with lower efforts, but also increases the overall competition in the software industry. Thus addressing customers' requirements better than the competitors during development becomes vital for the success in the future.

Many crowdsourcing and crowdfunding platforms have tried to close this gap by offering opportunities to early-stage startups and individual developers to share their “dream” with the community in order to validate their idea, build it collaboratively, or find the initial funding needed to launch their ideas. There are companies that reduced the time to market with extraordinary results. For example, Pebble (http://en.wikipedia.org/wiki/Pebble) created an increasingly hype for wearable devices and e-watches, but a lot of backed-up projects have failed to handle crowd-funding success and evolve to a sustainable company. The main reason for failure is that most of the times they focused on a good campaign rather than on their customer needs.

But even if there are tools for sharing product vision or project code, the business value of projects and the customers' needs are still a privilege of experienced teams that have no incentives to share them with others teams. As a result, there is either software that fails to meet their customers' expectations, or software that has initially focused on the wrong market. On the other hand, running a market research is quite expensive because of the heterogeneous and fragmented markets around the world, but mainly because of the constant changes in technologies, and user behaviours and taste.

There is lot of progress done towards open and collaborative software development, where for instance services like GitHub or BitBucket have changed the way open source projects are developed and disseminated. There are even more initiatives when it comes to crowdsourcing and crowdfunding. Here platforms like KickStarter or Indiegogo have changed strongly the way projects can be funded in early stages and receive a first customer validation indication. Between these two main pillars, there are various software development methodologies and techniques, like agile software development (e.g. Scrum), collaborative mockup editors, A/B testing, scenarios building or PaaS providers, which try to bring together the customers' needs with the team visions and capabilities.

As now there are already quite few tools to support these processes separately, but there is no unified solution with the customers’ needs in the centre, which will allow software teams to collaborate both among their members but also with prospective customers on the same time.

To meet the fundamental challenges above, CloudTeams puts together software developers and prospective users, in a unified software development platform that speeds up software development, by team collaboration, customer adaptation, managing and synchronizing information to extract knowledge and predict users’ behaviour, and constant testing with trusted users, to deliver better and valuable solutions. CloudTeams puts customers’ needs in the centre of software development, by providing the environment where software teams interact with a secure cloud-based pool of user, test their first developments and collaboratively elaborate the business model where a software solution will lie. Taking into consideration the need for fast prototyping, the multidisciplinary of a software team and the increasing usage of cloud-based deployment environments, CloudTeams integrates all the software tools and interfaces to speed up the development process itself.

Figure 1: CloudTeams builds a win-win relationship for software teams and end users

The CloudTeams platform is an open-source, cloud-based collaborative software development platform that supports the interaction between both communities: (a) software developers set up their software project and are provided with the necessary tools for project management, software development, testing, and deployment, and collaboration within the software team and with perspective customers; (b) customers upload, synchronize, and manage their personal data in order to analyse and visualize their daily activities, while they can give permissions to software teams to select them to co-develop better software solutions under several rewards.

Overall, there are six CloudTeams objectives, which are further divided into three main categories, namely:
• Scientific objectives focusing on the scientific work to be done to deliver a rigorous and self-standing methodology;
• Technical objectives which focus on the delivery of the CloudTeams platform and its services;
• Business objectives that focus on the evaluation and validation of the solution, the spread of the excellence gained and its entrance into the market.

Scientific Objectives

OBJ.1. To deliver a methodology for engaging a large community of users in the software development process by creating validated, data-rich, secure cloud-based personal repositories, where software teams will find trustful resources to develop their products/services.

OBJ.2. To develop business models with integrated trust frameworks that will facilitate the product lifecycle. The trusted software development framework will be consisted of privacy respectful systems, testing frameworks and analytics engine that create a transparent environment and empower the software life cycle through the customers’ participation.
Technical Objectives

OBJ.3. To provide a modern set of solution for collaboration in software design and development under a unified, open source platform, from use cases building to mock uping, testing, analytics and code development. Interfaces with popular existing platforms will be constructed, such as project management tools (Like Asana), PaaS platforms (like Heroku), code repositories (like Github) and analytics engines, in order to facilitate and speed up prototyping process without asking software teams to change the solutions they already use.

Business Objectives

OBJ.4. To develop an engagement model that will describe how a collaborative market for exchanging data, feedback and time, from the users side, for customized or targeted solutions that meet their needs, developed by software teams.

OBJ.5. To prove and optimize the concept of CloudTeams through a set of trials on real-life cases, including not only pilot cases from established ICT industries or software start-ups that will try the overall methodology and supportive tools, but also on a consortium level.

OBJ.6. To promote the adoption of the CloudTeams solution as a next-generation software engineering tool through intense dissemination of the project’s outcomes towards the targeted stakeholders, reaching out to international audiences within and beyond the EU, aiming to influence the current EU innovation landscape and put the CloudTeams mark on the landscape of the software engineering science.

Work performed from the beginning of the project to the end of the period covered by the report and main results achieved so far

The CloudTeams project is divided into two (2) major phases, which both have iterative tasks and overlap in some cases in order to revise important issues based on the current developments of the domain and also through the feedback that will be received by the pilot users. Phase I is running mostly during the first year and compiling landscape screening, requirements and user stories elicitation, basic architecture design, mock-ups and prototypes development. This phase includes WP1 and WP2, which is also active during the second year in order to update the overall design based on the latest developments and the users' feedback as received through the use cases operation. Phase II is running mostly during the second year, but starts in M6 in order to deliver early prototypes. This phase deals mostly with the development of the platform (WP3), following short, four (4) month cycles for releasing the software, testing it and getting user feedback based on the pilots that will run (WP4). These two phases are supported by the horizontal activities of exploitation, dissemination, communication (WP5) and project management (WP6).

The main objective of WP1 for the first project year was to conduct an analysis of the current landscape with regard to the concept included in CloudTeams and document the business and technological progress of domains related to the project, in order to engage partners into a brainstorming process to generate a conceptual foundation for the CloudTeams platform. In this context, WP1 performed an analysis of the underlying issues, concepts and methodologies related to software engineering, and defined at a high level concept how the social factor is able to transform the software development steps for products and services. In this direction, WP1 also worked towards identifying how social interaction between prospective users and software teams can be performed while respecting ethical and privacy issues on personal data, highlighting how CloudTeams can be based on transparent processes to allow users to be part of a new economy of data without fearing for their privacy. In order to reach these objectives, WP1 focused on the project’s two main stakeholder groups (software developers and customers) to analyse and develop a methodology to engage users in the development process and at the same time provide a streamlined methodological process that will allow software teams to take advantage of this interaction and embed its benefits to their software development cycles. The final output of WP1 for this reporting period was the proposition of a set of usage scenarios that have been forwarded to the implementation WPs in order to develop the CloudTeams platform.

The main objectives of WP2 are: defining an integrated methodology that selects and implements concepts for user-driven, collaborative software development; capturing the technical requirements; designing the overall architecture of the CloudTeams platform; detailing the APIs to integrate the platform’s components; designing the user interactions in the platform. In compliance with these objectives WP2 provided a methodology that integrates different concepts for user-driven and collaborative software development in a novel way. A subset of user stories define the minimum viable product (MVP) that is designed, implemented, and validated in the first project year. Based on that MVP definition and the deliverables of WP1, WP2 derived and documented all technical requirements. These technical requirements specify functional and non-functional features and constraints that need to be considered during design and implementation, including features for the user, security and privacy constraints, existing components to be extended or integrated, and fundamental UI principles. These requirements were compiled to an overall system architecture. The architecture is documented by providing different views to the system, including a detailed view to the software components and their relations, to the security and privacy measures, to the deployment and maintenance of the platform, and to the visual user interface design. The architecture is complemented with a detailed documentation for application programming interfaces (APIs) that are used to interconnect the components of the CloudTeams architecture and also to connect the platform to selected third-party web-services as part of the integrated CloudTeams methodology.

The main purpose of WP3 for this reporting period was to develop the CloudTeams Collaboration Platform Release 1.0 based on the conceptual model, system architecture, and programming interfaces defined in WP2. In detail the objectives of the first platform release were implementing the functional range for the use cases of the MVP, building a first set of individual components that support the CloudTeams methodology for user-driven, collaborative software development, developing consistent user interaction and graphical user interface designs, integrating all software components, and connecting the unified CloudTeams platform to third-party services for software development, testing, and deployment. In accordance with the work plan the project delivered in M12 the CloudTeams Collaboration Platform Release 1.0 realized by individual software components and services, interconnected through APIs in one overall integrated platform. The customer platform component handles all necessary interaction with the CloudTeams customers that sign in to the platform in order to find interesting projects and provide feedback for their development. The team platform component provides all functions for team collaboration, project management, and interaction between software developers and customers. Connectors to the third-party services GitHub and SonarQube enable software teams to follow the proposed CloudTeams methodology. The persona builder component, integrated with the team platform, enables software developers to create ‘Personas’, which are defined as ideal user profiles that match a specific market segment and can be described based on specific attributes. The platform frontend implementations have been supported by the consistent user interaction and interface design. In order to provide a proper quality assurance to the CloudTeams platform a test process has been elaborated, related test actions implemented and coordinated.

Figure 2: CloudTeams platform

The first release of the CloudTeams platform deployed in M12 can be accessed at the temporary address http://cloudteams.epu.ntua.gr:8008/. The next operational versions of the platform will be deployed at a second-level domain name, such as http://www.cloudteams.eu.

The main purpose of WP4 is to plan, manage and evaluate the pilot applications. In this context, WP4 specific objectives are to define the evaluation framework that will assess the actual added value of the methodology and platform against the objectives of the CloudTeams approach, prepare and coordinate the pilot applications by setting up the different pilot environment considering all the special requirements/needs of the participating enterprises, create guidelines for the pilot phase, execute the pilot scenarios, and collect and evaluate the results. The work performed in this reporting period focused on the creation of the evaluation framework that will be used for the evaluation and validation of CloudTeams. In this framework we considered existing standards and methodologies and also prepared test cases that can be executed for validation purposes. In parallel, we prepared real life pilot scenarios for each partner that is performing the developed test cases. For the planning of these scenarios a detailed analysis is provided, including the prerequisites, the usage of CloudTeams integrated platform, the expected results and the time plan.

WP5 as the dissemination, communication, and exploitation work package has a list of objectives that are related to the successful communication of the project’s outcomes to the interested stakeholders and to user communities that will help the project gain traction after its finalization, allowing it be effectively exploited by the partners. In this context, the main WP5 objectives for this reporting period are to draft an initial business model, disseminate the project results and raise awareness in scientific, industrial and standardization communities, outline a feasible and effective innovators’ engagement strategy, and carry out a concrete set of activities that will ensure the success of the dissemination, exploitation and innovators’ engagement. Activities to be considered are to develop an interactive and user-friendly web site to inform the general public and relevant stakeholders about CloudTeams, have a successful social media strategy, publish results in international conferences and workshops, actively participate in European Commission’s instruments and cultivate concentration activities with the on-going Internet of Services and Cloud Computing projects, draft a sustainable licensing framework that will support the project exploitation.

The consortium identified specific dissemination opportunities, in terms of industry and research-related events, publications and potential involvement or contributions to standardization bodies, and defined a concrete communication strategy. Moreover, the consortium developed the project exploitation, value proposition and business model strategy and plan. The dissemination and communication activities undertaken in the first year were: CloudTeams website, project logo, factsheet, poster, blog posts, social media posts, participation in academic and research events, industrial events and liaison meetings, and articles/papers published in selected conferences. Furthermore the project created a data management plan that describes the kind of data that is generated or collected in the CloudTeams project and a plan that describes how and under which constraints this data is made available to the public.

Progress beyond the state of the art and expected potential impact (including the socio-economic impact and the wider societal implications of the project so far)

The main contributions of CloudTeams are (a) the CloudTeams platform, a collaborative and trusted, software development framework that allows the direct and anonymous interaction between software developers and prospective customers during the whole development process, starting from the ideation phase and ending at the final market release, and (b) the CloudTeams methodology that defines the points and ways of interaction among software teams and end users, as well as a set of recommended verification and validation activities.

The goal of the CloudTeams methodology is to make the social interaction and feedback with customers easier and improve the overall software development process. It is based on the V-model and the FITMAN V&V framework (Lampathaki F. et al, 2014 ), but the CloudTeams methodology goes far beyond these two models as it aims to provide an inclusive, yet flexible, easy to understand procedure that can be used by software teams to deliver products of excellence. In this context, the methodology emphasises on the ideation phase and customers’ opinions utilisation, to drive collaboration between customers and software teams, but also internally among software team members.

Figure 3: CloudTeams methodology

The CloudTeams methodology provides an iterative process starting from the ideation phase. The ideas, based on customers’ opinions should be validated before moving to the user experience step. In this step software development teams collect feedback from targeted customer groups (represented by different personas) and specify the customer requirements. A complementary outcome is the definition of the User Acceptance Testing (UAT) plan to be used for validating the software before its release. The third step targets at the definition of user-stories, being classified in the System Backlog. After the finalisation of the System Backlog, a series of tests is being developed in order to support functional and regression testing of the different software builds. The next steps of the methodology refer to development of the software and cover the sprints/iteration cycles required for the release of the software. The sprints can be customized according to the software team’s selected development methodology. After the completion of each build of the software, the CloudTeams methodology supposes functional/ regression testing of the release, taking advantage of the testing plan. Before the product release a validation process according to the User Acceptance Testing plan (UAT), delivered in the second step, has to be performed with the involvement of the customers. Only if the UAT completes successfully the software can be released to the market. The last step of the CloudTeams methodology refers to identifying the Market Acceptance.

In a whole, the CloudTeams methodology includes multiple customer-driven characteristics and may improve software development as is. Nevertheless, data-driven results based on automated tools, will definitely give a boost to the described methodology in the software development and start-up ecosystem. The usability and effectiveness of the described methodology, as formed through existing research, ideation and interviews with customers, will then be measured. CloudTeams’ success will help the diffusion of the given methodology and model.

While the CloudTeams platform itself is not intended to force developers to follow a rigid methodology of software development, it is implemented with the idea in mind to target a closure and direct interaction between software developers and end user, while offering the best possible support for the verification and validation (V&V) process to develop better software products:
• Software developers set up their software project and are provided with the necessary tools for project management and collaboration within the software team and with customers;
• Perspective customers upload, synchronize, and manage their personal data in order to analyze and visualize their daily activities, while they can give permissions to software teams to select them to co-develop better software solutions under several rewards.

In the centre of the whole system are customers who own a user profile, connect their CloudTeams account to cloud-services they already use, in order to enhance the interaction with software developers with information on their daily activities. Based on this information, CloudTeams generates anonymised aggregations of a set of user profiles, called personas which then can be used by software teams to boost their ideation and development phase; they can get inspired by personas, use them to describe requirements in deeper, realistic details and then to locate (in an anonymous manner) and understand customers who participate in software and business idea validation throughout the whole process.

Customers participate in the software development phases in two ways: software developers select personas that meet their characteristics, or customers declare their interest in a specific project by following it. This allows the interaction between both communities in a privacy respectful way. In order to gather feedback from customers software developers run campaigns with a target user group matching the selected personas. Then participating customers are provided with questionnaires, mockups, or prototypes, enabled to provide their feedback, and get rewarded by the software team.

The CloudTeams platform provides and combines many software engineering, project management and collaboration features, and integrates connectors to third-party services for software development, testing, and deployment such as GitHub, SonarQube, and PaaSport, in one unified platform for collaborative software development.

In this direction, CloudTeams helps software teams to understand the customer needs. Software companies can identify and solve problems. Only if a solution adapts and fits into the routine of their customers, it is easy to be adopted by them. Thus, the greater for example the demand of eco-friendly products from the end-customers, and the stronger this request is depicted in the requirements through the user stories generated, then the more the development teams will have to respect this demand and comply with environmental standards and guidelines. On the other hand, from the social perspective, CloudTeams aspires to empower all citizens to become actively involved in the software engineering process and contribute irrespective of sex and gender due to anonymisation. Thus, CloudTeams proceeds against discrimination, and respects the needs of all individuals, irrespective of their biological and/or racial and/or social characteristics, bundling them with the actual software engineering process.

The following table summarises the expected impacts of CloudTeams in accordance to the results of the first project year:

• Significantly higher quality of user experience and trust in clouds through stronger security and data protection, including open and auditable solutions for data security
- The CloudTeams methodology and platform introduces engagement methodologies and novel collaboration for the interaction between software developers and perspective customers. End user engagement and trust in cloud-based technology is offered by creating a validated, anonymized, data-rich, secure cloud-based pool of user personas that software developers can access to verify and validate the project idea and product.

• Demonstration of cloud-based services in federated, heterogeneous and multi-layered (IaaS, PaaS, SaaS) cloud environments; of the dynamic provisioning of interoperable applications and services over heterogeneous resources and devices; of high level of performance and quality of service even in highly secure solutions
- The CloudTeams platform is an integrated collaborative software development platform that provides a complete set of collaboration features under a unified, open source platform. It offers advanced management and collaboration functions for the interaction in software teams and with end users during the whole software development process. In the first release it enables end users to connect their CloudTeams account to and synchronize with seven (7) cloud-services (Twitter, Runkeeper, Instagram, YouTube, Fitbit, Foursquare, and Facebook); software developers can connect their software project to three (3) third-party services for software development, testing, and deployment (GitHub, SonarQube, and PaaSport).

• Increased innovation opportunities for service providers, including SMEs and public administrations, evidenced through implementations of advanced cloud infrastructures and services
- The CloudTeams evaluation framework of the platform takes into consideration the three different stakeholder groups, i.e. the software team members who are mainly interested in the efficiency of the technical tools integration and the added value of the platform on their existing processes, the customers who want a nice user experience throughout the platform, and the visitors who need to be triggered and engaged in the whole process. Thus, for software teams focused groups under the pilots are used to collect the results of the developed test cases, while for customers and visitors integrated questionnaires are used to evaluate the platform through the website.

• Promotion of the reuse of open source software solutions in cloud environments, in particular, involving SMEs and public administrations
- CloudTeams will make the final platform release open-source and host it on GitHub. Social media campaigns will promote the CloudTeams platform.

• Demonstration through appropriate use cases of the potential to improve the competitive position of the European cloud sector
- Based on the evaluation framework a specific workflow is suggested for the execution of individual test cases by the pilots, scheduled for the second project year.

(1) http://www.waterfall-model.com/v-model-waterfall-model/
(2) Lampathaki, F., Panopoulos, D., Kokkinakos, P., Bompa, C., Koussouris, S., & Askounis, D. (2014). Infusing Verification and Validation in ICT Solutions in Manufacturing: The FITMAN V&V Method. In K. Mertins, F. Bénaben, R. Poler & J.-P. Bour-rières (Eds.), Enterprise Interoperability VI (Vol. 7, pp. 307-317): Springer International Publishing.

Related information

Record Number: 186641 / Last updated on: 2016-07-14