Arquivo da tag: projetos

Scrum

scrum-glossary-agile-terms

O Scrum é um modelo de processo de desenvolvimento ágil de software fundamentado nas teorias empíricas de controle do processo, ou empirismo. Sua abordagem é iterativa e incremental possibilitando assim aperfeiçoar a previsibilidade e o controle de riscos [Schwaber and Sutherland 2013, p. 4].

Segundo [Cisneiro et al. 2013, p. 4] o nome Scrum é derivado de uma jogada de rúgbi, onde todo o mesmo time avança como apenas uma unidade, trabalhando com os mesmos jogadores e em conjunto, passando sempre a bola pra um e para outro.

Conforme [Schwaber and Sutherland 2013, p. 4], três pilares sustentam qualquer implementação de controle de processos empíricos:

  • Transparência: Garante que aspectos do processo que afetam o resultado devem ser visíveis para aqueles que gerenciam os resultados.
  • Inspeção: Os diversos aspectos do processo devem ser inspecionados com uma frequência suficiente para que variações inaceitáveis no processo possam ser detectadas.
  • Adaptação: Se o inspetor determinar, a partir da inspeção, que um ou mais aspectos do processo estão fora dos limites aceitáveis e que o produto resultante será inaceitável, ele deverá ajustar o processo ou o material sendo processado. Esse ajuste deve ser feito o mais rápido possível para minimizar desvios posteriores.

Segundo [Schwaber and Sutherland 2013, p. 5] os papéis existentes no Scrum são:

  • ScrumMaster: é o responsável por garantir que o Time Scrum esteja aderindo aos valores do Scrum, às práticas e às regras, ajuda o Time Scrum e a organização a adotarem o Scrum.
  • Product Owner: á a única pessoa responsável pelo gerenciamento do Backlog do Produto e por garantir o valor do trabalho realizado pelo Time. Essa pessoa mantém o Backlog do Produto e garante que ele está visível para todos.
  • Time (equipe de desenvolvimento): Transformam o Backlog do Produto em incrementos de funcionalidades potencialmente entregáveis em cada Sprint. Times também são interdisciplinares: seus membros devem possuir todo o conhecimento necessário para criar um incremento no produto.

[Neto 2013] diz que o objetivo de se ter eventos no Scrum é proporcionar um maior controle sobre o processo adquirindo uma rotina de trabalho e aumentar a transparência ao decorrer do desenvolvimento. Os eventos Scrum são time boxed, ou seja, possuem uma duração máxima definida. Não se pode garantir o sucesso de um projeto com o uso do Scrum deixando de incluir qualquer um dos seus eventos que são:

  • Sprint: Uma Sprint consiste em um espaço de tempo de no máximo quatro semanas.Onde é desenvolvido por o Development Team um produto potencialmente utilizável. O tempo de duração de uma Sprint pode variar entre duas a quatro semanas, essa é uma decisão compartilhada por o Scrum Team. Cada Sprint deve ter um objetivo a ser alcançado pelo Development Team, resultando em um incremento do produto final.
  • Sprint Planning Meeting: O Sprint Planning Meeting é a reunião de planejamento que ocorre antes do início de uma Sprint como resultado de um trabalho colaborativo do Scrum Team.
  • Daily Scrum Meeting: é uma reunião diária geralmente de 15 minutos. O seu objetivo principal é fazer o Development Team refletir a respeito das seguintes questões: “O que foi completado desde a última reunião?”, “O que será feito até a próxima reunião” e ”quais os obstáculos que estão no caminho?”. Essa reunião assegura que o Development Team está seguindo a direção correta em relação ao objetivo da sprint.(SCHWABER, 2011, pg 10).
  • Sprint Review: acontece ao final de cada Sprint e tem como objetivo avaliar o que foi produzido pelo Development Team. É uma reunião com duração de 4 horas para Sprints de um mês.
  • Sprint Retrospective: esta é uma reunião de duração de três horas para uma Sprint de um mês. Tem como objetivo avaliar o desempenho do Development Team, criando melhorias a esse respeito para a próxima Sprint.

