Categoria: Metodologia Ágil

Framework PHP Pra que?

Autor:
Data: 08 novembro 2010
Em: Framework, Metodologia Ágil

0 Comentário

A utilização de Frameworks por agências web tem sido uma constante, porém ainda existem muitas agências que ainda trabalham e desenvolvem os códigos na unha, como dizem por ai.

Mas afinal, para que serve um framework?

Posso responder essa pergunta de forma bem simples: Um framework serve para  padronizar e agilizar o desenvolvimento de sistemas, além e facilitar o trabalho em equipe.

Sabemos que hoje na maioria das agências web existem 3 classes de profissionais: O designer – Responsável pela criação dos layouts, logotipos e das peças de mídia digital; O Front-End – Responsável pela estruturação dos layouts em HTML, CSS e  JQUERY;  E nosso amigo Programador que faz a parte sistemática de todo o processo, desenvolvendo os sistemas dinâmicos.

Pensando nesse modelo de trabalho vamos falar exatamente da interação entre o Front-End e o Programador que são os membros da equipe responsáveis especificamente pela codificação dos sites.

by mrconguito

Porque Usar um Framework?

É de extrema importância que o trabalho desses profissionais seja rápido e dinâmico. A pior coisa para um programador é ter que arrumar as coisas erradas que o Front-end por um descuido não observou e deixou sem fazer ou fez errado. Isso gera certos desconfortos no ambiente de desenvolvimento.

Por esses e outros motivos é interessante que o profissional Front-end conheça pelo menos a base da linguagem utilizada por sua equipe de trabalho, que no geral é o PHP, lembrando que existem diversas outras linguagens com a mesma finalidade. Algumas delas são: ASP, ASP.NET e Ruby.

Não estou aqui tomando partido dos programadores, estou simplesmente indicando uma forma de trabalho que una a equipe e torne os projetos mais rápidos e com códigos semanticamente corretos.

Quando se trabalha em projetos com prazos curtíssimos o uso de algum framework pode lhe ajudar muito.

Levando em consideração que o PHP ainda é a linguagem utiliza pela maioria dos profissionais de desenvolvimento web, indico 3 frameworks que possuem uma comunidade atuante, facilitando a solução de duvidas:

Cake PHP – http://www.cakephp.com.br
Zend Framework – http://framework.zend.com
Spaghetti PHP - http://spaghettiphp.org

Os frameworks assim como qualquer outra ferramenta de trabalho, deve ser utilizado de forma adequada para que não ocasione prejuízos ao invés de benefícios.

Continue lendo...

Tags: , , ,

Redmine – Tutorial de Instalação

Autor:
Data: 01 novembro 2010
Em: Metodologia Ágil, Ruby on rails, Tutorial

1 Comentário

O que é o Redmine?

O Redmine é uma aplicação web para gerenciamento de projetos, desenvolvido com o framework Ruby on Rails, oferecendo suporte a diversas plataformas e bancos de dados.
Os bancos atualmente suportados são MySQL 5.0 ou mais, PostgreSQL 8 e SQLite 3; as plataformas suportadas pelo Redmine são Unix, Linux, Mac, MacServer e Windows.

Alguns dos recursos oferecidos pelo Redmine são:

- Suporte a múltiplos projetos;
- Controle de tarefas;
- Calendários e gráficos;
- Notícias, documentos e arquivos (gerenciamento);
- Wiki e fórum;
- Integração com repositórios (SVN, CVS, Git, Mercurial, Bazaar e Darcs);
- Multilinguagem;
- Suporte a diversos bancos;
- Controle de tempo nas tarefas;
- Uso de plugins.

A documentação oficial do Redmine está disponível em:http://www.redmine.org/wiki/redmine/Guide (em inglês).

Instalação

Requisitos para instalação do Redmine:
- Ruby 1.8.x
- Rake 0.8.3
- Rack 1.0.1
- MySQL

O sistema operacional abordado neste tutorial será o Ubuntu 10.04.

1. Instalação do Ruby

Para instalar o Ruby, abra o Terminal, faça o login como usuário root, conforme a Figura 1, e digite:

sudo apt-get install ruby1.8-dev ruby1.8 ri1.8 rdoc1.8 irb1.8libreadline-ruby1.8 libruby1.8

Figura 1

Site Oficial do Ruby http://www.rubyforge.org/.

Instalação do Rake

Para instalar o Rake, abra o Terminal e logado como “root” digite:
gem install –remote rake

Caso a instalação seja realizada com sucesso, aparecerá a seguinte mensagem no terminal:

Successfully installed rake-0.8.7
1 gem installed
Installing ri documentation for rake-0.8.7…
Installing RDoc documentation for rake-0.8.7…

Para instalar o Rack, abra o Terminal e logado como “root” digite:

