Arquivo da categoria: Trabalho

Esforço, Produtividade e Custo utilizando Análise de Pontos de Função (APF)

Pare de fazer isso!

Hoje recebi uma mensagem através do LinkedIn de um rapaz que não conheço, perguntando algumas questões relacionadas a esforço, produtividade e custo utilizando Análise de Pontos de Função (APF). Quem é da área sabe que este assunto é SUPER recorrente e super controverso. Algumas (muitas) pessoas tendem a não se aprofundar no tema e querer apenas respostas rápidas (não estou dizendo que é o caso do colega que me enviou a mensagem). Infelizmente não existe resposta curta e rápida para isto. Se não quiser resposta superficial, recomendo ler e se aprofundar. E cuidado, pois tem muita gente dando resposta superficial por aí (e perdendo milhões por isso, já vi e calculei de perto).

Aproveito para compartilhar o e-mail que enviei como resposta (com algumas alterações e ênfases, rs) para quem mais se interessar:

Diversos fatores podem impactar o esforço para se desenvolver 1 PF (e consequentemente a produtividade e o custo).

Citando alguns: Metodologia de desenvolvimento (ágil? tradicional?), existência/qualidade/complexidade/estrutura/tamanho da documentação, experiência da equipe, conhecimento do negócio pela equipe de dsv, maturidade da organização e da equipe de dsv, reuso de software, ambiente físico, linguagem de desenvolvimento, utilização de frameworks, uso de componentes, tamanho não-funcional do sistema, etc, etc, etc, etc, etc, etc, ETC!!!!!!!!!!…)

Em relação ao último item citado, lembre-se que APF mede apenas o tamanho funcional do sistema. Os requisitos de qualidade e os requisitos técnicos (conforme ISO/IEC 14143-1) não estão contemplados no tamanho em pontos de função. Leve isto em consideração, pois você pode se deparar com sistemas/manutenções com grande tamanho funcional e pequeno esforço técnico ou sistemas/manutenções com pequeno (ou nenhum) tamanho funcional e grande esforço técnico.

O ideal é utilizar uma metodologia que considere, não só o tamanho funcional medido em APF, mas também os demais requisitos de qualidade e técnicos (pesquise por “COCOMO”) (ou daqui a alguns meses pesquise por “SNAP – Software Non-functional Assessment Process”, que está atualmente em fase de beta-test pelo IFPUG).

A título de referência, neste site você encontrará diversos preços cobrados para o desenvolvimento de 1 PF em contratos públicos:
http://www.fattocs.com.br/editais.asp

Repare que a faixa de valores varia bastante e tem alguns pontos fora da curva. Eu julgo que atualmente, para médias e grandes organizações, um valor razoável está entre R$ 400/PF e R$ 700/PF, dependendo do cenário.

Para produtividade, você também encontrará uma faixa bem grande de valores no mercado, variando de 3hs/PF a até 25hs/PF. Novamente, a título de referência dê uma olhada neste site: http://www.blogcmmi.com.br/engenharia/produtividade-das-linguagens-em-pontos-por-funcao-apf.

O MAIS IMPORTANTE: Se estiver começando a utilizar APF em sua organização, passe a registrar o quanto antes os dados de esforço, produtividade, tamanho funcional, tamanho não-funcional, custo, para cada demanda, começando a formar assim a SUA PRÓPRIA base histórica. Ela é a melhor fonte para tomada de decisão futura. Melhor do que qualquer site ou valor de outras organizações que você encontrar.

Abraços e boa sorte!

PS: Análise de Pontos de Função não é esse demônio todo como algumas pessoas insistem em dizer… E nem é essa cocada toda como outras pessoas insistem em idolatrar… Um dia tento me inspirar para falar mais sobre o meu posicionamento em relação a APF, em quais cenários acho que ela serve bem e em quais cenários NÃO recomendo sua utilização ;-)

Anúncios

Principles behind the Agile Manifesto, aplicáveis em qualquer negócio

