contratamos-02
Postado no dia 25 de agosto de 2016 Postado em Uncategorized

Termo de Referência para evolução da plataforma mudamos.org

I. Objetivo

A plataforma mudamos.org possui uma interface web que se organiza por ciclos de debate. O primeiro ciclo aconteceu em uma plataforma descontinuada (plataformabrasil.org) e o segundo, de segurança pública, foi desenvolvido junto com a reestruturação da plataforma (mudamos.org), a qual foi preparada para suportar múltiplos ciclos de debate, assim como a tornou expansível por meio de plugins.

O objetivo da próxima evolução é (1) consolidar o suporte a múltiplos ciclos e que cada ciclo possa ser customizado, ativando plugins específicos e apresentando layouts personalizados para cada um deles, (2) programar o aplicativo de petições online baseado em assinaturas blockchain e (3) programar o plugin do ciclo de inovação inspirado no AppGree.

II. Descrição sumária do sistema

A plataforma mudamos.org foi desenvolvida usando Ruby on Rails. A sua evolução deverá seguir o mesmo padrão tecnológico, mas serão aceitas sugestões de mudanças nesse padrão durante a fase de propostas. A licença utilizada pela plataforma é a AGPLv3, e seu código pode ser acessado aqui.

III. Metodologia de desenvolvimento

Para o desenvolvimento desta nova fase serão exigidas algumas diretrizes metodológicas:

  • O trabalho será validado continuamente junto a um Product Owner (PO) definido pelo ITS Rio;
  • Todo o código será desenvolvido nos repositórios indicados pela Mudamos;
  • O desenvolvimento terá ciclos semanais ou quinzenais de avaliação de resultados chamados sprints, priorização e planejamento de novas sprints com o acompanhamento do PO;
  • Integração contínua, o que necessariamente demandará da equipe o desenvolvimento de novos testes e a criação de testes para rotinas já existentes;
  • Todo o desenvolvimento será monitorado por um quadro de cartões de funcionalidades compartilhado entre ITS e a empresa contratada, ao estilo do Huboard ou Waffle.io.
  • O foco será na entrega de funcionalidades a cada ciclo de desenvolvimento.
  • A cooperação entre empresa e ITS, bem como a comunicação fluída e desempedida, será fortemente encorajada, inclusive com a integração de canais de comunicação.
  • Softwares funcionais serão sempre mais bem-vindos do que documentação extensa.
  • A simplicidade e a parcimônia serão valores perseguidos a cada evolução.

A metodologia de trabalho não será imposta e o ITS está disposto a trabalhar com metodologias sugeridas pela contratada. No ato da apresentação da proposta a empresa deverá apresentar sua metodologia de desenvolvimento para o projeto.

IV. Forma de contratação

Será escolhida uma empresa dentre as que apresentarem propostas em acordo com este termo de referência. A empresa será contratada através de um contrato particular entre ela e o ITS e seguirá o modelo de escopo aberto, remunerada pelas entregas realizadas.

A remuneração do contrato será feita através da contra apresentação de nota fiscais com o valor apurado pela empresa e validada pelo PO no final de cada mês. A mensuração será feita pela quantidade entregue de Unidades de Serviço Técnico (USTs), que tem um valor aproximado a uma hora de trabalho oferecida pela empresa. A cada ciclo de planejamento, serão feitas rodadas de discussão para definir o trabalho que cada sprint conterá.

A apuração no número de USTs executadas terá como referência a tabela de repertório de estimativas e a tabela de reajustes de demandas não padronizadas, e deverá ser feita pela empresa contratada e apresentada ao PO do projeto, que validará e aprovará o pagamento do trabalho estimado e executado.

V. Repertório de estimativas e demandas não padronizadas

A tabela de repertório de estimativas será a guia da relação contratual para o entendimento dos valores de USTs entregues a cada ciclo do debate. Este termo de referência tem a lista de inicial de atividades catalogadas, mas com a evolução do projeto ela será atualizada para incluir novos itens ou ajustar o valor de itens existentes.

Área Descrição da Atividade Estimativa em USTs
Design Elaboração de template novo para um sistema novo 8
Design Adaptação de template existente para um sistema novo 4
Design Elaboração de tela (html/css) baseada em template existente 1
Design Elaboração de tela (html/css) baseada em template, mas que contenha itens que exijam diagramação única (como um mapa, ou imagem específica) 2
Design Alteração pontual em tela (html/css) existente 0,5
Análise Elaboração do Planejamento de Produto 4
Análise Elaboração do Desenho/Arquitetura da solução, para projetos novos 6
Análise Elaboração do Desenho/Arquitetura da solução, para manutenção 2
Análise / Design Criação de protótipo de uma tela baseado em template existente 1
Análise Modelagem de banco de dados 1 por classe de objeto
Análise Elaboração de backlog do produto 0,5 por funcionalidade
Análise Elaboração de backlog do sprint 1 por funcionalidade
Análise Especificação de funcionalidade para seu desenvolvimento em uma sprint, com criação do User Story 2
Programação Programação de 1 operação de banco (criação, leitura, atualização, remoção) no back-end, com dados submetidos pelo front-end. (Programação completa, incluindo validação do campo, sanitização das “strings” etc.) 4
Programação Programação de 1 funcionalidade simples de usabilidade, no front-end (exemplos: uma caixa de diálogo; em Javascript) 2 para o primeiro; 0,5 para os demais repetidos no mesmo sistema
Programação Programação de validação de campos de formulário, no front-end, com mensagens ao usuário 0,5 por campo do formulário
Teste Teste e Debug 0,5 por funcionalidade
Teste Teste automatizado 1 por funcionalidade
Implantação Implantação do sistema em homologação (trabalho completo, incluindo geração de builds, scripts etc.) 2
Implantação Implantação do sistema em produção (trabalho completo, incluindo geração de builds, scripts etc.) 2
Documentação Elaboração de Manual do Usuário 1 por três funcionalidades
Documentação Elaboração de Documento de Revisão 1,5
Documentação Elaboração de documento de retrospectiva 1
Documentação Elaboração de Documento de Lições Aprendidas 1 por lição inédita (aprovado pelo ITS)
Manutenção Execução de hotfix em sistema de produção (prioridade alta máxima frente outras demandas) 1

