1º empresa MPS.BR Nível A

Microfilo, para mim certificações no caso que citei deixaram os processos mais burocráticos e lentos. Eu não falei do CMM, mas das certificações em geral.

Se no seu caso CMM* é bom para vc, tudo bem, mas não me faça engolir que CMM é bom, por que até agora eu não vi este treco funcionar na prática. E outra, quanto mais o CMM* der certo, menos vou gostar dele, pois não gosto de alguns princípios que ele defende.

O post do Rafael me fez pensar: quem é o thought leader (ou ‘os’) por tras deste tipo de modelo?

É uma pergunta mesmo, eu não sei a resposta. Geralmente eu vejo os livros cássicos de décadas atrás (como o MMM do Brooks ou Peopleware do deMarco) e os recentes (Beck, Fowler, McBreen, Dave Thomas…) instruindo para um modelo que é exatamente o oposto do pregado.

Então, quem souber por favor me responda, quero muito conhecer o trabalho destas pessoas porque o que vejo sempre são institutos e consórcios ou empresas.

[quote=pcalcado]O post do Rafael me fez pensar: quem é o thought leader (ou ‘os’) por tras deste tipo de modelo?

É uma pergunta mesmo, eu não sei a resposta. Geralmente eu vejo os livros cássicos de décadas atrás (como o MMM do Brooks ou Peopleware do deMarco) e os recentes (Beck, Fowler, McBreen, Dave Thomas…) instruindo para um modelo que é exatamente o oposto do pregado.

Então, quem souber por favor me responda, quero muito conhecer o trabalho destas pessoas porque o que vejo sempre são institutos e consórcios ou empresas.[/quote]

boa shoes…exatamente onde queria chegar…

Então, já que existem muitas divergências nesta thread, gostaria de ouvir a opnião de vocês para saber como fazer software com qualidade ? Quais são os principais fatores que vocês levam em consideração quando queremos construir um sistema que seja qualificado como ótimo ?

“Qualidade” em software depende da ótica. É uma coisa para o desenvolvedor, é outra para o gerente do projeto e é outra para o cliente. A questão de tudo é obter um equilibrio entre isso - exemplo: refactoring é muito útil e necessário, mas deve ser feito com moderação e de acordo com o prazo.

O mais básico do básico é: para o desenvolvedor, software de qualidade é software fácil de manter; para o gerente do projeto, é software dentro do prazo e sem estourar o orçamento; e, finalmente, para o cliente, software de qualidade é aquele que faz o que o cliente realmente deseja.

Há muito mais coisa envolvida nisso, mas esse é o alicerce pra mim.

Eu não concordo. Todos querem a mesma coisa: um software que atenda todos os requisitos e seja bem escrito de modo a permitir uma mudança ou manutenção sem grandes impactos.

Eu não concordo. Todos querem a mesma coisa: um software que atenda todos os requisitos e seja bem escrito de modo a permitir uma mudança ou manutenção sem grandes impactos.[/quote]

E o que dizer de um software que atende a todos os requsitos mas não atenda as necessidades do usuário pro qual foi desenvolvido?

Dizer que quem fez os requisitos errou, fez merda, estragou tudo … essas coisas, mas dai pra dizer que o software não tem qualidade tem chão já que o coitado que fez o software fez o que foi pedido e bem feito.

As metodologias ágeis diminuem as ocorrências desse cenário, mas não eliminam … no máximo agilizam a percepção que se está no caminho errado.

Em tempo … concordo com o ZehOliveira sobre o esquema da ótica. São visões diferentes e o desafio é ter um mesmo projeto que visto de cada uma das perspectivas ainda assim tenha qualidade.

No mundo que eu vivo, o cliente não tá nem preocupado se a solução é bem escrita e fácil de manter, o que ele quer é que o software faça o que ele deseja com disponibilidade e confiabilidade.

Isso é princípio, a maioria dos livros de análise de sistema trata as coisas assim. E também não é muito difícil ver no mundo real que os interesses de qualidade em relação a software muda bastante de acordo com a patente da pessoa (quem paga a conta tá interessado em uma coisa, quem gerencia o projeto em outra e quem desenvolve… ah você sabe!).

To meio atrasado na thread mas pra registrar: Não, não aprenderam!

Pelo menos a grande maioria dos gerentes de projetos de TI que conheço são bastante atrasados em relação a gerentes de projetos de outras áreas.

Para os projetos que precisam e gostam ou preferem sei lá de processos formas há muitas técnicas aplicadas em PM de diversas áreas poderiam ser aplicadas em projetos de TI e não são.
Para projetos que precisam de agilidade, dinâmica e essas coisas há várias metodologias ágeis com técnicas e procedimentos que suportam o projeto … mas tb não são aplicados na maior parte dos lugares.

O problema é que a maioria dos projetos de TI não vai nem por um nem por outro caminho … vai do jeito que dá e ai dá no que dá (prazo, orcamento, etc. etc. tudo estourado)