[Cisneiro et al. 2013, pg 8] cita que artefatos Scrum são as ferramentas básicas para se trabalhar com este modelo de desenvolvimento. Estes artefatos servem como guias e indicadores durante o processo. São divididos em três:

  • Product Backlog: o Proprietário do Produto prepara uma lista de funcionalidades desenvolvida em conjunto com o cliente, que é organizada por prioridade de entrega. Essa lista chama-se Product Backlog.
  • Sprint Backlog: assim que a equipe de Scrum escolher e definir a lista de requisitos e a prioridade de seus itens do Product Backlog, cada um desses itens agora será dividido em partes menores para o Sprint Backlog. Ou seja, uma lista especificando as necessidades para implementar uma funcionalidade do sistema.
  • Burndown Chart: é um gráfico que mostra a quantidade de trabalho cumulativo restante de um Sprint, dia por dia. Com isto, podemos visualizar facilmente se um trabalho está tendo progresso, completando as tarefas, enquanto vemos que as colunas do gráfico vão caindo em sua altura.

Estes conceitos e artefatos propostos pela metodologia de desenvolvimento Scrum se utilizadas da forma correta em projetos onde a agilidade possa ser empregada irá proporcionar a empresa a possibilidade de produzir softwares que satisfaçam os clientes, com uma boa qualidade e agilidade.

Referências

Cisneiro, H., Jacoba, M. S., and Pereira, S. M. T. (2013). Modelo de desenvolvimento ágil scrum. Disponível em: http://www.devin.com.br/modelo-scrum/. Acesso em: 06 Mai. 2013.

Neto, C. (2013). Conhecendo o scrum. Disponível em: http://www.devmedia.com.br/conhecendo-o-scrum/25744. Acesso em: 29 Abr. 2013.

Schwaber, K. and Sutherland, J. (2013). Guia do scrum, 2011. Disponível em: http: //www.scrum.org/Scrum-Guides. Acesso em 06 Mai. 2013.

Como auxiliar os empresários a gerenciar o processo do desenvolvimento do website de sua empresa

Falar da revolução da internet é muito fácil, frisar que um site da retorno para uma empresa já não é uma tarefa das mais simples, ou é?

Quantas empresas podem realmente afirmar que seu website está lhe trazendo retorno, que ferramentas tais empresas utilizam para medir a audiência, público alvo e retorno sobre o investimento na construção e principalmente manutenção de seu website?

A maioria das empresas ou instituições respondem esses questionamentos com um belo e sonoro: “não sei”. Mas, sabemos o por quê, o porque dessa questão vem em afirmações, como: “estou tranquilo, o meu sobrinho que tem uma loja de informática vai fazer meu site, ou, conheço um rapaz que trabalha com o photoshop, vou passar minha logomarca e dizer para ele fazer meu site baratinho!”.

Agora vamos nos perguntar: o seu sobrinho, o rapaz que “mexe” com o photoshop, sabem trabalhar com grupos interdisciplinares, estudam e reestudam layouts para que os mesmos representem fielmente sua empresa ou instituição, fazem testes de usabilidade para verificar se o seu projeto realmente possui características que facilitem seu uso? Se sua resposta for sim, parabéns! Caso for não, continue a ler esse post.

Geralmente empresários (e não estou só falando de pequenas empresas) contratam um “sobrinho/rapaz” para desenvolver o website de sua empresa/instituição, utilizando um processo de desenvolvimento costumeiramente chamado de ad hoc, o que explicando em palavras simples é um processo em que as coisas rolam sem nenhum formalismo definido, ou seja, senta na frente do computador e mete bala!

O desenvolvimento ad hoc, traz duas coisas interessantes para a empresa/instituição que encomendou o projeto:

a) O projeto ficará pronto rapidamente

No geral projetos web executados no estilo ad hoc não utilizam diferentes especialidades para o gerenciamento e desenvolvimento do projeto (interdisciplinaridade, que bicho é esse?). Um projeto web para obter sucesso deve ter um grupo interdisciplinar gerenciando o mesmo, pois as pessoas que irão interagir no processo são de diferentes áreas do conhecimento:

* Desenvolvimento de Sistemas Web;
* Administração de banco de dados;
* Marketing;
* Web Design;
* Redatores e revisores;
* Publicadores de conteúdo;
* Responsáveis pela estrutura de rede e segurança;
* Profissionais a nível gerencial de sua empresa.

Bem, como o sobrinho/rapaz é um só, o projeto vai ficar pronto rapidão! Outro ponto importante nessa questão, é dizer que o sobrinho/rapaz, sabem realmente a imagem que sua empresa quer repassar para seus clientes e fornecedores, estudam e reestudam o manual da sua logomarca para aplicar ela corretamente no seu projeto, efetuam um briefing adequado com as pessoas chaves em sua empresa, enfim, tentam representar no mundo virtual o que sua empresa é no mundo real.

