Organize seu projeto de tecnologia no confluence

Alex Cerqueira
11 min readAug 10, 2023

A crescente complexidade e demanda de projetos de desenvolvimento de sistemas na indústria de TI exige uma abordagem estruturada e bem organizada para gerenciar informações, colaboração entre equipes e garantia de qualidade. A plataforma Confluence, desenvolvida pela Atlassian, emerge como uma solução essencial para atender a essas necessidades, oferecendo um ambiente colaborativo onde a documentação, planejamento e comunicação podem ocorrer de forma integrada.

No contexto de um projeto de desenvolvimento de sistemas, é crucial que informações vitais sejam acessíveis, atualizadas e bem organizadas. Isso inclui detalhes sobre os objetivos do projeto, arquitetura, requisitos, desenvolvimento de código, controle de versão, testes, e muitos outros elementos que compõem um projeto bem-sucedido.

A sugestão de estrutura no Confluence para desenvolvedores aborda dez áreas principais, cada uma com seu propósito e relevância no ciclo de vida do projeto. Essas áreas são:

1. Espaço Principal — Desenvolvimento de Projetos

Descrição:

O Espaço Principal é o coração da organização da documentação dentro da Confluence. Ele serve como um repositório centralizado onde todos os documentos, informações e recursos relacionados a projetos de desenvolvimento estão armazenados. A organização clara aqui é essencial, pois facilita o acesso rápido às informações necessárias para todas as partes envolvidas em um projeto, desde desenvolvedores e gerentes de projeto até partes interessadas externas.

Exemplo:

Imagine que uma empresa de tecnologia esteja trabalhando em um novo sistema de gerenciamento de RH. No espaço principal da Confluence, eles podem criar uma estrutura clara que inclui todas as informações relevantes, como objetivos do projeto, prazos, membros da equipe, recursos técnicos e muito mais.

Este espaço pode incluir:

  • Visão Geral do Projeto: Uma descrição detalhada do projeto, seus objetivos, a tecnologia envolvida e as principais partes interessadas.
  • Documentação Técnica: Links para documentação técnica, como arquitetura de sistema, esquemas de banco de dados, etc.
  • Timeline e Roadmap: Um cronograma visual mostrando os principais marcos e sprints planejados.
  • Recursos Humanos: Detalhes da equipe, incluindo informações de contato e áreas de especialização.

Ao manter todas essas informações em um local centralizado, todos os membros da equipe podem encontrar rapidamente o que precisam, promovendo uma colaboração mais eficiente e mantendo o projeto em movimento de maneira ordenada.

2. Página Inicial

Descrição:

A Página Inicial atua como o portal para o Espaço Principal de Desenvolvimento de Projetos. É a primeira página que os usuários veem ao entrar no espaço e, portanto, deve ser projetada para fornecer uma visão rápida e clara do que o espaço contém. A Página Inicial frequentemente inclui uma visão geral do espaço, links rápidos para seções principais e pode destacar informações urgentes ou anúncios importantes.

Exemplo:

Suponha que uma empresa de TI esteja desenvolvendo um aplicativo móvel de saúde. A Página Inicial dentro do espaço do Confluence pode ser organizada da seguinte maneira:

  • Visão Geral: Uma breve descrição do aplicativo, incluindo seu propósito, público-alvo e os principais objetivos.
  • Links Rápidos: Links diretos para seções importantes como Documentação de Projetos, Roadmap, Requisitos e Especificações, etc.
  • Anúncios Recentes: Anúncios sobre atualizações, reuniões iminentes ou marcos alcançados.
  • Contato Rápido: Uma lista de contatos-chave com links para seus perfis ou informações de contato direto.

Neste exemplo, um novo membro da equipe pode facilmente se orientar, encontrar informações essenciais e começar a colaborar com a equipe sem perder tempo procurando por recursos dispersos. A Página Inicial bem projetada e informativa serve como um guia intuitivo, direcionando os usuários para onde precisam ir e fornecendo contexto e clareza.

3. Documentação de Projetos — Projeto A e B

Descrição:

A Documentação de Projetos é uma seção vital que contém todos os detalhes essenciais de cada projeto individual. É aqui que as equipes podem encontrar informações sobre o resumo do projeto, seus objetivos, stakeholders, informações de contato da equipe e links para páginas relevantes. Cada projeto, como Projeto A e Projeto B, terá uma estrutura semelhante, facilitando a navegação e a compreensão.

Exemplo:

