terça-feira, setembro 11, 2007

Problemas essenciais no desenvolvimento de software

Algumas características diferem o processo de desenvolvimento de software de qualquer outro produto manufaturado. Essas diferenças, dadas pela própria essência do software, que é uma entidade abstrata, provocam tantos problemas durante o processo de transformar uma idéia em um produto.

Brooks, em seu artigos Essence and Accident in Software Development, trata de questões que sempre aparecem em equipes de desenvolvimento, e que são as principais inimigas dos desenvolvedores.

Assim como Aristóteles na filosofia, Brooks encontra duas classes de problemas enfrentados durante o desenvolvimento: os essenciais e os acidentais. Questões essenciais são aquelas que são inerentes ao processo de software e sempre estarão presentes durante o desenvolvimento. Já os problemas acidentais são aqueles não instrínsecos ao software e que surgem em determinados pontos do projeto. O grande erro, segundo Brooks, é quando se dá mais atenção ao que é acidental, deixando de lado aquilo que é essencial. Falaremos um pouco sobre os problemas essenciais no projeto de software.

Complexidade: Manejar uma entidade abstrata é uma tarefa por si só bastante árdua. A dificuldade de compreender um todo composto por pequenas partes interdependentes contribui para falhas de entendimento e comunicação. Muitas vezes membros de uma equipe têm visões diferentes sobre partes do software, o que gera atrasos e retrabalhos.

Conformidade: O software não depende apenas do desejo de um programador bem intencionado. O projeto deve contemplar as expectativas de clientes exigentes, fazendo jus ao tempo de desenvolvimento e ao custo. Esse é um ponto importante, que se mal observado, pode por um projeto inteiro a perder.

Mutabilidade: O software está em constante evolução. Interesses mudam, objetivos são trocados e por isso o projeto deve estar pronto para evoluir com o menor impacto possível. Projete pensando no futuro, pois logo você estará nele.

Invisibilidade: O fato de o software ser uma entidade abstrata é o responsável pela maior parte dos problemas durante o desenvolvimento. A necessidade de modelos de representação simples e eficientes é prioridade para a indústria do software. Isso nos últimos anos vem sendo bastante buscado e por vezes alcançado, com linguagens de representação como a UML, que promove as mais diversas formas de modelar o projeto.

Tentar superar esses problemas essenciais é o primeiro passo para um projeto de sucesso. De fato outros problemas aparecerão, mas serão acidentes, que podem ser tratados com outros remédios.

Desses acidentes falaremos em outra oportunidade.

Até a próxima!

7 comentários:

Unknown disse...

Eai Blza? interessa em uma parceria de link? estou adicionando o seu, de uma conferida, www.zipdownload.blogspot.com . Obrigado

Anônimo disse...

Hello. This post is likeable, and your blog is very interesting, congratulations :-). I will add in my blogroll =). If possible gives a last there on my blog, it is about the Celular, I hope you enjoy. The address is http://telefone-celular-brasil.blogspot.com. A hug.

Anônimo disse...

Olá sou dono do blog www.gerasblog.blogspot.com e gostaria de saber de podemos fazer uma parceria, se sim por favor entre em, contato: vinii.r0x@hotmail.com

Anônimo disse...

Planejamento é tudo um bom gerenciamento de projetos pode evitar esses atropelos...

Viga disse...

Saudações,

Adorei o tutorial, porém, ainda me permanecem algumas dúvidas. É possível conversarmos via msn???

Em caso positivo, meu msn é jvitorcarvalho@i9consultoria.com

Abraço

acelerar disse...

olá queria saber se pode me ajudar por ser mais experiente em blogs a melhorar o meu e tb se quer fazer uma parceria para que me ajude nesse meu novo blog tah me responde

meu blog eh:http://progsprodownload.blogspot.com/

e meu email:gabrieltpassaport@hotmail.com

Michel disse...

Amigo um detalhe que não pode esquecer é do registro deste software já que alguém pode copiar a sua idéia e publicar como se fosse de autoria própria. há muitos exemplos como o Dot Project em que há muita gente que o vende e ganha dinheiro em cima disso. Se quiser algumas informações entr no meu site http://www.lcmagalhaes.com.br ou Blog: http://lcamgalhaes.blogspot.com

Abraços e sucesso para todos