Mostrando postagens com marcador Desenvolvimento de Software. Mostrar todas as postagens
Mostrando postagens com marcador Desenvolvimento de Software. Mostrar todas as postagens

21 setembro, 2012

Levantamento de Requisitos - 5W2H

via imagens.tiespecialistas.com.br
Existem várias maneiras de se obter informações sobre um determinado requisito, principalmente para garantir que ele fique cada vez mais completo.



Uma dessas técnicas, conhecida como 5W2H, ajuda a construir de maneira simples as principais informações que um requisito de negócio/software precisa.


A sigla 5W2H vem do inglês, e significa:

What?
O que está atrapalhando seu negócio? O que acontece hoje? O que você gostaria que o sistema fizesse? O que deve ser obtido como produto final do sistema? O que restringe este requisito?

Who?
Quem irá usar o sistema? Quem irá aprovar os requisitos? Quem irá responder às dúvidas? Quem é afetado por este requisito?

When?
Quando os usuários precisarão ter acesso? Quando vocês poderá aprovar os requisitos? Quando poderemos testar? Quando poderemos realizar a entrega?

Why?
Por quê fazer desta maneira? Por quê é preciso fazer isso? Por quê priorizar agora? Por quê não agregar com este outro requisito?

Where?
Onde deverá ser exibido? Onde será desenvolvido? Onde será testado? Onde será acessado pelos usuários?

How?
Como o sistema irá responder? Como deve funcionar? Como deve ser exibido? Como deverá ser documentado? Como você usa? Como você gostaria de usar?

How much?
Quanto tempo temos para desenvolver? Quanto tempo o time do projeto estimou? Quantas pessoas serão necessárias no projeto? Quantas pessoas irão de fato utilizar o sistema?

Gostou? Agora é só tentar aplicar na próxima análise. =)

Até a próxima!

27 agosto, 2012

Fontes de criatividade

Quem trabalha com desenvolvimento de software sabe que criativdade é algo extremamente necessário e importante para resolver os probleminhas que aparecem no decorrer dos projetos.

Acho que é também na maioria das profissões :-)

Lendo uma revista antiga, mas muito interessante (Pequenas Empresas & Grandes Negócios) me deparei com uma matéria que falava sobre a origem das ideias e mostrava uma lista com as principais fontes de criatividade.

Ficou curioso(a)? Dá uma olhada e te inspira ;D



Até a próxima!

28 março, 2012

Gestão do Conhecimento

"Vejamos, Protágoras! Mostre-me seu pensamento, e diga-me qual é sua atitude com respeito ao conhecimento: sua opinião é semelhante àquela da maioria, ou difere-se ela da maioria?" [Platão. Protágoras (1950, 131bc;132d)]



Ontem fui à uma palestra do GUGC promovida pela SUCESU, onde o assunto "A gestão do Conhecimento nas Organizações" foi muito bem apresentado por Beatriz Benezra.

Gestão do Conhecimento é um assunto que vem se destacando em diversos setores, mas principalmente no setor de Tecnologia da Informação, onde a necessidade de se disseminar e manter o conhecimento dentro das empresas está cada vez mais em evidência.

Nessa palestra, Beatriz destacou que a gestão do Conhecimento precisa fazer parte da estratégia da empresa, e que deve contar com o apoio da alta diretoria para ter sucesso. 

via 3.bp.blogspot.com
Contudo, uma organização sozinha não existe. Os indivíduos que fazem parte dessa organização são peças fundamentais para que se consiga extrair e divulgar o conhecimento. As pessoas motivadas à compartilhar seu conhecimento e à aprender com seus colegas são os responsáveis em colocar toda teoria em prática.

E também existe uma vasta gama de ferramentas wiki que facilitam toda a parte de armazenamento e acessibilidade às informações.

E então? Quais são as práticas de Gestão do Conhecimento que já existem na sua empresa? Essas práticas são gerenciadas ou controladas de alguma maneira?

Até a próxima!

Women on tech

Como todos sabem, a área de TI está em plena ascensão e sendo muito valorizada. Com isso a procura por interessados em tecnologia e amantes de desenvolvimento vem crescendo a cada dia. 