Vamos considerar uma empresa de desenvolvimento de software que trabalha em dois projetos distintos: Projeto A para criar uma plataforma de e-commerce e Projeto B para desenvolver um sistema de gerenciamento de conteúdo (CMS).

  • Projeto A: Plataforma de E-commerce
  • Resumo: Descrição do propósito, recursos, tecnologias utilizadas, prazos e orçamento.
  • Objetivos: Metas claras e mensuráveis para o projeto.
  • Stakeholders: Lista das partes interessadas internas e externas e suas responsabilidades.
  • Links Relevantes: Links para design, especificações técnicas, roadmap e outras informações vitais.
  • Informações de Contato da Equipe: Detalhes de contato dos membros da equipe, incluindo líderes de projeto, desenvolvedores e QA.
  • Projeto B: Sistema de Gerenciamento de Conteúdo (CMS)
  • A mesma estrutura que o Projeto A, adaptada às necessidades específicas do CMS.

Nesse exemplo, ter uma estrutura uniforme para cada projeto ajuda os membros da equipe a passar de um projeto para outro sem ter que se adaptar a uma organização totalmente diferente. Isso melhora a eficiência, economiza tempo e mantém a coesão em toda a documentação.

4. Roadmap e Planejamento

Descrição:

A seção de Roadmap e Planejamento é fundamental para o sucesso do projeto, pois define o curso que o projeto seguirá. Ela inclui detalhes como o calendário de lançamentos, marcos importantes, roadmaps de projetos individuais e planejamento de sprints e iterações. Essa seção garante que todos na equipe entendam o cronograma, as expectativas e os marcos críticos que precisam ser alcançados.

Exemplo:

Imagine que uma empresa de TI esteja desenvolvendo um novo sistema de CRM (Customer Relationship Management). O Roadmap e o Planejamento podem ser estruturados da seguinte forma:

  • Calendário de Lançamentos: Um cronograma visual mostrando as datas de lançamento planejadas para diferentes versões ou recursos.
  • Marcos Importantes: Lista dos marcos críticos que devem ser alcançados, como a conclusão do design, a aprovação dos stakeholders, a fase de testes etc.
  • Roadmaps Individuais: Roadmaps detalhados para subprojetos ou equipes individuais, mostrando seus objetivos, tarefas e prazos.
  • Planejamento de Sprints e Iterações: Detalhes sobre a metodologia ágil a ser utilizada, incluindo o planejamento dos sprints, as cerimônias do Scrum, como stand-ups diários, revisões de sprints, etc.

Neste exemplo, a seção de Roadmap e Planejamento funciona como um guia abrangente, garantindo que a equipe esteja alinhada, focada nos objetivos corretos e trabalhando de forma coesa para alcançar as metas do projeto. Serve também como um recurso útil para partes interessadas externas para entender o progresso e a direção do projeto.

5. Requisitos e Especificações

Descrição:

Requisitos e Especificações são a base de qualquer projeto de desenvolvimento. Esta seção documenta os detalhes das necessidades e expectativas do projeto, incluindo documentos de requisitos funcionais e não funcionais, especificações de design, fluxos de trabalho e diagramas de processos. É um recurso indispensável para a equipe de desenvolvimento, garantindo que todos entendam exatamente o que está sendo construído e por quê.

Exemplo:

Vamos considerar uma organização de TI trabalhando em um portal de aprendizado online. A seção de Requisitos e Especificações pode ser estruturada da seguinte forma:

  • Documentos de Requisitos Funcionais: Descrição detalhada de todas as funcionalidades que o portal deve ter, como registro de usuários, gerenciamento de cursos, avaliações, etc.
  • Documentos de Requisitos Não Funcionais: Requisitos relacionados a desempenho, segurança, acessibilidade e outras considerações que não estão diretamente ligadas às funções específicas do portal.
  • Especificações de Design: Mockups, wireframes e guias de estilo para definir a aparência do portal.
  • Fluxos de Trabalho e Diagramas de Processos: Representações visuais dos fluxos de trabalho do usuário e diagramas que mostram como diferentes componentes do sistema interagem entre si.

Por exemplo, no documento de Requisitos Funcionais, haverá uma seção detalhada sobre como o sistema deve gerenciar cursos, incluindo a criação, edição, inscrição e acompanhamento de cursos pelos alunos. Isso serve como uma referência clara para os desenvolvedores enquanto trabalham no projeto.

Tendo todos esses elementos documentados de forma clara e acessível, a equipe pode referir-se a eles durante todo o ciclo de vida do desenvolvimento, garantindo que o projeto permaneça alinhado com as expectativas originais e cumpra os critérios definidos.

6. Documentação Técnica — Arquitetura do Sistema

Descrição:

