domingo, 7 de julho de 2019

Passamos em PGP!

No dia 27/05, entregamos o documento corrigido e apresentamos a versão final do UniLoL. Após a apresentação, os professores nos desejaram boas férias...os dias seguintes não foram de férias, mas de muito F5 no SUAP. Não foi pedida uma terceira entrega, o que só podia significar aprovação, mas isso não impediu a gente de querer saber logo qual a nota final; não, 6 não é 10. Tiramos mais do que isso, aliás. Valeu o esforço, principalmente dos desenvolvedores, que devem ter encontrado alguma forma de diminuir o ritmo do tempo, ou de parar ele mesmo...

Aprendizado. Oportunidade. Desenvolvimento pessoal. Experiência. Aperfeiçoamento profissional, etcetera, etcetera, etcetera...agora, falando sério, não posso falar pela equipe inteira, mas foi sim um bom aprendizado, especialmente das várias ferramentas que nunca tínhamos visto antes e, no meu caso, do Scrum.
Gliding over all...da esquerda para a direita: Emilaine, Ana (a Ana é o celular, não o Nildoardo), Nildoardo, Victor, Andrei, Pedro

sábado, 6 de julho de 2019

Dicas para a produção do documento

"Vocês olharam a lista de requisitos?"
Parte da experiência de PGP/PI consiste em revisar continuamente a lista intimidadora dos pontos importantes sobre a disciplina, disponível no site de dicas do Prof. Ivan, para ver se não está faltando nada no desenvolvimento do projeto. Essa lista contém tudo que você e sua equipe precisam fazer para passarem na matéria, mas não explica como atender tantas atividades. É aí que entra a tal da "prática de gerenciamento"...e algumas dicas das gerações passadas sobre como ter um bom fluxo de tarefas, pelo menos na parte de documentação:

Esqueça o Word, use o LaTeX!

 A exigência principal dos documentos (a Proposta Inicial, a Prova de Conceito e o Documentão) é que eles sejam formatados em ABNT. Por isso 9 entre 10 professores recomendam que seja usado o LaTeX, que automatiza as tarefas de formatação. Por exemplo, no ABNT, cada Figura deve ser numerada de acordo com a ordem em que ela aparece no texto. Acontece que, durante o desenvolvimento do projeto, várias Figuras vão entrar e sair. Se você tiver que adicionar uma Figura entre a Figura 2 e a Figura 3, todas as Figuras subsequentes deverão ter sua numeração alterada para ficarem de acordo. No Word, você teria que alterar legenda por legenda. O LaTeX faz isso sozinho, além de outras coisas como a geração as índices e listas, o formato correto das referências, onde cada coisa foi citada...o problema é que dá um pouco de trabalho para aprender a usar a ferramenta. Acho que demorei mais de duas semanas até ter o domínio. Mas, mesmo assim...não use o Word. Você vai enlouquecer. 
Esse é o Mario. O Mario fez PGP/PI e usou o Word. Não seja o Mario.

Use o modelo em ABNT do site do Prof. Ivan

No site do Prof. Ivan, na seção de Textos, você vai encontrar um Modelo de LaTeX com toda a formatação ABNT já feita, com formatos específicos para o curso de Análise e Desenvolvimento de Sistemas, para o Curso Técnico em Informática e Pós-graduação. Usamos esse modelo do começo ao fim da matéria, e não precisamos fazer nenhuma alteração nos arquivos que cuidam da formatação; das várias correções feitas pelos professores após a primeira entrega, nenhuma delas foi relacionada à alguma violação do ABNT, então pode ser usado tranquilamente.

O Overleaf

O modelo acima se encontra no Overleaf, uma ferramenta de edição online de arquivos LaTeX. Ele permite que várias contas diferentes editem um projeto ao mesmo tempo...mas, na versão gratuita, só é possível compartilhar um projeto LaTeX com uma conta diferente. O que dá pra fazer é que uma conta pode ter múltiplas sessões, então criamos uma conta comum para que todos pudessem editar simultaneamente. O único problema é que não é possível saber quem editou o quê, pois todas as sessões levam o mesmo nome de usuário. Usamos o Overleaf do começo ao fim, sem problema nenhum.
The PGP Murders: 6 sessões diferentes, todas com o mesmo nome; quem adulterou a Introdução, um dia antes de imprimir o trabalho? Não aconteceu isso, não se preocupem

Drafted

Você já passou horas tentando resolver um problema que tinha uma solução estúpida de tão simples, e "ah não como foi que eu não vi isso, tava na minha cara"? Nós também, e vários outros grupos de PGP/PI. Sabe o modelo do Prof. Ivan? No arquivo principal dele (main-texto-completo.tex), você vai encontrar essa linha:


