31 de Julho de 2009

Continue aprendendo BPM jogando - Innov8 2.0

Arquivado sob: Outros, BPM — marco @ 12:38

Postei há algum tempo aqui uma notícai sobre o jogo Innov8 (Innovate) da IBM que mostrava de forma lúdica os conceitos de BPM em um jogo 3-D com excelente qualidade gráfica.

Agora o jogo está disponível online para qualquer usuário (basta preencher um registro e criar uma conta). Para os estudantes universitários da parceria acadâmica IBM, ele pode ser baixado para a sua máquina.

O jogo foi melhorado e agora apresenta cenários de negócios diferentes para os jogadores.

Personagens do Innov8 2.0

Bons jogos e bom aprendizado!

Veja o trailer aqui.
Jogue o jogo online aqui.
Baixe o jogo completo aqui.

28 de Julho de 2009

Você trabalha em uma fábrica de software, uma fábrica de recursos ou em um presídio de software?

Arquivado sob: Gestão de Pessoas — marco @ 23:48

O modelo de “fábricas de software” está em franca expansão na TI Brasileira. Com a premissa de maior produtividade e redução de custos para contratantes, este modelo originalmente nasceu do belo conceito de “Software Product Lines”, muito bem documentado em corpos de conhecimento do SEI e outros institutos mundo afora.

Infelizmente, algumas “fábricas de software” não são exatamente “Product Lines”, mas instrumentos de lucratividade apenas de seus sócios.

Coloco abaixo um teste lúdico para que um desenvolvedor possa avaliar a qualidade do ambiente que ele trabalha. Quanto maior a pontuação, melhor.

Horas Extras

  • Horas extras são uma exceção e você é pago com um valor de hora extra conforme legislação CLT. (SOME 1 PONTO)
  • Horas extras são uma constante e você é pago com incentivos morais, tapinhas nas costas e elogios oportunistas. Normalmente você trabalha mais de 200 horas por mês. (SOME -1 PONTO)
  • Você não tem finais de semana. (SOME -2 PONTOS)

Treinamento e Aprendizado

  • Existe um programa de treinamento formal na sua empresa e você é normalmente capacitado em novas tecnologias e novos domínios de negócio. (SOME 1 PONTO)
  • O seu programa de treinamento é feito por conta própria por você de madrugada e nos finais de semana. (SOME -1 PONTO)

Participação em Projetos

  • Você é normalmente convidado para opinar e propor soluções técnicas no seu projeto. (SOME 1 PONTO)
  • Você recebe ordens e deve executá-las sem discutir. (SOME -1 PONTO)

Apoio Gerencial

  • O seu gerente é um facilitador para os seus problemas. (SOME 1 PONTO)
  • O seu gerente somente sabe cobrar o % de completude do caso de uso. “E aí, tá pronto?”. (SOME -1 PONTO)

Apoio Técnico

  • A sua empresa possui uma área de frameworks e técnicos especialistas para resolução de problemas. (SOME 1 PONTO)
  • O seu suporte técnico é o Google. (SOME -1 PONTO)
  • Você não tem acesso ao Google no trabalho. (SOME -2 PONTOS)

Tratamento na empresa

  • O seu RH o trata pelo nome. (SOME 1 PONTO)
  • O seu RH o chama de recurso ou colaborador nos emails. (SOME -1 PONTO)

O resultado da sua fábrica…

Se você marcou mais que 3 pontos, isso é uma excelente notícia. O seu ambiente é saudável e você tem uma boa qualidade no desenvolvimento diário dos seus sistemas. Conte a sua história aqui.

Se você marcou entre 0 e 3 pontos, você provavelmente trabalha em uma fábrica de recursos. Você é uma mais uma peça da engrenagem fabril. Recomendo que você assista ao clássico filme chamado “Tempos Modernos”, com o Charles Chaplin.

Tempos Modernos

Se você marcou pontuação negativa, você trabalha em um presídio de software. Recomendo que você assista ao clássico filme “Fuga de Alcatraz”, com Clint Eastwood.

Fuga de Alcatraz

27 de Julho de 2009

O nascimento, declínio e renascimento do modelo de computação nas nuvens

Arquivado sob: Arquitetura — marco @ 12:38