A documentação técnica é vital para entender como um sistema é construído e como ele funciona. Dentro dessa seção, a Arquitetura do Sistema descreve a estrutura de alto nível do projeto. Isso inclui diagramas de arquitetura que representam a disposição e interação dos componentes do sistema, bem como uma descrição completa dos componentes principais e suas interações.

Exemplo:

Suponha que uma equipe de TI esteja desenvolvendo um aplicativo móvel para gerenciamento de finanças pessoais. A documentação de arquitetura do sistema pode incluir:

  • Diagramas de Arquitetura: Ilustrações gráficas que mostram como os componentes do aplicativo estão organizados e como eles interagem. Isso pode incluir a arquitetura cliente-servidor, a interação com bancos de dados e APIs, etc.
  • Componentes Principais e Suas Interações: Descrição detalhada dos componentes-chave, como o módulo de autenticação, o módulo de gerenciamento de transações, o módulo de relatórios, etc., e como eles trabalham juntos.

Por exemplo, o diagrama de arquitetura pode mostrar que o aplicativo utiliza uma arquitetura em três camadas, com uma camada de apresentação (interface do usuário), uma camada de lógica de negócios (processamento de transações) e uma camada de dados (interação com o banco de dados). A documentação pode incluir um diagrama UML mostrando essa estrutura e descrições textuais detalhando cada componente.

Essa documentação ajuda todos os membros da equipe a entenderem rapidamente a estrutura geral do sistema. Isso é especialmente útil para novos membros da equipe ou quando se está fazendo manutenção ou expansão do sistema.

7. Documentação Técnica — APIs e Integrações

Descrição:

Nesta seção da documentação técnica, o foco recai sobre as APIs (Interfaces de Programação de Aplicativos) e as integrações que o sistema pode ter com outros sistemas ou serviços. A documentação das APIs internas e externas, juntamente com exemplos de chamadas e respostas, é vital para o desenvolvimento, pois permite uma compreensão clara de como diferentes partes do sistema se comunicam e interagem.

Exemplo:

Considere uma empresa de TI que está desenvolvendo um aplicativo de e-commerce que precisa se integrar com várias APIs, como sistemas de pagamento, serviços de envio e redes sociais. A documentação de APIs e Integrações pode ser estruturada da seguinte forma:

  • Documentação das APIs Internas: Descrição detalhada das APIs desenvolvidas internamente, incluindo os endpoints, métodos (GET, POST, etc.), parâmetros, formato de resposta e códigos de status.
  • Documentação das APIs Externas: Informações sobre como o sistema se integra com APIs de terceiros, incluindo a documentação fornecida por esses serviços e qualquer informação adicional necessária para a integração.
  • Exemplos de Chamadas e Respostas: Amostras reais de chamadas de API e suas respostas correspondentes, ajudando os desenvolvedores a entender como usar as APIs em diferentes cenários.

Por exemplo, a documentação de integração com uma API de pagamento popular pode incluir um guia passo a passo sobre como configurar a autenticação, como fazer uma chamada para processar um pagamento, e exemplos de respostas bem-sucedidas e mal-sucedidas.

Essa documentação fornece uma referência rápida para os desenvolvedores, facilita a colaboração entre diferentes partes do projeto, e assegura que qualquer pessoa que esteja trabalhando no projeto possa entender rapidamente como o sistema interage com outros serviços.

8. Documentação Técnica — Banco de Dados

Descrição:

A seção de Banco de Dados da documentação técnica abrange todas as informações relacionadas ao design e estrutura do banco de dados utilizado no projeto. Isso inclui o modelo de banco de dados, esquemas, tabelas, relações, e qualquer outra informação relevante que facilite o entendimento da estrutura de dados. A documentação precisa e clara da estrutura do banco de dados é crucial para a eficiência do desenvolvimento, manutenção e escalabilidade do sistema.

Exemplo:

Vamos supor que uma equipe de desenvolvimento está trabalhando em um aplicativo de gerenciamento de biblioteca. A documentação do Banco de Dados pode incluir:

  • Modelo de Banco de Dados: Uma representação visual que mostra como os dados são organizados, incluindo entidades, atributos e relações.
  • Esquemas: Detalhes dos esquemas utilizados, incluindo informações sobre tabelas, colunas, tipos de dados, chaves primárias e estrangeiras.
  • Tabelas e Relações: Descrições detalhadas das tabelas, incluindo o propósito, os campos e as relações com outras tabelas.

Por exemplo, haverá uma tabela “Livros” contendo campos como ISBN, título, autor, gênero, etc., e uma tabela “Empréstimos” que rastreia os empréstimos de livros aos membros. A documentação explicará como essas tabelas estão relacionadas e incluirá diagramas ER (Entidade-Relacionamento) para ilustrar a estrutura.

