Tom DeMarco (Structured Analysis / Peopleware / IEEE Fellow hall of fame) publicou um texto na IEEE Software de Julho e Agosto (Software Engineering: An Idea Has Come and Gone?). No final? Ele se diz desconfortável com a frase “You can´t control what you can´t measure”. E coloca como contraponto softwares maravilhosos como GoogleEarth ou Wikipedia que foram criados sem muito controle.
Se eu fosse colocar em termos de ciência, lembre-mos de Popper. Precisamos de somente um contra-exemplo para derrubar uma teoria. Neste caso o próprio DeMarco nos dá dois bons exemplos contra a frase dele.
Controle é relativamente inútil, pois não é indústria e sim artesenato. Algumas coisas não podem ser simplesmente medidas (ele compara com a educação de um adolescente e não vamos nos esquecer desta outra discussão que tivemos neste blog – Balanced Scorecard, Métricas de Software, PNQ, ISO, CMM. Você acredita?). No final ele acaba afirmando que software foi e sempre será experimental. E ele prescreve uma metodologia de desenvolvimento um tanto quanto parecido com as metodologias ágeis.
Sempre tive um pé atrás com o pessoal de Engenharia de Software in Asteroids. E sempre percebi que as pessoas que mais profetizavam esta Engenharia de Software era quem menos escrevia Software.
O Coding Horror faz um bom texto sobre o assunto.
É Telles, você nunca foi muito chegado ao CMM né? 😛 Graças a Deus !!
Coisa interessante … neste último mês vinha pensando bastante sobre o que fazer com tanta Engenharia de Software em ambientes voláteis (como o nosso).
Dou minhas mãos ao DeMArco: “software foi e sempre será experimental”. Mas controle – adequado – não é inútil.
È preciso existir um mínimo que seja adequado a realidade do grupo. Até mesmo Agile (pura) se torna impraticavel (pensa no grau de experiência da equipe associada a necessidade de repetição do software).
Definir o processo é moleza.
O X da questão está nas pessoas. Como fazer o processo molezinha ser legal pros gênios produtivos do grupo? Como fazer com que essas pessoas sintam prazer em ajudar a “empresa” a ter mais cnhecimento sobre si mesma?
Entretanto, como tudo na vida é educação, eu já seria feliz se toda faculdade de informatica já começasse com porções do livro “Code Complete”. 🙂 Começando com (e fazendo) boas práticas talvez a cabeça dessa nova geração já viesse um pouco mais aberta à Engenharia 🙂
Ivy,
acho que a resposta para sua pergunta esta no livro Elite da Tropa (que deu inspiração ao filme tropa de elite que nao tem nada a ver). Bem, no livro um dos caras do BOPE explica como um grupo de cerca de 80 a 100 policiais (isso era no inicio do BOPE) ganhavam pouco, e se arriscavam morro acima, e eram incorruptíveis. Simples, orgulho pela marca e pelo trabalho. A motivação é por conta da empresa, como ela trata seus funcionarios e como ela faz eles se sentirem em relação a marca. Nos dois já estivemos numa empresa em que ela mesma não gerava um estimulo financeiro muito bom, mas passamos incontáveis fins de semana por ela nao foi?
Abracos
Desde que organizações começaram a criar software elas sempre tentaram fazer que o software caiba no orçamento e a maior parte das métricas mais usadas tem como meta esse fim.
Tom DeMarco afirma em seu artigo que nem todos os projetos necessitam de controle rígido, que se deve escolher criteriosamente que deve ser medido ou não. Ok, concordo com isto e tudo com que ele disse no artigo, até porque não vi nenhuma novidade do discurso.
O que é importante é saber: é possível aferir qualidade sem medições ? A resposta é sim. Tudo é uma questão satisfazer expectativas tanto do cliente quanto dos financiadores do projeto. Se o cliente disser ‘Isto é justamente que eu queria!’, pronto, os requisitos de qualidade propostos pelo cliente forma atendidos.
Ronaldo,recomendo que você assista o clássico “Nascido para Matar”, de Stanley Kubrick.
Camilo,recomendo o podcast da improveit, particularmente o que contem a entrevista com Carlos Barbieri.É longo mas vale a pena.