O que o draft faz é exibir apenas o caminho de cada Figura ao invés da Figura em si (com os PDFs é a mesma coisa), para não levar minutos para compilar, caso o projeto fique bem extenso. É útil pra quando a equipe estiver editando bastante o texto, mas, por algum motivo, todo mundo esquece de comentar ou remover o draft depois, levando a episódios de pânico e desespero quando as Figuras simplesmente se recusam a aparecer por alguma razão misteriosa, ainda mais na época da entrega da Proposta Inicial, quando a experiência com o LaTeX ainda é pouca.

Retratado: Episódio de pânico e desespero

Falando em PDFs...

Nos apêndices do Documentão, você precisa incluir tanto a Proposta Inicial quanto a Prova de Conceito. Mas esses dois documentos serão entregues separadamente ao longo da disciplina, logo terão sua própria numeração de páginas. Essa numeração deve ser mantida, então não é possível apenas reproduzir o texto no Documentão. A solução é incluir a Proposta e a POC como PDFs. O tamanho do PDF deve ser diminuído para aparecer tanto a numeração do PDF quanto a numeração do apêndice onde ele se encontra. O jeito de fazer isso é...olha, eu não explicar, mas copia e cola o que eu fiz que vai dar certo.

Atas de reunião: devem ser feitas no mesmo dia

Um dos itens obrigatórios é o conjunto de atas de reunião. Não deixe para fazer as atas depois, é muito difícil voltar atrás e tentar lembrar tudo que foi discutido. Caso o membro encarregado de fazer a ata falte, ela deve ser feita por outra pessoa no mesmo dia. Anote a data, horário, local, membros presentes e tópicos discutidos. Até as tretas? Sim, inclusive as tretas

Histórico das atividades: anote todas

Outro item obrigatório é o histórico de atividades com informações sobre a gestão do projeto. A forma de registrar as atividades no documento deve estar de acordo com a metodologia usada. Por exemplo, se a equipe usar o Scrum, no documento ela deve registrar os Sprints. Nós usamos o Trello para organizar as tarefas, mas cometemos alguns erros. Por exemplo, o nome das atividades deve ser descritivo e não ambíguo. Na hora de documentar as tarefas, voltei pra um dos Sprints anteriores no Trello e encontrei o card: "Documentação". Mas documentação de quê?! A experiência foi semelhante ao olhar um código não-comentado que eu mesmo havia feito algumas semanas atrás. Não entendi nada nem no código nem no card, e foi uma trabalheira para lembrar o que havia sido feito de fato.
É interessante escrever uma descrição para cada atividade, e após conclui-la, revisar o texto para ver o que foi realmente feito. Se surgirem tarefas não-planejadas, elas devem ser anotadas e descritas também. Anote as datas de início e de entrega, os membros responsáveis, etc. Tudo isso é bastante facilitado pelo Trello. Também é interessante detalhar as subtarefas, especialmente as de desenvolvimento e programação.

A Saga das métricas

É obrigatório ter uma tabela com a evolução das métricas do projeto. Mas quais métricas? Elas estão na página de dicas de PGP do Prof. Ivan e devem ser medidas mês a mês. Para as linhas de código e quantidade de arquivos, por exemplo, usamos o Cloc. Idealmente, as Classes, Atributos e Métodos devem ser contados. Não encontrei um programa para contar esses três itens, mas uma alternativa é os desenvolvedores irem contando eles ao longo das atividades. É...bem chato. Não esqueça de contar as métricas ao final de cada mês, e também não deixe pra depois.

Sobre a última compilação antes de imprimir  

O Glossário e a Lista de Abreviaturas e Siglas são gerados automaticamente no LaTeX. Você só precisa incluir os itens de cada um nos seus respectivos arquivos (defs-glossario.tex e defs-siglas.tex), referencia-los no texto com o comando \gls{} e ele gera as listas sozinho, contendo todas as páginas em que um item foi citado.
Acontece que, nessas listas, o Overleaf vai mostrar as páginas erradas em que um item foi citado por causa de...acho que algum problema no cache, não sei. O que você precisa fazer pra corrigir isso é clicar no menu Logs and output files, próximo ao botão de compilação. No final dos logs tem a opção clear cached files. Após limpar o cache a compilação é demorada, por isso é melhor corrigir o problema só na última compilação, quando for imprimir tudo.

Conclusão

É isso :). No geral, use as primeiras duas semanas para aprender o LaTeX e Overleaf, e comece já escrevendo nele, mesmo que a equipe ainda não tenha domínio da ferramenta, para evitar o retrabalho de transferir tudo do Word. Outra coisa que pode dar trabalho é a modelagem de Quadros e Tabelas. Nesse caso, dê uma olhada nos trabalhos anteriores no repositório do SVN. Talvez o seu problema já tenha sido resolvido.
Boa sorte :). E não use o Word. Libreoffice também não
Não use Word...use LaTeX...