Já perceberam que quase todos os 12 princípios do Manifesto Ágil podem ser aplicados com poucas mudanças para se criar um negócio de sucesso, seja ele de software, tecnologia, ou não ?!?!

Vamos lá:

Our highest priority is to satisfy the customer through early and continuous delivery of valuable service.

Welcome changes, even late in development. Agile processes harness change for the customer’s competitive advantage.

Deliver working things frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

Business people and hands-on-workers must work together daily throughout the project.

Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. (sem alterações!!)

The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

Working things is the primary measure of progress.

Agile processes promote sustainable development. The sponsors, the team, and the client should be able to maintain a constant pace indefinitely.

Continuous attention to technical excellence and good design enhances agility. (sem alterações!!)

Simplicity — the art of maximizing the amount of work not done — is essential. (sem alterações!!)

The best solutions emerge from self-organizing teams.

At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. (sem alterações!!)

Os 12 princípios originais estão neste link. O Manifesto Ágil neste aqui.



O que estou tentando construir?

Uma empresa bem-sucedida, um produto que os clientes amem e um lugar onde os funcionários sintam prazer em trabalhar…

Utópico? Acredito que não…

inspirado em AdeOlonoh.com


Manifesto por Qualidade REAL no mundo corporativo!!

Acreditamos que o mundo dos negócios pode seguir um caminho mais verdadeiro, mais sincero, mais honesto.

Acreditamos que as empresas possam:

  • Ter uma visão crítica sobre o real valor dos conceitos “do momento” ao invés de somente estampar credenciais.
  • Vender por agregar valor REAL ao invés de somente vender por vender.
  • Primar por processos executáveis ao invés de processos somente apresentáveis.
  • Transformar a Missão, Visão e Valores em atitudes reconhecidas por seus funcionários ao invés de somente pendurar quadros.
  • Valorizar o conteúdo dos produtos gerados ao invés de somente sua capa e sua aparência.

Sabemos do valor das credenciais, da venda e da aparência, mas acreditamos que é hora de subir um nível de maturidade, indo além do que é feito atualmente.

Acreditamos que os funcionários possam:

  • Ser menos acomodados e mais ousados.
  • Arriscar mais, criar mais, inovar mais.
  • Questionar mais quando acham que algo pode ser melhor.
  • Ter o apoio real dos líderes, gerentes e diretores para isso.

Acreditamos que é possível trabalhar com mais qualidade REAL no mundo corporativo!

————————–

Se você concorda, passe pra frente esta ideia!

Um grande abraço,

Bruno


A proposta de um Manifesto!

Há um tempo atrás algo estava me incomodando. Conversei com alguns amigos e dessa conversa surgiu a proposta de criar colaborativamente um manifesto… Acabei criando o http://realqualitymanifesto.wordpress.com/.

Hoje tudo isso continua me incomodando, mas a ideia colaborativa acabou não dando muito certo (apesar de ter alguns fortes apoiadores do movimento).

Então, resolvi postar aqui minha motivação, conforme havia publicado antes no outro site e, em seguida, enviarei o manifesto que criei… Não foi construído da forma que eu imaginava, mas continuo aberto a colaborações e a comentários, críticas e sugestões!!!

Um grande abraço,

Bruno

———————————————————————–

(O texto abaixo foi postado originalmente em 22/set/2009)

Você AMA o que faz? É louco por qualidade? É louco por mudanças? Por fazer diferente?

Às vezes você tem vontade de gritar isso, de levantar da cadeira e sair do lugar comum?

Eu tenho vontade de fazer diferente… Às vezes tenho vontade de chacoalhar as pessoas e as empresas!!! Para todos terem liberdade de FAZER BEM FEITO, questionar, pensar além do além, não negligenciar, se envolver a fundo. Para os funcionários entenderem as reais necessidades do negócio, saber que aquele pedacinho de trabalho que ele faz no dia-a-dia faz parte de algo muito maior! Para que esses funcionários possam encontrar uma empresa que valorize DE FATO esta atitude, que apóie, que reconheça. Para que as empresas promovam e estimulem essa postura em seus funcionários, que divulguem amplamente o que pensam, e mais do que isso, que FAÇAM REALMENTE o que dizem que fazem.

