Daniel Penalva

2papers

2 Papers

SEApr 27, 2016
The Algorithmic Autoregulation Software Development Methodology

Renato Fabbri, Ricardo Fabbri, Vilson Vieira et al.

We present a new self-regulating methodology for coordinating distributed team work called Algorithmic Autoregulation (AA), based on recent social networking concepts and individual merit. Team members take on an egalitarian role, and stay voluntarily logged into so-called AA sessions for part of their time (e.g. 2 hours per day), during which they create periodical logs - short text sentences - they wish to share about their activity with the team. These logs are publicly aggregated in a website and are peer-validated after the end of a session, as in code review. A short screencast is ideally recorded at the end of each session to make AA logs more understandable. This methodology has shown to be well-suited for increasing the efficiency of distributed teams working on Global Software Development (GSD), as observed in our reported experience in actual real-world situations. This efficiency boost is mainly achieved through 1) built-in asynchronous on-demand communication in conjunction with documentation of work, products, and processes, and 2) reduced need for central management, meetings or time-consuming reports. Hence, the AA methodology legitimizes and facilitates the activities of a distributed software team. It thus enables other entities to have a solid means to fund these activities, allowing for new and concrete business models to emerge for very distributed software development. AA has been proposed, at its core, as a way of sustaining self-replicating hacker initiatives. These claims are discussed in a real case-study of running a distributed free software hacker team called Lab Macambira.

CYJan 13, 2015
Vivace: a collaborative live coding language and platform

Vilson Vieira, Guilherme Lunhani, Geraldo Magela de Castro Rocha Junior et al.

Live coding is a performance and creative technique based on improvised and interactive coding. Many recent endeavors have focused in live coding both because of aesthetics and as a way to alleviate performance drawbacks when the musical instrument is a computer. This paper describes the principles and the design of Vivace, a live coding language and environment built with Web technologies to be executed on web browsers. The approach is compelling by 1) allowing many performers to code simultaneously, 2) the synthesis of audio and video, 3) a very simple syntax, 4) being a multiplatform software. We also strive to contextualize Vivace by means of historical and usage summaries including a live coding sub-genre.