b) O projeto vai custar baratinho

Em toda nossa vida, temos retorno proporcional ao nosso investimento, ou uma Ferrari é igual a um automóvel Fusca? Quando sua empresa estiver na web, ela irá demonstrar de maneira On-line como é sua estrutura física e organizacional, sim irá demonstrar isso, pois uma pessoa que nunca viu sua empresa e verificar a mesma na internet vai imaginar que sua empresa é igualzinha ao seu website!

Ta bom, to ferrado e agora???

Calma, não existe motivo para pânico, primeiro  fique atento e desconfie de projetos que custam um valor muito abaixo do que é praticado por empresas sérias e com verdadeiros profissionais no gerenciamento e desenvolvimento web, e preste atenção aos seguintes passos no desenvolvimento do seu projeto:

1) Briefing

Um briefing deve conter informações que vão possibilitar a empresa que está desenvolvendo seu projeto dar sequência ao mesmo, sem ter que ficar marcando reuniões e tirando dúvidas a todo o momento, o briefing deve ser bem específico e coeso, trazendo informações da sua empresa, dos clientes e dos seus concorrentes. O briefing deve ser respondido pelo cliente e não pela empresa que está desenvolvendo seu projeto, a obrigação da empresa desenvolvedora é conhecer seu ramo de negócio, identificar os problemas e oferecer soluções e oportunidades.

2) Atividades de criação de seu projeto

Preste muita atenção na definição de toda infra-estrutura inicial e implementação de funcionalidades básicas. Tenha certeza que a empresa que irá desenvolver seu projeto, fez um levantamento criterioso da estrutura de servidores, segurança e disponibilização das funcionalidades básicas em seu website (Sistemas de novidades, notícias, newsletters, álbum de fotos, sistemas de divulgação de serviços, produtos, sistemas de administração de conteúdo, permissões de grupos de usuários, etc…) enfim, todas as funcionalidades básicas para tornar seu website atraente para seu público alvo e fácil de administrar os conteúdos por seus colaboradores.

É importante frisar que as atividades de criação do projeto exigem grande carga de trabalho, mas tem data para acabar: a inauguração do seu website. Opa, então um site acaba? A resposta com certeza é não! Costumo dizer que um site deve ter vida própria, deve aprender as suas necessidades e evoluir com o tempo. Para que isso aconteça de maneira natural, não podemos esquecer de um detalhe que compromete todo o projeto: a manutenção do site e seu conteúdo.

3) Manutenção

Na fase de manutenção existe a criação de funcionalidades adicionais para deixar seu website mais atrativo e permitir o mesmo evoluir seus serviços de acordo com as necessidades dos usuários que o acessam. A principal característica dessa tarefa é que deve ser realizada de forma contínua, ou seja, enquanto o portal existir.

É na manutenção do conteúdo que observamos realmente se o projeto do site realmente foi bem planejado, é nesse ponto que fica explicita a organização de sua empresa, ou seja, se realmente existe a divulgação com uma periodicidade eficiente do que está acontecento em sua organização. Muitos empresários acreditam infelizmente, que após o projeto ser entregue o mesmo não irá necessitar de manutenção, para exemplificarmos isso, basta fazermos uma analogia com um carro: adquira um carro, não lave o mesmo nunca, não troque óleo e não abasteça!

4) Gerenciamento de conteúdo

Infelizmente ainda nos dias de hoje,  na maioria dos projetos a manutenção de conteúdo fica a cargo de especialistas, que tenham conhecimento na linguagem html, manipulação de imagens e outras tecnologias específicas. Mas uma empresa séria e comprometida no seu projeto irá indicar com certeza um sistema que disponibilize a seus colaboradores ferramentas que possibilitem que o usuário que não possua nenhum conhecimento técnico atualize o conteúdo de maneira eficiente e prática, tais ferramentas denominam-se CMS (Content Management System / Sistemas Gerenciadores de Conteúdo). Os CMS possuem como principal característica um elevado grau de customização.

Qualquer pessoa de sua empresa/organização poderá de maneira totalmente transparente sem possuir conhecimento técnico algum, estruturar, criar, administrar, publicar e distribuir informações no seu website.

Lembrem-se: seu website é a representação virtual de sua empresa, garanta sempre que uma equipe especializada irá construir o mesmo, pois se isso não ocorrer, você estará correndo sério riscos, e provavelmente perdendo clientes ao invés de obtê-los.

Um grande abraço.

Márcio Henrique Locatelli