Utópico?

Eu poderia escrever um texto num blog dizendo tudo que penso e como eu gostaria que o mundo fosse, rsrsrs… Mas quero mais… Proponho uma Construção Colaborativa de um Manifesto. Juntar algumas pessoas que também pensam assim e que gostariam de fazer diferente e criar…

…uma declaração pública de princípios e intenções, que objetiva alertar um problema que está ocorrendo (Wikipedia)

O texto não seria longo. Seria uma manifestação pública de nossos ideais, resumidos em poucas linhas. Seria para os negócios o que o Manifesto Ágil é para a área de desenvolvimento de sistemas http://agilemanifesto.org Que tal?

Você topa?? Só pra começar, deixe um comentário então… O que você pensa sobre o assunto? O que te incomoda? O que te move? Se quiser deixe seu e-mail, seu telefone, seu grito, seu xingamento, o que for… Se gostar da ideia, divulgue, escreva no twitter, no seu blog, conte em casa, mas manifeste-se… ;-D

Um grande abraço,

Bruno Neri Torquato – brunont@gmail.com

Nota: Se este texto não estiver com qualidade suficiente, por favor, me deixe uma mensagem, mande um sinal!! Errar é humano e sou a favor que as empresas e os funcionários arrisquem e, às vezes, errem… Mas assumam seus erros, aprendam e evoluam!!

Nota 2: O manifesto não precisa ter esse nome nem esse formato, tudo pode ser discutido! Ele pode nem existir de fato! Depende de nós…

Nota 3: Já existe um manifesto parecido pronto? Me manda, please!!

Links para se inspirar:


Regulamentação das profissões de TI

Ontem saiu mais uma avaliação do Governo sobre a regulamentação das profissões de TI. Ouço essa discussão desde a faculdade, mas nunca fui muito atrás. Depois do bafafá recente sobre a decisão de liberar a profissão de jornalista, acho justo eu ler e me inteirar mais sobre o assunto antes que tomem decisões! Depois que vira lei é mais difícil voltar atrás…

Segue minha avaliação do Projeto de Lei 607/2007, que regulamenta a profissão de analista de sistemas e atividades relacionadas com informática:

Art 2 – Inciso I: Os profissionais formados em Engenharia da Computação não poderão trabalhar legalmente no país?

Art 6 – Parágrafo Único: Os profissionais que fazem trabalhos repetitivos não poderão trabalhar mais que 20hs semanais? Quais os critérios de um trabalho repetitivo? Muitos que trabalham com TI fazem trabalhos repetitivos!

Art 10: “O Conselho Federal de Informática será constituído, inicialmente, de nove membros efetivos e nove suplentes, eleitos em escrutínio secreto, em Assembléia dos delegados” – O texto não fala muito sobre essa Assembléia dos delegados. Será que é mais um ato secreto??? Serão convidados representantes de várias entidades de TI de todo o país para definir isso de forma aberta?

Art 22: “Todo profissional de Informática, para o exercício da profissão, deverá inscrever-se no Conselho Regional de Informática” – Sei que tem várias entidades que criticam essa obrigatoriedade. Ainda não tenho opinião formada!

Art 25: De novo, os engenheiros de computação não poderão nem estagiar!
Ponto de Atenção: Aos que pretendem seguir carreira de estagiário (junior, pleno e senior, rs) será proibido estagiar por mais de dois anos!

Art 26: Você é obrigado a ter o registro no estado(UF) em que você exerce a profissão. O que acontece se eu trabalho numa multinacional em São Paulo e faço trabalhos eventuais em Brasília e no Rio de Janeiro? Preciso estar afiliado às 3 regionais e pagar 3 anuidades? Mesmo se esse “trabalho eventual” durar 8 meses??

Art 28: Todos terão que pagar anuidade, hein! Assim como os conselhos das outras profissões! Se não quer pagar o jeito vai ser virar jornalista! E até 31/março tem desconto, rsrs!

