Empresas que desenvolvem software para os mais diversos fins seja para o varejo, área financeira, área de saúde, etc, sabem que devem investir os seus melhores esforços na etapa do levantamento e análise de requisitos, pois é nessa etapa que todas as demais se apoiam para que o ciclo de desenvolvimento seja realizado.
A partir dos requisitos identificados, refinados e validados pelo cliente é que temos insumos para definição da arquitetura do software, para a modelagem de projeto, definindo classes, banco de dados e tabelas do sistema. Por fim ainda temos insumos para escrever nossos testes funcionais e não funcionais e elaborar um manual do usuário. O levantamento e a análise dos requisitos rendem muitos frutos ao longo do ciclo de desenvolvimento, mas para isso precisa ser bem tratado desde o início.
Leia mais …
Ontem participei de um workshop sobre gestão de projetos, ministrado pelo Edson Machado Filho (EMF Planejamento e Arquitetura). Compartilho abaixo as principais anotações que fiz sobre esse workshop:
1. Abertura com a apresentação do vídeo de um surfista de ondas tsunami o qual é rebocado até a onda por outro surfista mais experiente através de um jet-ski. Veja o vídeo aqui! Assim como o surfista experiente que guia o outro surfista para que ele pegue uma grande onda, temos que preparar nossas equipes para serem capazes de surfar nas grandes ondas, que para nós são os projetos cada vez mais desafiadores que temos no nosso dia a dia.
Leia mais …
Sei que é uma questão clássica da engenharia de software: espremer o cronograma da fase de testes, testar pouco, testar mal e depois reclamamos – porque a equipe de desenvolvimento não produziu um software de qualidade? Mas ainda assim, penso que vale o esforço de escrever mais esse texto sobre o assunto, pois certamente é uma questão recorrente nas empresas que desenvolvem software.
Leia mais …
Neste artigo reproduzo o framework para desenvolvimento ágil proposto por Jim Highsmith no livro “Agile Project Management: Creating Innovative Products, Second Edition”.
E você como tem desenvolvido os seus sistemas, ou mesmo tocados outros projetos que não de desenvolvimento? Tem adotado alguma das práticas ágeis, ou não? Utiliza-se do velho conhecido modelo “cascata”, ou alguma metodologia ágil?

Tenho buscado adotar algumas práticas propostas pelas metodologias ágeis para a gestão de projetos, pois entendo que só utilizar o PMBOK não é suficiente para um cenário de incertezas cada vez maiores nos projetos. Quando se busca abordagens para a gestão de projetos deve-se considerar que:
Leia mais …
O mercado de certificações profissionais na área de TI movimenta milhões todos os anos, e há certamente certificações para todas os tipos de necessidades, e aquelas mais reconhecidas e valorizadas e as que não fazem tanto sucesso.
Na área da engenharia de software há uma certificação que está agora sendo oferecida aqui no Brasil, e ainda pouco conhecida que é a CPRE-FL (Certified Professional Requirements Engineer – Foundation Level) . Essa certificação é mantida pelo IREB (International Requirements Engineering Board), e oferecida no Brasil pelo IBQTS (Instituto Brasileiro de Qualidade em Testes de Software).
Está disponível no site do IBQTS o material chamado de syllabus que documenta os conteúdos a serem estudados para o exame de certificação. Esse material pode ser obtido no site do IBQTS. Além do syllabus está disponível também um glossário de termos.
Por fim existe um livro recomendado para quem vai fazer o exame, que pode ser comprado na Amazon ainda só disponível em inglês. Veja mais informações na página sobre essa certificação.
Penso que todos os profissionais que trabalham com engenharia de software deveriam passar por algum tipo de certificação em engenharia de requisitos, dado a importância dessa disciplina para o desenvolvimento de um software com qualidade.
O Scrum tem sido cada vez mais adotado tanto para a gerência do desenvolvimento de software, como a gerência de projetos de modo geral. A gerência baseda no Scrum difere da escola tradicional de gestão em diversas áreas. A tabela abaixo sumariza as principais diferenças entre essas duas escolas:
Leia mais …
Como professor da graduação do curso de tecnologia em análise e desenvolvimento de sistemas sei claramente as dificuldades que nossos alunos ainda enfrentam com a língua inglesa, o que muitas vezes acaba por limitar o acesso a bons materiais de engenharia de software.
Um outro ponto importante que sempre busco para os meus alunos são materiais de boa qualidade e de leitura leve. Acredito que isso facilite o aprendizado.
Leia mais …
Relaciono abaixo cinco principais práticas propostas pelo Scrum:
1. Clientes devem se tornar parte do time de desenvolvimento;
2. Devem existir entregas intermediarias frequentes;
3. O time de desenvolvimento deve estar alerta aos riscos do projeto e desenvolver ações de tratamento aos riscos;
4. Não esconder problemas e riscos debaixo do tapete;
5. Deve haver transparência no planejamento e no desenvolvimento do módulo;
Ao ler essas cinco práticas propostas pelo Scrum penso: que realmente elas nos trás de novo?
Leia mais …