[quote=ZehOliveira]
No mundo que eu vivo, o cliente não tá nem preocupado se a solução é bem escrita e fácil de manter, o que ele quer é que o software faça o que ele deseja com disponibilidade e confiabilidade.[/quote]

IMHO isso é uma baita duma falácia. O cliente/usuário não está realmente interessado nisso, bem como ele também não está interessado em pagar 3 horas para uma manutenção que deveria ser feita em 15 minutos se o software fosse bem escrito. O cliente mede a qualdiade pelo custo de mudanças.

O problema é que as pessoas não costumam colocar as coisas na ponta do lápis de verdade. Ontem mesmo tava num bar comentando isso com uns amigos: para tirar uma xerox tem que pegar assinatura do chefe, enquanto isso rios de dinheiro são gastos porque a rede não consegue passar arquivos maiores que 10MB sem corromper, tem que mandar um office boy com um pendrive.

Eu não acho “o que ele quer é que o software faça o que ele deseja com disponibilidade e confiabilidade” falácia, é só um modo mais bonito de dizer “o cliente quer que o software faça o que ele quiser, no momento que ele quiser e que sempre faça direito.”.

Eu concordo que ele quer isso mas eu não concordo que ele só quer isso.

O ponto é que não adianta entregar algo que funciona e é uma porcaria se a maioria do tempo de vida do software é de manutenção. O cliente (melhor: o usuário) não quer saber se foi feito em Java ou ASP, OO ou Porcedural, CMM ou XP mas ele quer saber sim se vai ter que gastar o custo de 1 hora ou 10 horas fazendo uma alteração simples porque o sistema é uma porcaria.

Por isso dizer que o usuário só quer algo que funcione é falácia, ele quer um bom investimento num software. Se o que o cara precisa é um portal apra um evento que vai ficar no ar 15 dias ótimo, faz na porcaria mais produtiva que encontrar, mas se ele quer manutenção as coisas precisam ser pesadas.

depende também do tipo de cliente que vc está lidando, tem clientes que exigem um código legível, pois quem vai dar manutenção não será a mesma empresa que desenvolveu, e uma série de outros requisitos…

o problema é durante todo o ciclo de vida do projeto, garantir uma qualidade em todas as etapas e sub-etapas, se isso não é garantido com um processo maturo proposto ou pelo cmmi ou por qualquer outro, o que garantirá então ?

Eu não disse que ele só quer isso, eu disse que isso é o básico que ele quer. Isto é, antes de tudo, o que o cliente quer é que o software faça o que ele deseja, esteja sempre disponível etc. (blá-blá-blá)

[quote=pcalcado]O post do Rafael me fez pensar: quem é o thought leader (ou ‘os’) por tras deste tipo de modelo?

É uma pergunta mesmo, eu não sei a resposta. Geralmente eu vejo os livros cássicos de décadas atrás (como o MMM do Brooks ou Peopleware do deMarco) e os recentes (Beck, Fowler, McBreen, Dave Thomas…) instruindo para um modelo que é exatamente o oposto do pregado.

Então, quem souber por favor me responda, quero muito conhecer o trabalho destas pessoas porque o que vejo sempre são institutos e consórcios ou empresas.[/quote]

Nao vou usar Project Management pelo PMBoK pq o Departamento de Defesa nao diz quem sao os thought leaders da metodologia… que coisa nerd e academica, querer dar credito a pensadores…

A maturity model provides:

* a place to start
* the benefit of a community’s prior experiences
* a common language and a shared vision
* a framework for prioritizing actions
* a way to define what improvement means for your organization

Font: Wikipedia:Capability Maturity Model

Nao eh questao de marketing puro… eh questao de PR!
Por definicao atualmente se diz que todas as organizacoes usando Metodologias Ageis tem capacidade de entregar software de qualidade,mas quem certifica pro cliente que isso eh verdade? como separar o joio do trigo? quantos CIOs conhecem a fundo metodogias quando eles tem que se preocupar com alinhamento estrategico de TI?

E +

Agile development’s applicability to the following scenarios is open to question:

* Large scale development efforts (>20 developers) See: Supersize Me for scaling strategies
* Distributed development efforts (non-co-located teams) See: Bridging the Distance for strategies
* Mission- and life-critical efforts
* Command-and-control company cultures

Essa coisa de Metodologia Agil vs. CMM soh complica a situacao quando se discute isso com esse pessoal do Open Source que acredita num mundo melhor e que ninguem faz fraude nenhuma e tal…

Bom, o acadêmico eu dispenso mas nerd eu sou mesmo. De qualquer forma, gostaria que você me mostrasse onde eu falei para não usar A, B ou C por não conhecer pensadores.

Eu quero saber quem criou o modelo que eu devo ou não acreditar, quero saber o que estas pessoas já fizeram de útil na vida. Se você acha isso dispensável foi uma pergunta, é só não responder.

Ah, e se eu não quiser usar metodologia PMBoK tem algum problema?

Wow, ‘alinhamento estratégico de TI’, mais nome bonitos e pomposos para deixar um post mais bonitinho, típico de Info Corporate.