Art 31 – Inciso I: Faltar com ética vai ser infração, hein galera, rsrs!!! Existe algum anexo definindo ética e com exemplos claros ocorridos? Ética e bom senso, cada um tem o seu!

Li sobre o caminho desse projeto de lei no Senado e faço um breve resumo, aos interessados:

23/10/2007: Criação do texto inicial avaliado acima.

05/03/2008: Avaliação da “Comissão de Ciência, Tecnologia, Inovação, Comunicação e Informática” (CCTICI) – Achei bem interessante pois dá mais liberdade aos profissionais, não impõe obrigatoriedade do registro para o exercício da profissão e sugere a não-criação dos conselhos regionais e federal de Informática. Parece que ouviu bem a comunidade e a Sociedade Brasileira de Computação (SBC).

19/08/2009: Avaliação da “Comissão de Constituição, Justiça e Cidadania” (CCJ) – Disse que é inconstitucional criar um órgão público para fiscalizar o exercício da profissão, cobrar taxas, etc., pois a Constituição diz que isso é papel do Presidente da República e do poder executivo.

Comentários

Sem entrar no mérito de qual senador escreveu o que, quais partidos estão envolvidos e sem estudar a fundo os interesses de outros envolvidos, achei toda a documentação muito bem escrita, bem fundamentada e com uma discussão saudável sobre o tema.

Por um lado, o timing dessas decisões no governo é absurdo. Foi definido em 02/jul/2008 que a CCJ faria uma avaliação, que só foi concluída ontem, 19/ago/2009, mais de um ano depois!
Por outro lado, os textos realmente estão bem escritos e dá para ver que foram muito bem trabalhados!

No Senado, ainda falta a avaliação da Comissão de Assuntos Sociais. Depois do Senado, não sei quais os trâmites para virar lei ou não, vamos acompanhar!

Alguns links que utilizei:


Sites, navegadores e Web Standards

No Twitter, @paloka said: Por que ainda existem sites incompatíveis com o FF ou por que o FF ainda não consertou isso?

Quem nunca passou por uma situação parecida que atire a primeira pedra! Tentar acessar um site no FireFox, ver que ele não está funcionando corretamente e ter que abrir o mesmo endereço no Internet Explorer para conseguir a informação desejada!

People, temos MUITOS navegadores/browsers disponíveis na internet! Temos INFINITOS sites disponíveis na internet!!!!!!

O que acontece é o seguinte, um Portal é um sistema! Ao acessar qualquer site, seu computador recebe um código que é interpretado pelo seu navegador (Internet Explorer, Mozilla Firefox, Google Chrome, Opera, Safari, entre outros). O navegador lê esse código e transforma em tudo que você vê, cores, caixas, quebras, imagens, links, etc.

Faça vc mesmo: Clique com o botão direito neste texto e selecione “Exibir Código-Fonte”, “Código-Fonte”, “View Source Code”, ou algo do gênero (depende do seu navegador, idioma…)

Um pouco de história: A Web foi proposta em 1989 e a partir daí começaram lentamente a surgir as primeiras especificações HTTP, HTML, que definiam uma linguagem comum entre as pessoas que criam sites e os navegadores que exibem os sites. Por exemplo, definiram que para exibir um texto em negrito (na época) usariam o código <b> texto </b>. Assim, os desenvolvedores colocavam <b> quando queriam negrito e os navegadores exibiam o texto em negrito para o usuário quando recebiam código com essa tag.

O negócio foi se popularizando, mais sites foram surgindo, mais navegadores foram criados. Surgiu o W3C (World Wide Web Consortium), entidade acadêmica criada no MIT, visando “desenvolver protocolos e diretrizes para garantir o crescimento a longo prazo da Web”.

Os acadêmicos tem uma lentidão seu tempo natural para o desenvolvimento de seus estudos e publicação de suas conclusões fundamentadas. O mercado, por sua vez, tem pressa! As empresas tem sede de $$$$ e, muitas delas, não estão dispostas a esperar o tempo da Academia!