Mas mesmo com toda a procura existente, a quantidade de mulheres interessadas ainda é muito pequena. E embora tenhamos que enfrentar muitas barreiras na vida profissional, existem exemplos muito fortes de mulheres que atingiram o sucesso atuando nessa área. 

A ideia deste texto não é ser um texto feminista, mas apenas constatar uma realidade que é percebida em todas as empresas de TI. ;)

Encontrei este infográfico na Women on Business que mostra como as mulheres estão distribuídas no setor de Tecnologia da Informação.

Enjoy it!

Women in Technology
Like this infographic? Get more business technology news from IT Manager Daily.

19 outubro, 2011

Princípios do Manifesto Ágil



Seguindo no tema da agilidade, vamos conversar sobre os princípios do Manifesto Ágil.

1. A maior prioridade é satisfazer o cliente, através de entregas antecipadas e contínuas de software que tenha valor. 
Aqui, o valor significa valor estratégico, valor de negócio, valor emocional, valor que de fato faça a diferença na vida do cliente. 

2. Aceitar as mudanças de requisitos, mesmo tardiamente no desenvolvimento. Processos ágeis aproveitam as mudanças para agregar vantagem competitiva ao cliente. 
Aceitar as mudanças, não quer dizer atropelar tudo que foi acordado para a entrega e criar um monstro. Quer dizer aceitar que o pacote não está fechado, e que o produto final pode ir mudando e sendo construído ao longo do caminho. 

3. Entregar frequentemente software que funcione, a cada duas semanas ou no máximo a cada dois meses, preferindo a menor escala de tempo. 
Claro que existem entregas mais demoradas que outras, mas a ideia é que sejam entregas constantes, onde o software vá evoluindo sob os olhos do cliente, e ele possa, já em um curto espaço de tempo, poder trabalhar com produto. 

4. Área de Negócio e Desenvolvimento precisam trabalhar juntos diariamente ao longo do projeto. 
Aqui fica clara a necessidade de colaboração que já foi comentada no post anterior. Quando o time está interagindo, discutindo soluções e ideias para o projeto, o envolvimento de todos aumenta, bem como o comprometimento. 

5. Construir projetos ao redor de pessoas motivadas, oferecendo o ambiente e o suporte que elas precisam, e confiar que essas pessoas farão seu trabalho. 
Confiança. Se as pessoas confiam no que estão fazendo, se confiam na organização em que trabalham, e também se a organização confia nas pessoas com que trabalha, a motivação vem ao natural, e pessoas motivadas sentem prazer em realizar suas tarefas. 

6. O mais eficiente e eficaz método de transmissão de informação para e dentro de um time de desenvolvimento é a conversa cara-a-cara. 
As vezes não é possível que o time esteja no mesmo local físico, e hoje em dia isso é muito normal, mas a conversa franca e direta sempre foi e sempre será o melhor caminho para se atingir qualquer objetivo. 

7. Software funcionando é a principal medida de sucesso. 
Essa é bem clara e não tem como ser diferente. 

8. Processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente. 
É não deixar a peteca cair. E não é só o ritmo de entregas de projetos, é também o ritmo da motivação, o ritmo do humor, o ritmo de horário, enfim, é manter a equipe alinhada com a própria equipe. 

9. Atenção contínua para com a excelência técnica e bom design aumenta a agilidade. 
Claro, melhorando a capacidade técnica da equipe, o produto também melhora, e quanto mais alinhados estiverem equipe técnica e a tecnologia do produto, agilidade e sucesso estarão garantidos. 

10. Simplicidade _ a arte de aumentar a lista de trabalho a não ser realizado _ é essencial. 
Eliminar o que não agrega valor ao negócio, eliminar complexidades desnecessárias, e por aí vai. É um trabalho que exige maturidade do time e do cliente, para conseguir ter o discernimento do que é e do que não é importante para o produto. 