cd /usr/lib/ruby/gems/1.8/gems/rake-0.8.7
ruby install.rb

Site Oficial do Rake http://rake.rubyforge.org/.

Instalação do Rack

Para instalar o Rack, execute o seguinte comando no terminal:

gem install rack –source http://chneukirchen.org/releases/gems/

Site Oficial do Rack http://rack.rubyforge.org/.

Instalação do MySQL

Para instalar o MySQL você pode acessar a Central de Programas do Ubuntu e digitar MySQL, conforme mostra a Figura 2. Na Central, escolha as opções:

- Navegador de consulta MySQL;
- Administrador MySQL;
- Cliente MySQL;
- Servidor MySQL.

Caso prefira, você pode instalar o MySQL também pelo Terminal. Para instalar via console, abra o terminal e logado como “root”, digite:

sudo apt-get install mysql-server-5.0
sudo mysqladmin -u root sua_senha

Figura 2

Instalação do Redmine

Instalados todos os aplicativos requeridos, faça o download do Redmine em
http://rubyforge.org/frs/download.php/71725/redmine-1.0.0.zip. Utilizaremos a versão 1.0.0 do Redmine.

No MySQL, crie um banco de dados com o nome “redmine”.

create database redmine character set utf8;
create user ‘redmine’@'localhost’ identified by ‘sua_senha’;
grant all privileges on redmine.* to ‘redmine’@'localhost’;

Descompacte o redmine-1.0.0.zip em uma pasta de sua preferência. Em seguida, na pasta descompactada acesse a pasta Config e copie as informações do arquivo database.yml.example para database.yml, inserindo as configurações do seu banco na sessão production.

Exemplo do arquivo:

production:
adapter: mysql
database: redmine
host: localhost
username: root
password: root
encoding: utf8

Vamos agora gerar uma sessão de armazenamento com o rake. Abra o terminal e execute o seguinte comando:

rake generation_session_store

Em seguida, execute o seguinte comando para configurar o Redmine:

RAILS_ENV=production rake db:migrate

Por fim, para iniciar o servidor, acesse a pasta do seu Redmine através do terminal e digite:

ruby script/server webrick -e production

Para acessar seu Redmine, acesse do navegador http://localhost:3000/. O login para acesso é “admin”e a senha “admin”.

Nosso tutorial chegou ao fim, espero que tenham gostado, qualquer duvida deixe um comentário que estarei respondendo.

Continue lendo...

Tags: , , ,

Otimize seu Tempo comendo tomates – The Pomodoro Technique

Autor:
Data: 13 abril 2010
Em: Metodologia Ágil, Scrum

4 Comentários

A partir do momento que decide da uma olhada no Ruby on rails, tenho descoberto coisas fantásticas, não só no framework, mas pelos caminhos que ele me leva a seguir.

O Ruby on rails é um framework adotado por muitos profissionais que utilizam praticas ágeis, então ao buscar referências sobre Ruby on Rails, consequentemente você acaba sendo fisgado pelo uso de metodologias ágeis a exemplo do Scrum e XP  e técnicas que lhe ajudam à otimizar seu tempo e ser mais produtivo.

Uma destas descobertas foi a Técnica Pomodoro (The Pomodoro Techique). Sei que já existe vários artigos falando sobre está técnica, citarei vários aqui, mas também vou deixar minha contribuição.

O que é o Pomodoro Techinique?

O Pomodoro Techinique é um método de gerenciamento de tempo criado pelo Italiano Francesco Cirillo nos anos 80 e adotada pelas equipes profissionais nos anos 90.

Fracesco não estava contente com a forma que gerenciava seu tempo, não conseguia concentrar-se muito tempo em uma tarefa, então decidiu desafiar-se e ver até onde iria seus poderes de concentração. Para isso utilizou basicamente um time de cozinha em forma de tomate, daí veio o nome Pomodoro que é tomate em Italiano. Além do pomodoro, um papel e um lápis.

Como funciona?

A técnica é muito simples, por isso está fazendo tanto sucesso.
Na folha de papel ou em uma planilha você vai anotar todas as tarefas que deverão ser executadas naquele dia, em ordem de prioridades..

Escolha uma tarefa e ajuste seu time para 25 minutos. Se não tiver um conômetro físico ou se preferir, existe vários programinhas para esta finalidade, vou citar dois bem interessantes o PomoDo e o Focus Booster.

Trabalhe na tarefa até o timer despertar então em sua planilha ou folha de papel marque um X ao lado da tarefa.

Descanse 5 minutos, assim completando um pomodoro que é formado por 25 minutos de execução + 5 minutos de descanso. Nestes 5 minutos aproveite para levantar, beber água, tomar um café ou conferir seu twitter e seus e-mails.

Continuem fazendo este ciclo de 25 e 5 minutos até completar a tarefa. Após completa-la risque da lista e inicie uma nova tarefa.