Fizemos na semana passada uma apresentação sobre o modelo de computação nas nuvens e a sua interação com novos modelos de negócio e novos modelos técnicos tais como software como serviço, virtualização de hardwares e o modelo de cauda longa.

A apresentação está disponível aqui para os interessados:

14 de Julho de 2009

MPS.BR 1 x 0 CMMI

Arquivado sob: Gestão da Aquisição — marco @ 22:43

Fiz recentemente um diagnóstico de maturidade no desenvolvimento de software de empresas de software de todo o Brasil. Um dos pontos de investigação era o uso de modelos formais de “certificação”. Para minha surpresa, vi que o modelo CMMI está com uma audiência muito baixa no Brasil quando comparado ao modelo brasileiro MPS.BR, que goza de grande popularidade. Como exemplo, no estado onde fizemos um estudo mais detalhado (Minas Gerais), vimos apenas 4 empresas com modelos CMMI implementados, contra mais de duas dezenas de empresas com o modelo MPS.BR implementado.

Não tenho a pretensão de realizar aqui um julgamento de valor, mesmo porque a constelação CMMI é um trabalho mais sólido e maduro que o nosso modelo tupiniquim, mas coloco abaixo uma percepção sobre esta grande popularidade do modelo MPS.BR

  • O MPS.BR conta um programa de fomento do governo Brasileiro, capitaneado pela SOFTEX.
  • O MPS.BR é aceito como comprovação de maturidade em toda licitação de um órgão do governo.
  • O MPS.BR conta com um rede articulada de atores de negócio regionais e um número cada vez maior de implementadores e avaliadores.
  • Uma implementação CMMI é bem mais cara que uma implementação MPS.BR. A relação é da ordem de 3 para 1 e especialmente para empresas de pequeno e médio porte o custo pode ser proibitivo.
  • O MPS.BR possui um modelo de implemetação para grupos de empresas, que torna os custos compartilhados de cursos, de implementadores e avaliadores bem mais adequados à realidade do mercado nacional de desenvolvimento de software.
  • A premissa de offshoring do CMMI não se mostra economicamente viável na prática. Um desenvolvedor Brasileiro custa em torno de 25 dólares, contra 10 dólares de um desenvolvedor Indiano ou os meros 7 dólares de um desenvolvedor Chinês. Somos clararamente não competitivos quando comparados a eles para atividades triviais e sem valor agregado dentro da cadeia de desenvolvimento de software.

É importante dizer que o MPS.BR e o CMMI são modelos que aferem a qualidade do processo e não a qualidade do produto e por isso não tem a pretensão de garantir a qualidade dos sistemas de software desenvolvidos por empresas. Entretanto, devido a futura e próxima ubiquidade do MPS.BR no Brasil, vejo um efeito similar ao das empresas indianas com o CMMI, i.e, quem não possuir pelo menos uma titulação MPS.BR nível G (parcialmente gerenciado) ficará fora do mercado e nem será avaliado por empresas contratantes de software.

Pensamento do dia: “Um longo tempo é necessário para trazer a excelência à maturidade”, Publius Syrus, Séc. I A.C.

10 de Julho de 2009

Governança SOA

Arquivado sob: Arquitetura, SOA — marco @ 09:15

Diversas empresas da primeira onda de SOA criaram um vasto portifólio de serviços em suas implementações de automação de processos de negócio. Muitas destas empresas, entretanto, criaram serviços não governados, i.e, serviços sem controle (sem cadeias de autoridade, controle de mudanças, versões, relacionamento entre serviços, políticas de reuso). A consequência foi um desalinhamento entre o valor esperado pelo programa SOA e um valor realmente obtido.

A governança SOA surge neste contexto de desalinhamento. O seu objetivo é prover algum nível de controle destes serviços para que possamos gerir cuidadosamente o investimento de TI destas iniciativas de melhorias.

Para tornar concreto nosso raciocínio, vamos usar um exemplo prático associado ao desenvolvimento de WebServices. Podemos ter uma política de governança SOA para testes de WebServices que diga que todo arquivo .WSDL seja interoperável conforme com o padrão de interoperabilidade de WebServices WS-I Basic Profile 1.1. Este exemplo de governança garante que um WSDL criado em Java será compatível com um cliente de serviço escrito em ASP.NET.

