The Coders

quarta-feira, maio 10, 2006

César Brod: 'Se eu fosse a Microsoft...'

Escreve o Cesar Brod: “Passado o sétimo Fórum Internacional de Software Livre e toda a repercussão gerada pelo convite do Infomedia TV à Microsoft para que estivesse no evento debatendo com outras pessoas envolvidas com software livre, acabei recebendo uma série de perguntas sobre minha consciência ou não do que estava acontecendo na Europa, as declarações do Andrew Tridgell, as licenças abertas ou não da Microsoft e o porque, se eles querem mesmo se aproximar da comunidade, não colocam o fonte do Windows sob a GPL?

Se eu fosse a Microsoft, eu abria tudo mesmo sob a GPL ou alguma outra licença compatível, abria mão das patentes que tem (muito menos que as da IBM, por exemplo) e minha percepção é de que os negócios da empresa não seriam afetados. Mas esta é a minha percepção. Não posso querer que analistas de negócio da empresa concordem comigo. Agora, a questão é, para quem não está na Microsoft mas está oferecendo serviços e soluções no mercado onde a Microsoft também está presente -- muito presente -- que grande diferença esta abertura ampla, geral e irrestrita faria?

Veja abaixo a continuação do texto.

Minha percepção é de que muito pouca, afora uma euforia momentânea, de curtíssima duração.

Toda a empresa que se preze trabalha com orçamentos. Mesmo uma grande empresa como a Microsoft tem que fazer seus investimentos de forma planejada. É assim que eles podem sobreviver a eventuais erros e investir em produtos conceituais onde não têm nenhum lucro agora. Independente do tamanho, a RedHat e a Solis fazem a mesma coisa, mesmo trabalhando cada uma com modelos de negócios distintos. A possibilidade de lançamento de um Windows e um Office sob uma GPL-Like dispenderia, no mínimo, uns bons milhões de dólares em uma campanha mundial explicando aos clientes da Microsoft a razão pela qual a empresa estaria fazendo isto. Ou alguém aqui acha que todos os clientes para os quais vendemos têm plena ciência do que é uma licença de software? Eles nem têm que se preocupar muito com isto mesmo! O que eles querem são sistemas que atendam suas necessidades de negócio, aumentem a produtividade de seu pessoal, os tornem mais competitivos, por um preço que considerem justo. Se o negócio funcionar, não importa qual o sistema operacional, ou a licença do produto. Para a grande maioria dos clientes, estas coisas são secundárias. Então, que sentido faz direcionar o orçamento para uma campanha que leve o Windows e o Office para uma licença GPL? Além do mais, uma coisa que já disse e repito: licenças são importantes, dão as linhas gerais sobre a forma como um software é utilizado, mas o que vale mesmo, no fim das contas, é o contrato que vai ser estabelecido entre duas partes -- fornecedor e cliente -- com o estabelecimento de garantias e penalidades no caso de falhas. Tipicamente, licenças não oferecem garantias para o caso do software causar algum dano ao negócio
do cliente. Tipicamente, empresas que têm seus negócios críticos controlados por softwares possuem contratos com empresas que lhes dão estas garantias. Acho que em poucos anos, entre cinco e dez, no máximo, licenças não existirão ou não farão nenhum sentido.

Mas vamos também à questão do Samba. Andrew Tridgell reclama em nome da equipe de desenvolvimento do Samba que a Microsoft não dá lá muita bola para eles. Ainda há a necessidade de engenharia reversa e problemas de integração com o Active Directory. Ora, usamos o Samba quando temos que conviver com um legado que são os desktops Microsoft. Se ficar preso a uma plataforma for um problema real para um cliente, que se migre para o OpenLdap. Se eu fosse a Microsoft eu estaria mais preocupado em investir em reais questões de interoperabilidade entre múltiplas plataformas para a oferta de meus produtos do que em gastar tempo -- e dinheiro -- para permitir que meu legado seja substituído. Por outro lado, isto aconteceria mesmo? Não acredito que em larga escala uma integração maior com o Samba afetaria a perda de clientes para a Microsoft... Mas também vejo que, pensando pelo lado da empresa, não faz o menor sentido em pagar para ver. Por outro lado, a empresa acredita em outras formas de integração mais modernas, que vão tomar conta das implantações de TI daqui para a frente, como o uso de web services. Acredita não porque é algo que tenha vindo de dentro da Microsoft, mas porque é algo que o mercado está exigindo. Web services é um assunto quente no ambiente de software livre também e aqueles que têm um olho no futuro estão mais preocupados na manutenção e evolução dos padrões envolvendo web services
do que nos problemas de compatibilização do Samba com o Active Directory, por exemplo.

