As metodologias ágeis no framework do PMBoK. Uma guia para PMP’s.

Numerosas são as empresas que trabalham com gerentes de projetos certificados PMP[1] ou que utilizam o PMBoK[2] como referencial para as práticas de gestão de projetos. Além disto, nossa experiência comprova que existe uma grande difusão das metodologias ágeis no contexto do desenvolvimento de software. Esta difusão é por diversas vezes freada por uma resistência na adoção de metodologias ágeis segundo o argumento de que não são condizentes com o framework de gerenciamento existente nas empresas. Não obstante, um PMP ou um gerente de projeto procurando implementar metodologias agíeis pode, como se pretende mostrar neste artigo, utilizar praticas como SCRUM e XP segundo o contexto do projeto, minimizando os impactos na organização e nos processos si estes estão baseados no Referencial do PMI[3].

Este artigo pretende criar uma base para iniciar uma reflexão, ou simplesmente dar o ponto de partida para uma conversa mais profunda, sobre: como criar uma sinergia entre as metodologias ágeis e o PMBoK e sobretudo como podem enriquecer-se entre eles. O intuito não é de entrar no debate de “modelo versus modelo” mas encontrar como podem se complementar para ajudar na implantação “Agil” em contextos onde o PMBoK é a referencia na gestão de projetos.

Através de nossas experiências e intervenções em projetos em diversos países, constata-se que existe uma confusão no mundo dos projetos de desenvolvimento de software ao confundir o PMBoK com uma metodologia em cascata o incompatível com as metodologias agíeis, visível através de frases como: “O PMP tem como fases de um projeto: iniciação, planejamento, execução e encerramento”, “Nesta empresa nossas praticas são baseadas no PMBoK, pelo qual vai ser difícil a adoção das metodologias ágeis” ou a constante justaposição “PMBoK vs Ágil”. Esta confusão leva consigo uma consequência adversa: impedir a introdução de novas soluções melhor adaptadas ou descartar os elementos dos frameworks existentes para complementar as praticas.

(more…)

OCTO será patrocinadora das trilhas de arquitetura e agilidade do TDC2012

 A OCTO Technology participará este ano do TDC2012.

 

O TDC 2012, organizado pela Globalcode, acontecerá em São Paulo, do dia 04 até o dia 08 de julho.

Serão mais de 40 tópicos (trilhas) sobre os mais diversos temas de atualidade no mundo de TI!

Este ano, a OCTO Technology será patrocinadora e organizadora das trilhas de arquitetura e agilidade.

Temos alguns convites à sua disposição.

Assim caso tenha interesse em participar deste importante evento ou caso queira que alguém do seu time participe, entre em contato conosco que lhe mandaremos convites.

 

Big Data na Plataforma Java

O tema Big Data está cada vez mais em evidência, sendo propagado entre várias empresas renomadas da área de tecnologia. Independentemente se será consolidado ou não, é ainda assim uma forma de obter uma perspectiva diferente, ou melhor, criativa de olhar para a sua massa de dados armazenada, que talvez esteja sendo subutilizada. E devido aos problemas enfrentados no manuseio deste volume de dados, através da tentativa do uso de ferramentas convencionais por grandes sites consumidores de informações, surgiram invenções que se propagaram para o mundo do software livre. O que culminou na existência de opções como Apache Hadoop, Hive, HBase e Pig.

Na edição número 103 da revista Java Magazine, mês de Maio, é apresentado um artigo que aborda uma visão conceitual sobre o que é o Big Data, onde se originou e seus principais usuários. E para processar esses grandes volumes de dados apresentamos conceitos juntamente com um exemplo prático, do modelo de programação distribuído e paralelizado conhecido como MapReduce. Neste exemplo utilizamos a ferramenta open-source da Apache, o Hadoop.

Entender o conceito de big data ajudará a compreender melhor qual é o papel desempenhado por ferramentas como o Hadoop. Ao longo do tempo, será mais comum o surgimento deste tipo de desafio em empresas que desejam explorar seu Big Data.

http://www.devmedia.com.br/big-data-revista-java-magazine-103/24389

Boa leitura!

Data Grid or nosql? same, same but different…

(Tradução Google)