Ter essa documentação disponível garante que todos na equipe compreendam a organização dos dados. Isso facilita o desenvolvimento, a depuração e a manutenção do sistema e permite que a equipe tome decisões informadas ao implementar novas funcionalidades ou fazer alterações.

Esta é a análise do oitavo ponto. Estou pronto para continuar com o próximo quando você estiver!

9. Desenvolvimento de Código

Descrição:

Na seção de Desenvolvimento de Código, abordam-se diversos aspectos relacionados ao código-fonte do projeto. Esta seção é dividida em subseções que abordam temas como Controle de Versão, Guidelines de Codificação, e Boas Práticas de Desenvolvimento. Esses elementos são fundamentais para garantir a qualidade do código, a colaboração eficaz entre os membros da equipe, e a manutenção sustentável do projeto.

Exemplo:

Imaginemos que uma equipe está trabalhando em um sistema de gerenciamento de tarefas para uma grande organização. A documentação para Desenvolvimento de Código pode incluir:

  • Controle de Versão:
  • Sistema utilizado (por exemplo, Git).
  • Instruções para clonar repositórios.
  • Fluxo de trabalho para branches e merges.
  • Exemplo: “Utilizamos Git com um fluxo de trabalho GitFlow. Para começar a trabalhar em um novo recurso, crie um branch a partir do branch ‘develop’ usando ‘git checkout -b nome-do-recurso’”.
  • Guidelines de Codificação:
  • Padrões de codificação e convenções.
  • Melhores práticas para evitar problemas comuns.
  • Exemplo: “Siga a convenção de nomenclatura CamelCase para variáveis e métodos. Utilize comentários significativos para descrever a funcionalidade do código”.
  • Boas Práticas de Desenvolvimento:
  • Dicas para escrever código limpo e eficiente.
  • Gerenciamento de dependências.
  • Exemplo: “Use o gerenciador de pacotes NPM para gerenciar dependências. Verifique sempre as atualizações de segurança e mantenha as dependências atualizadas”.

Essa documentação ajuda a equipe a trabalhar de maneira coesa e alinhada com os padrões acordados, garantindo um código de qualidade que seja facilmente compreensível e mantível.

10. Testes e Qualidade

Descrição:

A seção de Testes e Qualidade aborda as práticas e procedimentos utilizados para garantir a qualidade do software. Isso inclui detalhes sobre estratégias de teste, testes unitários e de integração, automação de testes, e outros aspectos críticos que asseguram que o software funcione conforme o esperado e esteja livre de defeitos. Uma abordagem robusta para testes é vital para a confiabilidade e sucesso de um projeto de software.

Exemplo:

Suponha que uma empresa de TI está desenvolvendo um portal online para gestão de recursos humanos. A documentação de Testes e Qualidade pode incluir:

  • Testes Unitários e de Integração:
  • Estratégias de teste para diferentes partes do sistema.
  • Exemplos de casos de teste para módulos individuais e integrações.
  • Exemplo: “Para o módulo de folha de pagamento, os testes unitários cobrem cálculos de salário, deduções e bônus. Os testes de integração verificam a interação com o sistema de contabilidade.”
  • Automação de Testes:
  • Ferramentas e frameworks utilizados (como Selenium, JUnit, etc.).
  • Configuração e execução de testes automatizados.
  • Exemplo: “Utilizamos o Selenium para automação de testes de interface do usuário. Os scripts de teste estão localizados no diretório ‘/tests/ui’, e podem ser executados usando o comando ‘run-tests.sh’.”
  • Relatórios e Monitoramento da Qualidade:
  • Procedimentos para relatar e rastrear problemas.
  • Ferramentas para monitoramento contínuo da qualidade.
  • Exemplo: “Os defeitos são registrados e rastreados usando JIRA. A cobertura de código e a qualidade são monitoradas continuamente através do SonarQube.”

Esta documentação assegura que todos na equipe entendam como os testes são realizados, o que ajuda a manter uma alta qualidade e confiabilidade do código. Isso também facilita a integração de novos membros na equipe e permite que o processo de teste seja replicado e expandido conforme o projeto cresce.

Conclusão

Essa estrutura é um guia para uma colaboração eficaz, manutenção de informações atualizadas e acesso transparente aos detalhes do projeto, contribuindo para a produtividade, eficiência e sucesso da equipe de desenvolvimento de sistemas. Isso reflete uma abordagem moderna e integrada à gestão de projetos de TI, alinhada com as melhores práticas da indústria.

--

--

Alex Cerqueira

Staff Product Designer Brazil stock exchange B3 | UX Strategy | UX Research | Whiter at UX Collective Brazil 🇧🇷