Depois de 4 pomodoros faça um intervalo maior, sugiro 25 minutos, mas pode ser maior ou menor.

E as interrupções?

Não vivemos sozinhos em um mundo isolado, então as interrupções e as distrações são constantes.

Regra numero 1 – Um pomodoro é indivisível, sempre terá 25 minutos de duração.

Se você começa um pomodoro e por distração ou por intervenções externas passa a executar outra tarefa, seja atender um telefonema, olhar o e-mail o twitter entre outras distrações, este pomodoro é anulado, sendo assim você deve marcar um traço (_) no lugar do X, zerar o conômetro e concentrar-se novamente na tarefa.

Outra dica bacana, que esta dando trabalho para por em pratica é:
Quando o timer sinalizar o fim dos 25 minutos, pare de trabalhar mesmo que ache que dá para completar a tarefa trabalhando por mais alguns minutos.

O que ganho com isso?

Basicamente produtividade e controle do tempo.
Você vai passar a ter relatórios de quanto tempo gasta para executar determinada tarefa, se pode diminuir este tempo, quais as interrupções mais frequentes, além de com a prática eliminar distrações que desperdiçam tempo.

Como utilizo o Pomodoro

Não têm muito tempo que utilizo a Técnica, mas já estou vendo resultados na produtividade.

Para aplicar a técnica utilizo o Focus Booster para contar o tempo e uma planilha para listar as tarefas, pomodoros executados e interrupções.

Com o botão direito do mouse, adiciono uma nota sobre a interrupção.

Lista de Tarefas

Mais detalhes sobre a técnica você encontra em:

The Pomodoro Technique – http://www.pomodorotechnique.com/

The Pomodoro Technique: A produtividade que vem do tomate - http://migre.me/wcoM

Seja produtivo consumindo tomates – http://migre.me/wcq8

Pomodoro Technique: Você usa da maneira correta? - http://migre.me/wcr2

Técnica Pomodoro (video) – http://migre.me/wcs3

Técnica Pomodoro: organize-se e tenha foco – http://migre.me/wcuC

Continue lendo...

Tags: ,

SCRUM – O que é isso?

Autor:
Data: 20 março 2010
Em: DICA1, Metodologia Ágil, Scrum

0 Comentário

Estava de bobeira, então resolvi fazer este esquema rápido sobre o Scrum.

Esta denominação remete à situação ocorrida num jogo de Rugby, na qual uma disputa de bola é vencida por um dos times, aquele que faz maior força para “empurrar” o outro time para longe da bola do jogo, ou seja, o conceito de que o time que trabalha junto, coordenado e com objetivo comum resulta em meta alcançada. Metodologia ágil: Scrum

Scrum é:

Um Framework de processo Ágil onde há entrega regular e frequente de software de alta qualidade.

Processo iterativo e incremental para desenvolvimento de qualquer produto ou gerenciamento de qualquer trabalho…  SCRUM Experience – http://migre.me/bRyO

Grandes empresas internacionais que utilizam Scrum:

Nokia, Google, HP, Amazon.com, Philips, Siemens, Borland, Intel, Yahoo, Microsoft, Canon, Xerox.

Empresas Brasileiras:

Globo.com, Abril, UOL, Powerlogic, Locaweb, Cesar, Ci&T.

Ciclo do Scrum

O Scrum é composto por:

Product Backlog – Lista de tudo que precisa ser feito no sistema

  • Requisitos do produto
  • Lista do que Fazer
  • Sempre mudando…

Product Owner

  • Gerência Product Backlog
  • Aceita/Regeita resultados
  • Define/Prioriza Funcionalidades

Sprint planning

  • O Time seleciona Estórias para compor o Sprint e as quebra em Tarefas
  • O Product Owner descreve as funcionalidades de maior prioridade para a equipe

Sprint – Período em que as tarefas selecionadas no Sprint planning são executadas

  • Grande Velocidade em tempo curto
  • Ciclos de 30 dias

Scrum Team

  • Responsável por entregar Soluções
  • Composto por 5 a 9 pessoas
  • Auto-gerenciável
  • Multi-Funcional

Scrum Master – Guardião das práticas do Scrum

  • Remove Obstaculos
  • Garante Colaboração

Daily Srum

  • Reunião de 15 minutos, em pé
  • O time responde as seguintes perguntas:
    • O que fez Ontem?
    • O que fará hoje?
    • Têm algum obstaculo?

Sprint Review

  • Apresentação dos Resultados do Sprint

Sprint Retrospective

  • O que funcionou bem
  • O que pode melhorar

Para finalizar,  está  imagem  que encontrei no Blog do Abu, ilustra bem o ciclo do Srcum:

“Construa com qualidade, não tente aferir qualidade após o produto pronto.” - Visão Àgil

Continue lendo...

Tags: , , ,