Um centro de excelência SOA, que descrevemos em outro post, seria responsável pela implementação deste tipo de política de governança em uma organização.

Fizemos recentemente uma apresentação sobre este tópico, que gostaria de compartilhar neste nosso espaço.

7 de Julho de 2009

Para saber mais sobre arquitetura de software, estude sobre arquiteturas de negócio

Arquivado sob: Arquitetura — marco @ 19:06

Arquitetos de software de verdade investem grande parte do seu aprendizado em técnicas arquiteturais. Exemplos destas técnicas incluem o modelo de visualização 4+1 de Kruchten, processos de software, os modelos SEI QAW, ATAM, CBAM, V&B e ADD, os modelos de requisitos FURPS+, ISO 9126, ISO SQUARE, as recomendações arquiteturais da norma IEEE 1471, técnicas de liderança de times e mesmo modelos de arquiteturas corporativas como o TOGAF ou o Zachman Framework.

A notícia boa é que este corpo de conhecimento técnico permite que o arquiteto projete, elicite requisitos, modele, experimente, prove conceitos com código, acompanhe a sua equipe e edifique toda a arquitetura técnica de um produto.

A notícia ruim é que mesmo este corpo gigantesco não garante o bem mais esperado de uma arquitetura de software, que é o alinhamento às estratégias de uma organização.

A notícia pragmática, então, é uma arquitetura de software somente deve existir para servir à uma arquitetura de nível superior, chamada de arquitetura de negócio. A arquitetura de negócio não é um super-conjunto da arquitetura de software. Ela é apenas uma arquitetura que existe em outro plano.

Uma arquitetura de negócio é uma macro-organização que descreve o modelo operacional de uma organização, suas áreas de negócio, seus processos de negócio nucleares e os seus atores de negócio.

Para tornar o concreto o nosso raciocínio, uso como exemplo o eTOM dentro so segmento de TELECOM. o eTOM é um guia com a descrição dos processos de negócio para um provedor de serviços de telecomunicações.

Um outro exemplo concreto é o SCOR, modelo de referência para empresas que possuam complexas cadeias de fornecimento (supply-chains).

Um terceiro exemplo, dentro do governo Brasileiro, é a empresa de referência da ANEEL. Esta empresa de referência serve como modelo operacional para qualquer concessionária de distribuição de energia elétrica, descrita no documento supracitado através de um conjunto de motivadores de negócio, processos de negócio, regras de negócio e modelo organizacional.

Um quarto exemplo é o ITIL, que é uma arquitetura de negócio para operações e serviços de TI.

Ao saber mais do contexto onde atuamos como arquitetos, podemos escolher entre soluções técnicas mais adequadas e coerentes. Podemos usar melhor os recursos escassos da TI e gerar mais valor de negócio para estas empresas.

Para se tornar um melhor arquiteto e saber mais sobre arquiteturas de software, estude mais as arquiteturas de negócio das verticais de atuação da sua empresa.

Pensamento do dia: A primeira lei da automação, por Bill Gates - “A automação de um processo de negócio eficiente irá aumentar a sua eficiência operacional”

3 de Julho de 2009

Palestra sobre Arquiteturas de Negócio na SUCESU-MG

Arquivado sob: Arquitetura — marco @ 19:15

Realizamos recentemente uma palestra na SUCESU-MG sobre Arquiteturas de Negócio no grupo de trabalho de BPMS. Uma arquitetura de negócio é uma peça importante na estruturação e entendimento do modelo de negócio de uma organização e se constitui de ferramenta essecial para analistas de negócio e também arquitetos de TI.

Em particular, discutimos nesta apresentação o conceito de arquiteturas de negócio, modelos operacionais, capacidades corporativas e como estes conceitos são determinantes para facilitar implementações BPMS em organização. Discutimos também o anti-padrão “Ferramentas Primeiro”, onde procuramos mostrar que ferramentas BPMS não podem ser o elemento central de uma programa de melhoria BPM.

Disponibilizo a apresentação abaixo para os interessados no tema.

Arquiteturas de Negócio

Blog do Marco Mendes | Artigos, Comentários e Opiniões sobre Engenharia de Software, Arquitetura de Software, SOA e Java