17 research outputs found

    Community-Driven Language Development

    Get PDF
    International audienceSoftware development processes are becoming more collaborative, trying to integrate end-users as much as possible. The idea is to advance towards a community- driven process where all actors (both technical and non-technical) work together to ensure that the system-to-be will satisfy all expectations. This seems specially appropriate in the field of Domain-Specific Languages (DSLs) typically designed to facilitate the development of software for a particular domain. DSLs offer constructs closer to the vocabulary of the domain which simplifies the adoption of the DSL by end-users. Interestingly enough, the development of DSLs is not a collaborative process itself. In this sense, the goal of this paper is to propose a collaborative infrastructure for the development of DSLs where end-users have a direct and active participation in the evolution of the language. This infrastructure is based on Collaboro, a DSL to represent change proposals, possible solutions and comments arisen during the development and evolution of a language

    Classifying collaborative approaches for cloud based collaborative software development

    Get PDF
    Software development is an activity involving a remix set of different people, tools, practice culture, etcetera, and working towards an end goal. Achieving the goal necessitates that all these aspects work together towards the end goal. Furthermore, the size, complexity, longevity and tight delivery timelines of software projects, form part of the rationale for collaboration in software development processes. With the advent of Cloud computing, these factors have become more pronounced. Other factors such as increased distribution, have also become part of the rationale increasing the need for better collaborative approaches. Collaboration can take numerous forms and dimensions, but that does not necessarily mean that any form of collaborative approach is good for every scenario or context. There is no “one size fits all” approach. Different development contexts may require different collaborative approaches for greater effectiveness. So, which collaborative approach is right, and which is wrong, for Cloud-based software development lifecycle? This paper reviews literature with an aim of presenting a classification for collaborative approaches towards context-aware Cloud-based software development

    Fatores de risco nas alianças em projetos de TI: estudo de casos no Banco Central do Brasil

    Get PDF
    ABSTRACTRisk factors for alliances in IT projects: case study on the Central Bank of BrazilIn response to growing competitive pressures and changes, a growing number of companies have established alliances as a way to complement their resources and ensure their competitive advantages. Although these alliances are a good strategic option for companies, there is evidence of a high rate of failure. Many studies have examined partnerships’ critical success factors, but few have investigated the difficulties and risk factors. The objective of this paper is to present the results of a research that aimed at identifying risk factors for alliances established in the scope of Information of Technology (IT) projects. The research was exploratory, and focused on five strategic IT projects of the Central Bank of Brazil, developed in partnership with other public and private, both national and foreign institutions. Although the projects have been successful, the following major risk factors were identified: lack of alliance planning, lack of partner negotiation, lack of partner commitment and lack of institutional support for the alliance. The research provided some significant lessons for managing project alliances that can benefit other IT projects

    Cloud based collaborative software development: A review, gap analysis and future directions

    Get PDF
    Organizations who have transitioned their development environments to the Cloud have started realizing benefits such as: cost reduction in hardware; relatively accelerated development process via reduction of time and effort to set up development and testing environments; unified management; service and functionality expansion; on-demand provisioning and access to resources and development environments. These benefits represent only a fraction of the full potential that could be achieved via leveraging Cloud Computing for the collaborative software development process. Related efforts in this area have been mainly in the areas of: asynchronous collaboration; collaboration in isolated aspects of the Software Development process, such as coding activities; use of open-source tools for contributing, improving, and managing code, etcetera. Although these efforts represent valid contributions and important enablers, they are still missing important aspects which enable a more holistic process, with solid theoretical foundation. This paper reviews this research area, in order to better assess factors and gaps creating the need to enhance the collaborative software development process in the Cloud, to better meet the pressure to collaboratively create better cloud-agnostic applications. © 2017 IEEE

    Collaboration in Agile Software Development: Concept and Dimensions

    Get PDF
    One of the four values listed in the Agile Manifesto emphasizes customer collaboration over contract negotiation, yet the literature has not explained what constitutes customer collaboration and how to assess it. Little research has examined the nature and dimensions of collaboration in the context of agile software development. Based on a grounded theory methodology and using interview data collected from five software development outsourcing vendors in China, we explore the nature and key underlying dimensions of collaboration in agile software development. Five major dimensions of collaboration emerged from our analysis: mutual benefits, engagement, coordination, communication, and knowledge sharing. In turn, each dimension comprises key subdimensions that provide a comprehensive view of collaboration. By revealing the underlying nature and key dimensions, we provide a conceptual basis for operationalizing collaboration that one can employ in future quantitative studies on agility and other project outcomes. Our study results suggest that collaboration in agile software development is multifaceted and mutually occurring in both directions between the customer and the vendor rather than single dimensional as the term “customer collaboration” in the Agile Manifesto indicates

    Bisnesmetriikan kerääminen ja visualisointi pilvipohjaisessa kehitysympäristössä

    Get PDF
    Monitoring cloud computing resources is a straightforward and common task for any cloud application developer. The problem with current monitoring solutions is that they only focus on infrastructure resources. Many companies on the other hand would need data about the business side of their applications. This thesis extends the current monitoring solutions to capture business metrics from within applications. The metrics are then visualized to quickly allow for better analysis of the data. The tool is composed of three main components. The metrics are captured with a Node.js library that is imported in the monitored application. The library sends the captured data to InfluxDB timeseries database. The data is visualized with Grafana which implements tables, graphs, and gauges. The provided command-line tool creates a file that can be imported in Grafana to create a new dashboard with graphs in it. The requirements for the tool were created through the needs of software developers and clients of web- and mobile-developer Codemate. An architectural design was made based on the requirements and then implemented on the AWS cloud platform on top of Kubernetes. The implementation was evaluated by testing it in a real production server. The tool is functional and it works as intended. The results from the evaluation prove that the tool created in this thesis can help companies gain better information about their products. Future work includes adding the metrics capture for other languages such as Go and Ruby as well as integrating the tool to Codemate’s new development environment. Further research can be done especially in improving performance of the solution in large systems.Pilviresurssien monitorointi on selkeä ja yleinen tehtävä jokaiselle pilvipalvelun kehittäjälle. Monitorointisovellukset keskittyvät vain infrastruktuuriresursseihin, vaikka monet nykyajan yritykset tarvitsisivat tarkempaa tietoa sovellusten bisnespuolesta. Tämä diplomityö laajentaa nykyisiä monitorointisovelluksia kattamaan bisnesmetriikan keräämisen applikaatioiden sisältä sekä visualisoi datan paremman analyysin mahdollistamiseksi. Diplomityössä kehitetty työkalu koostuu kolmesta osasta. Metriikat kerätään sovelluksista Node.js-kirjaston avulla, joka lisätään sovelluksen koodiin. Kirjasto lähettää dataa InfluxDB-tietokantaan, josta se visualisoidaan Grafanalla interaktiivisten kuvaajien sekä taulukoiden avulla. Grafanaan voidaan lisäksi luoda työpöytiä diplomityötä varten luodulla ohjelmalla. Bisnesmetriikan keräämiseen ja visualisointiin luotu työkalu määriteltiin ohjelmistokehittäjä Codematen ohjelmistoinsinöörien sekä asiakkaiden tarpeiden mukaan. Määrittelyä käytettiin työkalun arkkitehtuurin luomiseen, joka ohjasi käytännön toteutusta. Työkalu rakennettiin Amazonin AWS-palveluun Kuberneteksen päälle. Toteutetun työkalun toimivuus testattiin lopuksi asiakasympäristössä tuotantopalvelimella. Työkalun todettiin toimivan tarkoituksenmukaisesti. Testauksesta saadut tulokset osoittavat, että työkalu voi auttaa yrityksiä saamaan parempaa informaatiota ohjelmistotuotteistaan sekä niiden käytöstä. Työkalun kehitystä voidaan jatkaa laajentamalla sen toimintaa Go- ja Ruby-kielille sekä integroimalla se tiiviimmin Codematen uuteen kehitysympäristöön. Lisätutkimus erityisesti suorituskyvyn parantamiseen laajoissa järjestelmissä on tarpeen

    Entwicklungsmethodiken zur kollaborativen Softwareerstellung – Stand der Technik

    Full text link
    Die weltweit wachsende Nachfrage nach Unternehmenssoftware erfordert immer neue Methoden und Formen der Zusammenarbeit (Kollaboration) bei der Softwareerstellung. Zu diesem Zweck untersucht und vergleicht dieses Arbeitspapier existierende Vorgehensmodelle und deren Evolution. Zusätzlich werde erste Ansätze zur kollaborativen Softwareerstellung vorgestellt und ihre Eignung für ein kommerzielles Umfeld analysiert. Die Arbeit verwendet hierzu einen eigenen Vergleichsrahmen, der u.a. auch so genannte "Kollaborationspunkte“ in Betracht zieht, d.h. Aktivitäten im Prozess an denen das Einbinden mehrerer Entwickler und/oder Anwender vorteilhaft ist. Die Erkenntnisse aus der vergleichenden Analyse des Stands der Technik werden schließlich dazu verwendet, Defizite existierender Ansätze aufzuzeigen und Anforderungen für unterstützende Werkzeuge abzuleiten
    corecore