Dito desta forma, corro o risco de me perguntarem se estou partindo em defesa da Microsoft. Mais uma vez, a resposta é não, por uma questão pura e simples: sei quem eu sou e sei quem a Microsoft é. Definitivamente, a Microsoft não precisa mim para defendê-la. Uso o GNU/Linux em meu computador, sem dual-boot. Recentemente cedi ao Skype e ao MSN porque é a forma como pessoas com as quais precisam falar comigo conhecem. Sou a favor da GPL, da discussão sobre a nova versão e busco participar dela. Mas também acho que enquanto a Free Software Foundation e outras instituições e pessoas lutam contra o DRM, o mesmo é um fato consumado com o qual temos que conviver até que o mesmo deixe de existir, ou não. Assim, não me admira que distribuições Linux venham a incorporar a tecnologia DRM para que seus usuários possam ouvir música, assistir filmes e brincar com jogos protegidos desta forma.

Agora, tem uma coisa que eu acho o cúmulo na tecnologia da Microsoft que é o ActiveX, uma forma artificial e a meu ver nada elegante de se prender usuários a seu browser e aí a seu sistema operacional, algo que acabou atestando contra o próprio Internet Explorer e deixou uma bela de uma brecha para o avanço do software livre no Windows, especialmente com o Firefox. Acho que logo o único portal que irá requerer o ActiveX será o do Windows Update, mas até lá, a Microsoft também terá se dado conta disto e deixado de lado esta tecnologia. Mas até lá, cada vez mais aplicações serão "live" e o Windows Update não será mais necessário também. Minha bola de cristal (tenho duas, uma é reserva) mostra que num futuro não muito distante a Microsoft será uma empresa de "aluguel de facilidades", num modelo de negócios parecido com a Net ou a DirecTV. As pessoas poderão usar seu Office de forma remota, armazenando com segurança e privacidade seus documentos. Claro que não só ela, mas também o Google e outras não tão grandes que estão indo neste mesmo sentido. Tecnologias livres e também proprietárias estarão disponíveis para a oferta destes serviços e ainda muito pouca gente "normal" saberá ou se importará em distingüí-las.

A tendência da Microsoft para uma abertura de seus códigos, independente da forma e quantidade, agrada meu pensamento técnico. Menos necessidade de engenharia reversa, maior rapidez na construção de aplicações interoperáveis. Boa parte dos desenvolvedores com que tenho falado concordam com isto. Quem pode ficar triste são aqueles que, sem ter mais
motivos para falar mal de uma empresa como a Microsoft, vão ficar sem ter mais nada o que fazer.

Next> Next> Terminate....rss

terça-feira, maio 09, 2006

Desmistificando o CMMI - por Renato Luiz Della Volpe *

"FALTA DE TEMPO É DESCULPA DAQUELES QUE PERDEM TEMPO POR FALTA DE MÉTODOS"
Albert Einstein

Apresente-me um profissional de desenvolvimento ou empresa de TI que não vive ou nunca viveu algum episódio relacionado a problemas de qualidade de onde surgem argumentos como:

• "aquele 'programa' que não roda ou que só dá falhas e bugs";
• "o sistema que 'roda' mas não faz o que se esperava";
• "aquele projeto que teima em não terminar";
• "um cliente bravo por um ou vários dos motivos acima";
• "nunca temos tempo para os testes";
• "sempre tenho que ficar trabalhando no final de semana e nem sei se vai adiantar";
• "o pessoal não me entrega os dados para que eu possa desenvolver. Nem dá para entender o que é para fazer".

Enfim, o profissional de TI tem que se acostumar com esta "estressante" dinâmica para sempre? Será que não existe algum caminho que possa ser trilhado sem considerar, é claro, a mudança para outra área de atuação?
Não tem jeito?

Ao contrário do que muitos pensam e afirmam, qualidade em software tem não só um, mas muitos caminhos que podem ser percorridos por pequenas, médias e grandes empresas. Fácil? Não, mas perfeitamente possível. O tema é extenso, há muitos livros e extenso material na Internet para pesquisa e estudo. [ver links ao final da matéria] Neste artigo, é apresentado o CMMI® - Capability Maturity Model Integration - um modelo largamente aplicado em empresas no mundo
e em crescimento no Brasil,que tem como objetivo justamente minimizar e por vezes eliminar, entre outros, os problemas acima citados.

Entenda um pouco deste modelo que faz ou está fazendo a diferença não somente para as empresas que o implantam, como também para os profissionais que possuem seu conhecimento e já entenderam seus benefícios.

MOTIVAÇÕES