As demandas cujo atendimento é pouco padronizado no mercado requerem maior qualidade no esforço de atendimento, e não maior quantidade. Reconhecendo essa necessidade, o ITS prevê ajuste no valor da UST baseado na complexidade decorrente dessa falta de padronização da demanda. Esse ajuste não será aplicado ao projeto inteiro, mas apenas àqueles itens e esforços específicos que efetivamente o justificarem. A tabela abaixo exemplifica os níveis de complexidade adotados.

Nível de Complexidade Descrição do exemplo Fator de complexidade
1 Projetos com necessidade negocial clara; pouca interação com outros sistemas; poucas restrições apresentadas pelo legado; etc. 1
2 Projetos com necessidade negocial incomum; maior interação com outros sistemas; maiores condições impostas por sistemas legados; etc. 1,5
3 Projetos com necessidade negocial complexa; muita interação com outros sistemas, a ponto de demandar alta criatividade e/ou especialidade no desenho da solução; interação com sistemas legados que dificultem o desenho de uma solução clara para o projeto, demandando estratégias avançadas de desenvolvimento, migração etc; etc. 2

A definição do fator de ajuste porventura aplicável a determinado componente de projeto é prerrogativa exclusiva do ITS. O fator de ajuste será definido tomando por base a execução da demanda por profissionais experientes e competentes; em nenhum caso poderá ser utilizado para compensar a falta de capacidade ou de eficiência dos profissionais alocados ao projeto.

Atividades de liderança ou gerência, como as do trabalho do Gerente de Projetos, ou do Scrum Master, que não diretamente relacionadas a um entregável, como participação em reuniões, não serão remuneradas diretamente. Somente são remuneráveis os entregáveis. A empresa que apresentar proposta deverá prever os custos indiretos dos entregáveis e incluí-los na precificação da UST.

VI. Requisitos iniciais pré-definidos

Neste termo são apresentados dois problemas de desenvolvimento, mas o contrato não se restringirá a execução destes. A empresa contrada atuará no apoio ao desenvolvimento de solução demandas pelo ITS.

Múltiplos ciclos

Os administradores da plataforma devem ser capazes de iniciar um novo ciclo de debates com poucos cliques. Isso quer dizer, se houver um novo tema a ser posto em debate, a área de administração da plataforma deve oferecer uma opção criar um novo ciclo e ao criar esse novo ciclo, o administrador deve ser capaz de customizar aspectos visuais, bem como definir quais plugins de participação que ele quer utilizar para o ciclo proposto.

Número de USTs estimadas: 80
Número de sprints com o trabalho de 2 desenvolvedores: duas sprints de 7 dias ou uma de 15 dias.

Plugin AppGree

A mudamos.org quer implementar o mesmo mecanimos usado pelo aplicativo AppGree na sua plataforma, como mais um recurso em processos de participação. Este recurso deve permitir que usuários sugiram temas de discussão e que as pessoas votem a favor ou contra essas ideias. O plugin deve ser capaz de gerar relatórios e indexar os resultados de forma a apresentar as opções mais votadas ou mais rejeitadas dentre outras.

Número USTs estimadas: 100
Número de sprints com o trabalho de 2 desenvolvedores: três sprints de 7 dias.

Aplicativo de Assinaturas Digitais

Por conta da premiação recebido no Desafio Google de Impacto social, a Mudamos irá desenvolver um aplicativo voltado para a viabilização de projetos de lei de iniciativa popular. O escopo desse projeto é aberto e será definido entre o ITS e a empresa contratada.

VII. Propostas

As empresas interessadas deverão apresentar propostas até o dia 13 de setembro. O documento deverá conter o valor cobrado por UST e a apresentação da metodologia de desenvolvimento. A descrição de ferramentas, rotinas e processos sugeridos para execução do trabalho são desejáveis. Além disso, a empresa deverá apresentar dois atestados técnicos de trabalhos em projetos com Ruby on Rails e tecnologias baseadas em Blockchain. Haverá uma pré-seleção das empresas, que serão convidadas a apresentar um plano de ação para os dois problemas de desenvolvimento descritos neste Termo de Referência.

O ITS se reserva ao direito de não contratar nenhuma empresa que se apresente na concorrência, como também não se limita a contratar apenas uma delas. A decisão sobre a contratação é definitiva e exclusiva do ITS, não cabendo nenhum tipo de recurso.

As propostas deverão ser remetidas por e-mail para makonopacki@itsrio.org com a marcação no assunto de [MUDAMOS]. Deadline: 13 de setembro.

Baixe esse documento.