Construindo uma rede social
Já possuímos várias ideias para iniciarmos os trabalhos, porém, precisamos definir quais serão as tecnologias utilizadas e, também, qual será a metodologia de desenvolvimento.
Escopo Inicial:
>
Cadastro e perfil do usuário:
Nome de usuário.
Nome real.
Senha.
Email.
Site pessoal (apenas link).
Avaliação (dado por outros usuários).
Status (Estilo qualquer rede social). (Será necessário gravar um histórico dos status, igual outras redes ?)
Ideias sendo seguidas.
Ideias iniciadas (somente leitura, quantidade de ideias que o usuário iniciou).
Máximo de ideias (define quantas ideias um usuário pode iniciar).
Será importante agora no inicio, vamos limitar a quantidade por uma série de questões, inclusive infra.
Caixa de mensagens (mensagens pessoais, enviada diretamente por outros membros).A caixa de mensagens será derivada de uma "ideia", porém de visibilidade privada. Isso garantirá que não tenhamos que desenvolver um mecanismo específico para esse fim.
Ideias:
Título da Ideia.
Descrição da Ideia.
Tags da ideia.
Visibilidade da ideia (define se qualquer um pode segui-la ou se precisará de convite).
Permissões da ideia (o que o dono, grupos e os outros podem ou não fazer).
Associação com outras ideias (podemos ter um encadeamento de sub-ideias).
Grupos de discussão (possibilidade, mas não necessidade, de se definir grupos de discussão).
Discussão relacionada à ideia (mensagens).
Grupos (Mecanismo de agrupamento de participantes em torno uma ideia):Nome do grupo.
Descrição do grupo.
Tags do grupo.
Participantes.
Mensagem:Autor da mensagem.
Data da mensagem.
Tags da Mensagem.
Corpo da mensagem (existirá limite de caracteres ?).
Para a tecnologia, a sugestão é:
PHP como linguagem server-side, por ser free, open source e independente de plataforma.
Javascript para client-site
MySQL para banco de dados, pelos mesmos motivos da linguagem PHP.
Para a Metodologia de desenvolvimento:
>
Software funcionando é a medida primária de progresso.
Antes de iniciarmos o processo, gostaria que os senhores lessem o conteúdo dos seguintes links:
:seta: Manifesto para Desenvolvimento Ágil de Software
:seta: Getting Real by 37signals
Pensem que, nesse momento, passamos a ser clientes e desenvolvedores da ferramenta.
O sugeriu Srum:
Algumas características do Scrum:
>
[*]Clientes se tornam parte da equipe de desenvolvimento (os clientes devem estar genuinamente interessados na saída);
[*]Entregas frequentes e intermediárias de funcionalidades 100% desenvolvidas;
[*]Planos frequentes de mitigação de riscos desenvolvidos pela equipe;
[*]Discussões diárias de status com a equipe;
[*]A discussão diária na qual cada membro da equipe responde às seguintes perguntas:
[*]O que fiz desde ontem?
[*]O que estou planejando fazer até amanhã?
[*]Existe algo me impedindo de atingir minha meta?
[*]Transparência no planejamento e desenvolvimento;
[*]Reuniões frequentes com os *stakeholders* (todos os envolvidos no processo) para monitorar o progresso;
[*]Problemas não são ignorados e ninguém é penalizado por reconhecer ou descrever qualquer problema não visto;
[*]Locais e horas de trabalho devem ser energizadas, no sentido de que "trabalhar horas extras" não necessariamente significa "produzir mais".
Vejam que o tópico para definição dos recursos da ferramenta ainda está em andamento, porém, já temos o suficiente para dar inicio ao desenvolvimento.
>
Mudanças nos requisitos são bem-vindas, mesmo tardiamente no desenvolvimento.
Processos ágeis tiram vantagem das mudanças visando vantagem competitiva para o cliente.
Um ponto problemático são as reuniões diárias, outro ponto:
Princípios por trás do Manifesto Ágil
>
O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face.
Como o objetivo é iniciarmos, logo, o desenvolvimento da aplicação, o prazo para discussão da metodologia de desenvolvimento finalizará esse sábado, dia 24 de Julho.
Discussão (34)
Carregando comentários...