Netscape Navigator e Microsoft Internet Explorer, as 2 primeiras gigantes do mercado de navegadores, devem ter começado a definir seus próprios idiomas de código-fonte para, rapidamente, gerar novos layouts, novas funcionalidades, cores, design, etc… Uma fazia, a outra não podia ficar pra trás e cada uma começou a definir seus próprios padrões. Os desenvolvedores de site viam que um navegador tinha criado uma funcionalidade diferente e começavam a usar… Outros desenvolvedores começavam a copiar. Aí se popularizou o desenvolvimento orientado a navegador, rsrs! Você criava um site completamente funcional pro Internet Explorer, colocava uma mensagem dizendo que “Este site é melhor visualizado no Internet Explorer, em 640 x 480” e Voilà!

Em meados de 2002, isso significava que seu site seria visto corretamente por quase 95% dos usuários da Internet! Até fazia sentido! O Tio Bill Gates era forte e ainda é. Estima-se que 65% dos usuários navegam com IE em 2009.

A diferença é que a W3C cresceu, os estudos evoluíram, as publicações saíram, os usuários aumentaram e hoje, as especificações estão muito mais maduras do que a 5, 10 anos atrás. O problema é que algumas empresas insistem em não responder às mudanças e continuam mantendo seus sites na pré-história.

Aí você me diz: Mas tem tantos sites legais e modernos aí!

É, tem! Mas vc já tentou acessar esse site pelo Firefox, pelo Chrome, pelo Iphone, pelo Symbian, pelo Opera, pelo BlackBerry ?

Aí você me diz: Mas, mesmo funcionando só no IE, continuo atendendo a grande maioria dos usuários.

Em que mundo você vive? Estamos em 2009, era do conhecimento, era da velocidade, da LIBERDADE, da quantidade! Esses 35% representam 558 milhões de usuários no mundo. Você assina em baixo que essa fatia de mercado não te interessa? Olha os gráficos e analisa qual a tendência futura!

Enfim, trabalhei em uma Consultoria de TI e acompanhei de perto alguns projetos de desenvolvimento Web para grandes clientes no Brasil…

Pessoal, parem de jogar dinheiro no ralo! TI é caro, mas pode ser um dinheiro gasto com mais inteligência!

Área usuária das grandes empresas do Brasil, exijam que seus fornecedores de TI desenvolvam sites que funcionem na maioria dos navegadores. Mas, por favor, não listem que vocês querem que funcione no IE 6.0, no Firefox 3.0 e no Chrome. Diga que você quer que siga os Web Standards, que você quer que as páginas geradas pelo seu portal sejam W3C-Compliant.

Quer ver como é simples? Acesse http://validator.w3.org e insira a url que você deseja validar! 52 erros e 10 warnings??? Cada ponto desse pode ser uma dor de cabeça para os visitantes do seu portal, isso só na página inicial. E o melhor, para cada ponto ele te diz onde está o problema e como corrigir! Quer mais o quê ??

Consultorias de TI, ajudem seus clientes! Ofereçam desenvolvimento com padrões aos seus clientes. Façam propostas! Vendam isso! Gerem valor com isso! Meçam… Por favor, não digam que vocês terão que duplicar o esforço de testes caso o cliente peça que o portal funcione em outro navegador.  Se preocupem em desenvolver usando os padrões e testem apenas 1 vez. Será o suficiente! Arranquem dos códigos as tags que só funcionam em determinado navegador. Arranquem também as várias outras tags e lógicas que você precisou implementar só para fazer seu site funcionar no navegador A, B e C… Criem uma ferramenta automatizada de validação no W3C. Gerem e entreguem relatórios disso ao seu cliente!

Cuidado com gerenciadores de conteúdo (CMS), analisem técnicamente como ele funciona. Algumas empresas estão pagando alguns milhões de licença em CMS que é simplesmente um atestado de “SÓ FUNCIONO NO IE”. Em pleno século XXI.

E o mais importante, façam 558 milhões de usuários felizes!!

Abraços,

Bruno Torquato

PS: Hoje, 10 de julho de 2009, está página está W3C-Compliant, rsrs! Obrigado, WordPress!

W3C Compliant