Financiamento coletivo no Brasil – Blog do Catarse

Geral

Desenvolvimento do Catarse com histórias

Captura de Tela 2013-09-12 às 13.10.37

 

Como escolher o próximo recurso a ser adicionado no Catarse? Como ligar as necessidades do atendimento de realizadores apoiadores e da equipe interna em um software coeso e um processo que atenda a todos? A priorização da nossa fila de tarefas é uma arte delicada que envolve boa parte da equipe. Uma ferramenta central nesse processo é a “história de usuário” e através dela que todas as pessoas na equipe conversam e, incrivelmente, se entendem.

Inspirado pelos últimos posts da equipe, onde explicamos um pouco mais os bastidores de processos de criação,  e falamos sobre como o trabalho dentro do Catarse é desenvolvido resolvi descrever um dos pontos centrais do nosso fluxo de trabalho: como essas histórias são contadas.

O verdadeiro nome

Um sábio uma vez disse que existem duas coisas difíceis na ciência da computação: invalidar cache e dar nome às coisas. Quero me concentrar no segundo item. Nas histórias de terror de Lovecraft simplesmente pronunciar o nome de alguns demônios seria suficiente para conjurá-los. Em algumas mitologias saber o nome de uma pessoa nos confere um certo poder sobre ela. Me parece que mesmo fora das antigas fábulas, nomes nos dão poder sobre o mundo. São eles que nos permitem sintetizar conceitos mais amplos e aumentam consideravelmente o nosso poder de transmitir e manipular informações. Além disso, um nome apropriado para um conceito é o primeiro passo para uma discussão proveitosa e para o avanço no desenvolvimento de ideias e histórias mais elaboradas. Poderíamos discutir o próprio nome Catarse, que sem dúvidas é profundamente ligado à história do seu desenvolvimento e transmite uma série de ideias que consideramos importantes sobre o financiamento coletivo e o momento em que a plataforma nasceu. Porém divago, isso seria um texto a parte e não me aprofundarei no assunto.

Lovecraft pelos olhos de Francesco Francavilla

Uma homenagem ao autor Lovecraft, pelos olhos de Francesco Francavilla

Vampiros, lobisomens e outras histórias

Bela Lugosi como Drácula

Bela Lugosi como Drácula

Abordo o assunto dos nomes aqui para falar sobre algo maior, as histórias que os utilizam, e o que construimos com elas. E vocês podem perceber a importância dos nomes se tentarem imaginar a história do conde Drácula caso ele se chamasse Asdrubal. Da mesma forma, enquanto desenvolvemos a plataforma do Catarse, tomamos muito cuidado ao escolher nomes que façam sentido dentro de uma história que estamos contando. E desenvolvemos o software exatamente assim, descrevendo histórias de usuário (do inglês user stories).

Existe um texto conhecido na área de engenharia de software que diz: “Não existe bala de prata”. Ele se refere à ferramenta definitiva, que soluciona todos os problemas durante o processo de desenvolvimento. Então, existem diversas formas de se desenvolver software e a escolha se torna difícil. No Catarse utilizamos a que nos parece mais eficiente dentro do nosso contexto, usando ferramentas do XP e do Scrum. Parte desse método é a decomposição dos requisitos da aplicação em histórias.

Era uma vez um projeto…

É importante ter uma definição do que o sistema deve fazer que não esteja somente dentro da cabeça dos programadores e designers. Isso serve para que todas as pessoas interessadas no software possam conversar sobre ele e alinhar suas expectativas sobre o ele.

É muito mais fácil discutir isso:

“Como visitante, para ter acesso amplo e rápido às estatísticas e diminuir o volume de atendimento, eu quero visualizar estatísticas de projetos e apoios na área de imprensa

Do que isso:

Vemos na história acima a importância dos nomes, quantos termos tem um significado específico no contexto do Catarse (visitante, apoio, projetos). Além disso sempre usamos o ponto de vista dos usuários e destacamos o valor da funcionalidade de forma mais ampla, o que ajuda a manter o foco do desenvolvimento em entregar valor a essas pessoas. E isso não é conversa mole, estamos sempre escutando quem interage com o Catarse. Já nos reunimos com realizadores e apoiadores, fizemos testes de usabilidade (com direito a suco e biscoitos) e discutimos em muita mesa de bar como poderíamos melhorar a aplicação.

Nem tudo no sistema, no entanto, precisa ser descrito em histórias, boa parte da funcionalidade é melhor descrita em wireframes (que podem ser anexados às histórias). Os wireframes são desenhos em guardanapos, papel de pão ou qualquer outra mídia de baixa fidelidade que tentam mostrar como será uma tela do Catarse. O exemplo abaixo foi desenvolvido logo no início da concepção do Canal Asas. De lá para cá o visual mudou completamente, mas o wireframe nos deu uma boa base de discussão e nos possibilitou visualizar a estrutura da informação antes de implementar qualquer design.

Wireframe para os canais

Wireframe para os canais

Nossas queridas designers geralmente fazem esse tipo de esboço antes, durante, e após a criação de histórias que descrevem uma funcionalidade. Além disso temos a discussão gerada durante o trabalho que aprofunda o conhecimento sobre o problema que está sendo resolvido. Isso também é um artefato importante para o desenvolvedor criar a funcionalidade desejada e fica registrada no mesmo local.

Se querem mais exemplos, as histórias que utilizamos para construir o Catarse estão abertas assim como o código fonte. Todo o processo de desenvolvimento é bem transparente e tem uma ligação forte com a cultura de código aberto.

Caso algum dia tenha se perguntado como funciona o processo de desenvolvimento do Catarse, creio que o texto acima cobre a parte mais árdua. É o levantamento de requisitos, a descrição do que queremos fazer e o que queremos colocar no ar. O código e a parte onde jogamos ele para os servidores é só diversão, complicado mesmo é entender quais histórias queremos contar.