Há três anos, NoSQL como um pedaço de tecnologias para a Big Data tem se espalhado pelo mundo inteiro e está desafiando o mundo centralizado e RDBMS. O espaço de armazéns distribuídos ainda não é nova e bancos, plataformas de jogos online estão usando tecnologias de vários anos chamada “grade de dados” para abordar questões latências e throughput. E para ser completamente franco, “Data Big” não está longe de ser o “novo SOA”: uma mudança de paradigma radical perdido no meio de palavras comercial zumbido, mas isso é outra história …
Quais são os pontos em comum? As principais diferenças?

leia mais…

Introdução Lean Integration

Seguindo a mesma linha de princípios baseado na TPS (Toyota Production System), que criou o Lean Manufactoring, o Lean Integration promove a eliminação de desperdício, melhoria continua e a criação de valores com foco no cliente, para as atividades de integração de aplicações e de integração de toda a cadeia de dados.

Assim como foi feito para o desenvolvimento de software, uma adaptação do TPS foi introduzido por Mary e Tom Poppendieck no livro Lean Software Development, o Lean Integration aplica os mesmos princípios para o processo de integração.

O desenvolvimento de capacidades de integração funcionais e características extras antes mesmo de serem necessárias, é considerado um desperdício. Existe uma outra abordagem, construir apenas as funcionalidades que o primeiro projeto necessita, e realizar de uma forma que seja possível de ser estendido no futuro quando outros projetos surgirem. Esta abordagem é preferencial ao invés de praticar “futurologia” (more…)

JBoss Infinispan na Java Magazine 95

Este mês, foi publicado na revista Java Magazine 95, um artigo meu sobre JBoss Infinispan.

Uma das maneiras mais fáceis de melhorar a performance de uma aplicação é trazer os dados para mais perto dela e manter um formato que seja simples para ela consumir.

A maioria das aplicações escritas em Java, consomem dados que geralmente são armazenados em bancos de dados relacionais, como Oracle, MySQL, entre outros. Isto significa que para a aplicação consumir estes dados, precisa converter as informações que estão armazenadas em tabelas em objetos.

Por conta da natureza tabular destes dados, o processo de conversão de dados para objeto em memória pode ser muito custoso, e nem sempre é fácil. Para remediar estes problemas, ferramentas ORM como Hibernate e EclipseLink utilizam mecanismos de cache para armazenar os objetos internamente. Entretanto, quando a aplicação cresce e é necessário escalá-la para múltiplos servidores, e neste momento, começam a surgir vários problemas de sincronização de dados.

Para ajudar a resolver este problema, podemos utilizar uma plataforma de Data Grid. Dentro desta categoria, existem diversos frameworks e soluções, entre eles: Hazelcast, GigaSpaces, Oracle Coherence, Joafip, GridGain, ExtremeScale e JBoss Infinispan. .

Utilizei o JBoss Infinispan recentemente, em um projeto de grande porte, de uma nova URA inteligente, para uma grande empresa de Telecom da Itália. O sistema, foi distribuído em dois sites diferentes, com clusters com diversas máquinas.

A partir daí, surgiu a idéia de fazer este artigo. Neste artigo abordo além da computação em grid com ênfase na plataforma de datagrid Infinispan, abordo e a importância de seu uso em um ambiente corporativo, que tem necessidades mais específicas do que simplesmente criar um cache de dados.

Apresento os diferentes modos para criar um cache e seus conceitos, como Replicação, Invalidação, Distribuição, L1 Caching e Cache Local, assim como os benefícios de cada uma destas abordagens. E ao final, como transformar o Infinispan em uma solução NoSQL, utilizando Cache Stores com o Módulo REST.

Para concluir, apresento os módulos disponíveis para o desenvolvedor tirar ainda mais proveito desta poderosa plataforma, onde exploro como configurar um Módulo REST para acesso aos objetos no Grid via protocolo HTTP.

Sobre o Infinispan

Infinispan é uma plataforma para grid de dados open source distribuída pela JBoss. Geralmente, data grids são utilizados para reduzir a latência do banco de dados, prover alta disponibilidade e storage elástico dos dados, como soluções NoSQL. Data Grids podem ser utilizados em conjunto com bancos de dados tradicionais ou como cache distribuído, para acesso rápido aos dados.

Ao escolher o Infinispan no lugar de um simples cache, temos as seguintes vantagens:

  • Cluster: Podemos distribuir nosso cache em cluster com apenas algumas configurações;
  • Eviction: Mecanismo automático de eviction para evitar erros de out-of-memory e controle do melhor uso da memória;
  • Cache Loader: É possível configurar cache loaders (ver tópico “Cache Loader”) para persistir o estado dos objetos em um banco de dados ou em um arquivo no disco;
  • Suporte a JTA e compatibilidade com XA: Gerenciamento de transação com qualquer aplicação compatível com JTA;
  • Gerenciamento: É possível gerenciar e monitorar os objetos de uma instância do grid de dados através de componentes JMX ou utilizar um console gráfico com RHQ.