11. As melhores arquiteturas, requisitos e designs vem de times auto-organizáveis. 
Com certeza! Times que já conseguem se organizar sem a necessidade de um líder que delegue tarefas, precisam (além de maturidade) um conhecimento de negócio muito grande. Todos precisam estar à par do projeto como um todo, para que possam tomar decisões e sugerir alternativas. 

12. Entre intervalos regulares o time deve refletir sobre como se tornar mais efetivo, e então sintonizar e ajustar seu comportamento de acordo. 
A questão de revisar as atividades praticadas, o que deu certo, o que não deu, o que pode ser melhorado, o que deve ser eliminado, tudo isso faz parte dessa reflexão. Novamente, a questão da maturidade do time se torna essencial para o processo. 

Bom, estes foram os meus comentários sobre cada um dos doze princípios, mas são coisas que eu acredito. Fique à vontade para dar sua opinião também. =)

21 setembro, 2011

Processos de Desenvolvimento

Com prazos cada vez menores para as entregas de projetos, cada vez mais existe menos tempo para adequar os projetos à modelos de processos de desenvolvimento.


Muitas pessoas consideram a implantação de processos desnecessária, ou ainda uma atividade de peso morto, que só faz perder o precioso tempo para "de fato" efetuar tarefas que tragam resultados para o projeto. Mas a implantação de um processo não ajudaria em nada?

Uma vez que exista um processo pré-definido na empresa, e todos devam segui-lo, ou pelo menos seguir as fases que se adequem ao projeto em questão, isso traz segurança para a empresa, segurança aos colaboradores, organização, indicadores de performance e, o mais importante, identidade para a empresa.

Vamos avaliar cada um destes itens;

- Segurança para a empresa
Com a institucionalização de um processo na empresa, esta passa a garantir um controle maior sobre os projetos que possui, descentralizando o conhecimento da cabeça dos colaboradores e fazendo com que as informações de cada projeto estejam à disposição de todas as pessoas envolvidas nos mesmo, e principalmente, da própria empresa.

- Segurança para os colaboradores
Uma vez que exista um processo definido, tanto os colaboradores novos como os antigos, saberão exatamente as atividades que deverão executar, e terão a garantia que todos deverão fazer sua parte no projeto, evitando assim sobrecarga de tarefas, ou ainda a tal centralização de conhecimento, que é um problema há muito conhecido e que tanto preocupa colaboradores e empresas.

- Organização
A organização mais padronizada que um processo exige, faz com que se tenha fácil acesso as informações dos projetos, e também se garanta que não se está sendo exigido nada além do que foi negociado. Muitas vezes, a falta de organização nos projetos, faz com que informações importantes como detalhes do escopo sejam perdidas, ou se mantenha somente no e-mail de um colaborador, por exemplo, e a empresa acabe arcando com prejuízos desnecessários.

- Indicadores de performance
Se um processo bem definido for seguido da maneira correta, é possível extrair indicadores de suas fases, de seus projetos e de seus colaboradores, por exemplo. Com base em indicadores, é muito mais simples saber se estimativas estão sendo feitas coerentemente, se existem pessoas que trabalham superando as expectativas, se os prazos estão sendo cumpridos, e uma série de outras informações que contribuem não somente para o crescimento da empresa (que passa a ter um histórico e aprender seu ritmo) como para o colaboradores (que podem até mesmo ganhar uma promoção, se seu desempenho estiver acima do esperado, ou ainda para que estes justifiquem um pedido de aumento de salário).

- Identidade para a empresa
E o mais importante: a empresa passa a ter sua identidade carimbada na maneira de trabalhar de seus funcionários. "A empresa X trabalha desta forma enquanto a empresa Y trabalha desta outra". Quando não há um processo, cada um trabalha à sua maneira, e muitas vezes, quando uma empresa perde um funcionário, perde também boa parte de um projeto, ou ainda o projeto passa a não dar mais o resultado que dava, e a empresa nem saberá o que esperar daquele momento em diante.

Como disse no início do post, para muitas pessoas, a implantação de um processo é desnecessária (ou inconveniente). Obviamente existam as excessões mas um processo é sempre a garantia de que existirá uma qualidade mínima aceitável nos padrões de qualidade de uma empresa.