Quem garante que uma empresa CMMx tem qualidade? O SEI? Bom, então é bom avisar que tem algo errado porque a quantidade de empresas CMMx que fazem besteira e eu conheço pessoalmente é bem razoável.

Como falei antes, é como contratar um SCJP. O cara passou na prova, isso faz dele um bom programador? Certificados garantem que alguém foi avaliado e passou na avaliação, não mais que isso.

Um programador que se prepare para a SCJP pode realmente estudar a fundo a plataforma Java, a linguagem, a JVM… ou pode decorar o livro da Kathy Sierra. Ambos vão passar na prova, qual a diferença? Acho que não é uma analogia tão ruim, será?

[quote=Lucas Zingano]
Essa coisa de Metodologia Agil vs. CMM soh complica a situacao quando se discute isso com esse pessoal do Open Source que acredita num mundo melhor e que ninguem faz fraude nenhuma e tal…[/quote]

Do que exatamente você está falando?

Melhor então dar crédito a quem não pensa? O maior problema do CMMi é que ele surgiu meio que do nada e ninguém deu explicações do porque dar coisas.

[quote=pcalcado]Bom, o acadêmico eu dispenso mas nerd eu sou mesmo. De qualquer forma, gostaria que você me mostrasse onde eu falei para não usar A, B ou C por não conhecer pensadores.

Eu quero saber quem criou o modelo que eu devo ou não acreditar, quero saber o que estas pessoas já fizeram de útil na vida. Se você acha isso dispensável foi uma pergunta, é só não responder.[/quote]

Tah certo… a primeira parte foi mah interpretacao de texto, mas a questao eh, se vc saber, isso vai te deixar mais feliz? vai aumentar o salario do cara? vc vai confiar no cara? vc vai discutir com o cara? Isso eh uma pergunta, nao sei a resposta mesmo, quero entender a sua desconfianca em companhias e institutos. Acredito que muito da reputacao do SEI e CMM por conseguinte vem de ser uma iniciativa apoiada pela Carnegie-Mellon, uma universidade de renome…
de qq forma… http://www.sei.cmu.edu/staff/ o link do Staff do SEI tah aih se vc quiser, talvez ajude.

Acredito que nao, desde que vc consiga convencer seu cliente que vai dar tudo certo… a questao eh como separar o joio do trigo… eh a mesma questao que eu acabei de postar nesse topico. :wink:

[quote=pcalcado][quote=Lucas Zingano]
Nao eh questao de marketing puro… eh questao de PR!
Por definicao atualmente se diz que todas as organizacoes usando Metodologias Ageis tem capacidade de entregar software de qualidade,mas quem certifica pro cliente que isso eh verdade? como separar o joio do trigo? quantos CIOs conhecem a fundo metodogias quando eles tem que se preocupar com alinhamento estrategico de TI?
[/quote]

Wow, ‘alinhamento estratégico de TI’, mais nome bonitos e pomposos para deixar um post mais bonitinho, típico de Info Corporate.
[/quote]

Vendo pela lado que eu sou um wannabe corporate guy que adora falar de questoes de “precificacao de produtos e modelo de negocios” ao inves de falar de “transacoes de banco de dados distribuidos orientados a objetos, suas aplicacoes e caracteristicas” minhas expressoes sao assim mesmo. Mas, vc entendeu meu ponto ao menos ou soh se fixou no meu vocabulario?

Bom, na verdade, olhando pela missao do SEI, ninguem fala de qualidade, a questao eh que qualidade tambem eh entregar o produto em tempo e no custo correto, sendo assim isso que o CMM tenta melhorar, depende do ponto de vista do cliente quanto a qualidade e que qualidade se tenta atingir, qualidade de produto ou qualidade do prestador de servicos? isso eh um ponto de discussao…

Sei lah… a questao eh, quem confia na idoneidade e experiencia do SEI por exemplo… o cliente tem que confiar em alguem, e se o core business dele nao eh tecnologia, muito mais provavel ele aceditar no CMM que aparece na Info Corporate e nos bate-papos de networking, com uma estrutura rigida de trabalho quase tayloriana do que acreditar em metodologias ageis que ateh podem ser aplicadas em empresas grandes mas que ele nao tem informacao nenhuma e nao eh ligada a uma ideia mais rigida e palpavel de como melhorar a qualidade do software. Questao de postura organizacional tambem…

Bom, pessoal, escrevi esse post durante 1 hora eu acho, talvez esteja bastante confuso… foi mal, talvez se alguem tenha entendido mal ou acha que fui controverso em algum ponto, por favor, aponte o ponto e explicarei ou cconfirmarei a controversia e me desculparei O_O

Então pra CMM o ideal é contratar o SEI para desenvolver o software. Porque certificação para idoneidade parece mais ficha de bons antecedentes. Quanto a experiência, isso pode ser dito tanto de uma consultoria CMM e de um que não é.

Isso quase sempre funciona em empresas com cultura tradicional. Se você for em uma empresa que usa muito six sigma ou lean, uma metodologia como Scrum vai fazer mais sentido.