Muito se tem falado e discutido, tanto a favor como contra, sobre o CMMI® - Capability Maturity Model Integration, que é um modelo para a estruturação e aprimoramento da maturidade da "capabilidade" dos processos nas organizações de desenvolvimento de software. Aliás, essa definição já seria um pretexto para uma acalorada discussão envolvendo
dois termos utilizados "maturidade" e "capabilidade".

É comum também ouvirmos comentários ou até questionamentos a respeito da aplicação do CMMI como: "Este modelo é para empresas multinacionais e de grande porte" - "Os americanos utilizam o CMMI porque devem atender às regras do departamento de defesa, aqui no Brasil ninguém nos obriga a utilizar" ou ainda, "Isto é aplicável para os indianos que possuem uma forma de atuação diferente da do brasileiro" e a máxima de todos os comentários "Este modelo é muito difícil, complexo e o investimento é elevado".

O propósito deste artigo é, portanto, apresentar colocações que talvez não eliminem, mas ao menos minimizem estes "pré-conceitos" existentes sobre este ou qualquer outro modelo de gestão da qualidade organizacional, voltado ao desenvolvimento de software.

MELHORIA DA MATURIDADE E CAPABILIDADE - O QUE É ISSO E POR QUE BUSCÁ-LAS?

A maturidade está relacionada à qualidade dos processos utilizados em uma organização no desenvolvimento e manutenção de um determinado produto, no caso, os produtos de software. Organizações sem maturidade são as que apresentam características de um processo improvisado pelas pessoas, ou este processo, quando existente, não é
seguido ou cumprido, possuindo, desta forma, grande dependência dos atuais desenvolvedores no que diz respeito ao conhecimento da arquitetura e evolução do software. Estes acarretam o desconhecimento do progresso dos projetos, onde a funcionalidade e a qualidade do produto geralmente são comprometidas para atender aos prazos, nem sempre claramente estabelecidos, os quais irão acarretar custos excessivos de manutenção, insatisfação dos clientes e das pessoas envolvidas na equipe de desenvolvimento, entre outros inconvenientes. Por outro lado, em uma organização madura, temos como principais características: processo bem definido, documentado e continuamente aprimorado que é entendido, utilizado e "vivo" por todas as pessoas envolvidas. É plenamente suportado pela gerência, possibilitando a existência de responsabilidades e papéis claramente definidos, bem como uma grande visibilidade, alinhada ao negócio da organização.

A capabilidade está relacionada a uma evolução da condição de se atingir, cada vez mais, melhores resultados dos processos, sendo que esses são mantidos sob controle em quaisquer circunstâncias. O termo capabilidade, apesar de não existir na Língua Portuguesa, se difere em seu contexto da palavra capacidade, que muitos autores utilizam. Para
uma explicação rápida, a capacidade estaria relacionada com a quantidade a ser produzida ou efetuada (exemplo: x mil linhas de código/ dia). Contudo, como sempre se fala, "Quantidade não é Qualidade", a capabilidade é ter esta capacidade claramente definida e controlada e esta quantidade ser feita respeitando-se limites claros de qualidade

(exemplo: x mil linhas de código/dia com um índice de defeitos com variação máxima de +/- 0,002 erros / mil linhas de código).

Tudo isto não quer dizer que não iremos depender mais das pessoas para o desenvolvimento de software, muito pelo contrário. Em uma definição do que é um "processo", vemos que podemos definir muito bem as etapas (procedimentos) que devemos ter para um desenvolvimento, mas que devemos dar os recursos e a devida capacitação às pessoas para que essas efetivamente "rodem" o processo.

segunda-feira, maio 08, 2006

Haja Rapidamente

Problemas não vão embora sozinhos, mas as oportunidades sim. Se você ficar esperando seus problemas simplesmente desaparecerem, eles provavelmente piorarão e ficarão mais sérios. Se você ficar vacilando quando uma oportunidade bater á sua porta, ela acabará partindo, indo bater na porta de outro.

Se alguma coisa precisa ser feita, faça-a agora. Seja paciente, sim, mas tenha paciência. Enquanto age e faz alguma coisa de concreto.

Se você estiver relutante em fazer algo que precisa ser feito, considere que, quanto mais você esperar, pior ficará a situação.

Você gostaria de ter superpoderes, aja rapidamente, e você conseguirá resolver dez problemas com o mesmo esforço que levaria

Para resolver apenas um que, por preguiça ou indecisão, você deixou crescer desproporcionalmente.

Quanto mais rápido você agir, mais eficaz será.

Certamente você não vai querer pular sem olhar antes, assim que decidir o que precisa ser feito, faça. O tempo é seu recurso mais valioso. Quanto menos tempo você esperar para agir, mais tempo terá. Se alguma coisa precisa ser feita, faça-a agora!

Ralph Marston