Caso se interesse por soluções desta natureza, entre em contato conosco!
Wagner Roberto dos Santos (@wrsantos)

Implementando Segurança em um aplicativo Flex/BlazeDS utilizando o Single-Sign-On do Active Directory

Seu Diretor Executivo de Segurança da Informação quer a integração de seus aplicativos Flex/BlazeDS no Active Directory? Claro, você poderia usar o antiquado método LDAP, mas certamente você prefere retirar o peso das costas dos seus usuários de ter que digitar novamente as suas credenciais. Agrade seus clientes integrando seus aplicativos ao SSO do Active Directory.

(more…)

Levando aplicações .NET para a Cloud

Uma de nossas mais recentes pesquisas e projetos de desenvolvimento foi uma aplicação bancária on-line, a qual utilizamos para demonstrar a última tendência em desenvolvimento .NET.

Quando chegou a hora de implantar, não encontramos uma máquina adequada para a publicação. Mas espere! Nestes tempos isto já não é mais um problema. Quando você necessita implantar uma nova aplicação pode simplesmente fazê-la na cloud mais próxima.

Obviamente, a melhor escolha caiu sobre plataforma Azure. A questão apenas foi o nível de dificuldade que esta implantação traria?  Levaria dias para adaptar a aplicação para esta plataforma?

Na verdade, o processo de mudança fluiu muito melhor do que imaginávamos e dentro de uma hora fomos capazes de configurar as partes necessárias e já executar a aplicação na cloud.

Mas a plataforma Azure oferece muito mais do que uma plataforma de execução para as suas aplicações web. Oferece também várias formas distintas de armazenamento. E uma destas opções é o Azure Blob Storage.

E após a tranquila implantação, pensamos: e se utilizássemos Azure Blob Storage para implementar uma das novas funcionalidades o qual estava em nosso to-do list, e que se encaixa perfeitamente neste tipo de armazenamento?

E é o objetivo deste blog, que descreve a nossa experiência com Azure e que estará dividido em duas partes.
(more…)

Um sistema para aplicações em tempo real e bigdata análise, graças Hadoop e Cassandra

Enquanto ecosistema Apache Hadoop cresce e ao mesmo tempo o seu núcleo amadurece, existem atualmente várias empresas que oferecem distribuição Hadoop e serviços de primeira classe. Enquanto a EMC, depois de adquirir a Greenplum, parece se destacar e sair na frente, outras outras empresas, como Cloudera ou MapR ainda seguem no páreo.

Este artigo apresenta o Datastax Brisk, uma inovadora distribuição Hadoop que coloca a infraestrutura Data Warehouse Apache Hive sob uma camada compatível com HDFS baseado no Cassandra. Brisk tenta combinar  aplicações de tempo-real com exigência de baixa-latência (OLTP) e grande massa de dados analíticos em um mesmo sistema.

É mesmo? Explorar o resto do artigo, em Inglês

TI: Commodity ou Ativo?

O sistema de informação é um ativo corporativo, fornecendo uma vantagem competitiva, visto como um commodity crítico.

O que acontece com o sistema de informação ? É um ativo ou uma commodity ?

TI como um ativo

Um banco de dados de clientes transversal dá uma vantagem competitiva em operações cross-selling. Uma ferramenta de negociação atípica traz novas oportunidades de compensação para o banco.

Muitos exemplos ilustram as vantagens comerciais dos sistemas de informação.

TI como commodity

Para muitas empresas, gestão da informação e processamento tornam-se vitais, como o capital, eletricidade, etc O sistema de informação tem que ser robusto e barato.

Por exemplo, sistema de back office bancário tem que ser o mais barato possível para permitir baixos custos operacionais. Muitos exemplos ilustram as vantagens de possuir um sistema de informação de baixo custo.

Na verdade, TI é ambos, um commodity e um ativo; cada aplicação do Sistema de Informação pode ser um ativo ou um commodity.

O princípio da pirâmide

Como usar a pirâmide?

Enquanto você estiver definindo a sua estratégia de Sistema de Informação ou benchmarking de TI, lembre-se da pirâmide de aplicações para ter certeza de possuir a visão e a decisão chave correta.