segunda-feira, 24 de setembro de 2012


A vantagem de um Analista de Negócios para um Arquiteto de Negócios

O deserto entre TI e negócio é o nosso reino. 

Temos que lutar com a semântica linguística e expulsar definições. Começamos como Analistas e podemos avançar para Arquitetos.

Nós não somos estritamente técnicos e não estamos estritamente funcionais. A definição do que fazemos normalmente é escrever em linguagem semi-tech (requisitos). Mas como é que vamos escrever esses requisitos, o que nos torna diferentes? Como podemos ver as coisas e por que vê-las da maneira que nós fazemos? 
Qual é o potencial da profissão de Analista de Negócios? 
O que fazemos para os supervisores, gerentes, diretores e acionistas nos ouvir? 
Como é que vamos passar de Analista de Negócios para Arquiteto de Negócios? 
É o que queremos?

Deixe-me definir a diferença entre um analista e um arquiteto, elas são sutis, mas vou descrever apenas alguns pontos críticos que percebo:

- Um analista de negócios gera relatórios para desenvolvedores ou gerentes de projetos de TI, quando digo relatórios, considero os insumos semi-tech que traduzem as necessidades mandatórias e não-mandatórias de uma solução. O arquiteto de negócios reporta aos gestores ou alta direção insumos que podem ser de negócios ou de TI, mas são independentes do projeto.

- Alguns documentos do analista de negócios são em parte, requisitos definidos e desenvolvidos pelos usuários. Documentos gerados por um arquiteto de negócios podem definir uma estratégia de negócio usando requisitos previstos pelos usuários.

- O analista de negócios opera dentro dos limites de uma arquitetura pré-determinada técnica. Arquiteto de negócios é uma parte do processo de decisão para definir a arquitetura técnica.

Algumas coisas mais:

- Um arquiteto é considerado uma voz neutra e por isso em alguns casos toma decisões mais críticas do que um analista de negócios.

- Um arquiteto deve ter a capacidade de pensar tanto na forma estratégica e táctica enquanto um analista é normalmente tático.

- Um arquiteto deve estar ciente das estratégias empresariais enquanto um analista é normalmente preocupado com projetos específicos independentes da estratégia da organização.

Assim, vemos que cada tipo de "BA" é necessário. 
Agora, como você pode se tornar o melhor BA que pode ser? 
Ou como você passar de analista de arquiteto? 

Acredito que muitos analistas de negócio tem competência técnica e estrutural para assumir esses 2 "papéis", aliás conheço muitos profissionais que tem essa habilidade.

Comentem...

terça-feira, 4 de setembro de 2012

Product Owner no Scrum: a Alma do Negócio

O trabalho do Product Owner (PO) é possivelmente o menos compreendido e o mais subestimado entre os praticantes mais novos do Scrum. É ele quem transmite uma visão de negócios e prioriza os objetivos de forma a entregar valor. O PO é quem dá a direção e o propósito a um produto, envolvendo a equipe para a criação, desenvolvimento e evolução. Por isso está diretamente ligado ao sucesso (ou não) de um projeto de tecnologia.
Tendo isto em mente, o primeiro grande fator para o sucesso de um Product Owner é a coragem. Pode parecer clichê, mas não há como fugir disso. Como o PO é o responsável por equilibrar os vários interesses sobre determinado projeto, ele pode ficar tentado a atender apenas aos mais bem posicionados na hierarquia da empresa ou àqueles que mais diretamente se relacionam com ele. Sem coragem, o PO pode inconscientemente abrir mão da oportunidade de sucesso, parando de ouvir os clientes finais ou até mesmo idealizando um produto grande demais com resultados inferiores.

O PO e o cliente

Para gerenciar um produto, em particular um software, é preciso entender que mesmo um especialista precisa do feedback do usuário final. É o cliente, e apenas ele, quem poderá validar o que o há de inovador em um sistema. Aquilo que já é conhecido, ou que já foi medido anteriormente, pode até dar certo sem a validação do cliente, mas o que for o diferencial competitivo do seu produto, não. Fica no diferencial, em suas características únicas, o maior potencial de geração de valor; por isso, ouvir o cliente o tempo todo é fundamental.
A sintonia com o cliente é o que permite que o PO consiga capturar e transmitir a direção correta para os outros stakeholders e para a equipe de desenvolvimento. O contato entre a equipe e os stakeholders com o cliente final sempre será limitado, se comparado ao do PO. Por isso, o PO não deve se privar de "estar na rua", falando com seu público-alvo. Para manter essa sintonia viva e constante, precisa orientar a equipe na direção de entregas pequenas e frequentes. O produto deve ser criado de forma incremental e a cada passo as funcionalidades produzidas devem passar por um ciclo de feedback envolvendo os usuários finais. É importante observar que, quanto antes uma funcionalidade estiver em produção, sendo utilizada por usuários verdadeiros, melhor será o produto.

Qualidade relativa e qualidade absoluta

Outro ponto que pode desviar o caminho de sucesso dos gestores de um produto de software é a qualidade. Discussões intermináveis sobre este assunto são frequentes entre a equipe e o PO, com ou sem a participação de outros stakeholders. Tais discussões, além de improdutivas, podem crescer e se transformar em antagonismo, o que as tornam destrutivas para o produto, e também para a união e a motivação dos envolvidos.
O principal motivo de divergência reside em uma sutileza sobre o que é qualidade em um produto de software. Como em qualquer outro produto, qualidade é um conceito relativo. Os padrões de qualidade e os custos de se fazer um novo produto são variados e dependem de fatores como regulamentos, leis e o público-alvo. Para usar um exemplo do dia-a-dia, a qualidade exigida em um carro popular não é a mesma que a de um carro de luxo.
Podemos dizer que o PO entende qualidade como o nível de aceitação de seus clientes enquanto consumidores daquele novo produto. Este tipo de qualidade está, de certa forma, sob o controle do PO, e influencia suas decisões. Muitas vezes, a equipe não entende este parâmetro; apenas quer fazer o seu trabalho bem feito. Na verdade, é comum que a equipe leve em consideração outro tipo de medida: a qualidade no seu ciclo de desenvolvimento. Apenas para citar um exemplo, no caso de uma indústria automobilística, o PO estaria preocupado com a aceitação de determinado veículo pelo público, sendo que a equipe está mais comprometida com a qualidade do fluxo de produção.
Neste caso, ainda que as fábricas (ou unidades de fabricação) dos carros populares e luxuosos também tenham suas diferenças, elas são de fato bem mais parecidas do que a distância que existe entre os dois produtos finais: um carro pode ser desenhado para não dar defeito nunca, enquanto outro, se durar cinco anos, já estará ótimo para o fabricante. Para construir as fábricas destes carros é um pouco diferente, no entanto; ambas, é claro, foram feitas para durar e entregar vários modelos por muitos anos. Em software, não podemos abrir mão da qualidade, já que ela é determinante para a aceitação de um produto.
A qualidade do ciclo de desenvolvimento deve ser vista como absoluta, e é essa qualidade que a equipe luta para manter, enquanto muitas vezes os stakeholders não sabem do que a equipe está falando. A falta de qualidade no ciclo de produção gera um acúmulo de dívida técnica, que funciona como uma dívida de juros altos e compostos, ou seja, quanto mais postergamos o valor da dívida, maior será, e com crescimento exponencial.
A dívida técnica, quando acumulada, diminui a capacidade de mudar de direção e de se adaptar às necessidades dos negócios, que surgem em todo momento. Acaba com a agilidade. Em pouco tempo, a equipe começa a perder a velocidade de desenvolvimento e o tempo de vida útil do sistema se reduz, com crescentes custos de manutenção e evolução e capacidade de inovação seriamente limitada. É do interesse do PO manter a agilidade e a velocidade do seu projeto, então não criar dívida técnica é fundamental para todos.
Portanto, o PO deve conseguir explicar bem se a cada entrega estamos fazendo o carro popular ou o carro de luxo. E a equipe também deve deixar claro se o foco está no carro em si ou na fábrica que faz os carros.

PO, equipe e produto

A tentação de ir além do produto mínimo viável (MVP, na sigla em inglês) deve ser combatida a todo momento. É o óbvio: "o produto mínimo deve ser mínimo". O PO terá mais chance de sucesso se conhecer muito bem os seus clientes e, ao mesmo tempo conhecer muito bem o produto e a equipe responsável pela criação efetiva do software. Ser um PO significa conhecer em detalhes cada funcionalidade do produto que lidera e ser capaz de explicar aos stakeholders o que está acontecendo a qualquer tempo.
Com este entendimento nos detalhes e o feedback constante, o PO ganha embasamento para perceber novos e melhores caminhos, estabelecendo hipóteses que necessitam de um curto ciclo de entrega e feedback. Com uma boa equipe, o PO poderá validar tais inovações de forma rápida e eficaz.
Ao mesmo tempo, é necessário cuidado para não confundir o conhecimento dos detalhes com o microgerenciamento. A equipe de desenvolvimento tem capacidade e conhecimento técnicos para entregar o software pedido, e o PO se beneficia quando evita dizer à equipe como fazer o seu trabalho. O PO, em primeiro lugar, deve falar de negócios! Ele passa para a equipe suas necessidades não em termos técnicos, mas do ponto de vista do cliente, da empresa. Quando o PO permite à equipe com conhecimento técnico tomar as decisões que lhe cabem, não só a solução técnica é melhor; ele também poderá contar com uma equipe muito mais motivada e envolvida com o resultado do projeto. E assim, todos ganham.
Conhecer bem a equipe significa entender do que ela é capaz, especialmente saber traduzir as demandas de negócio para as técnicas e vice-versa . Quanto mais se estabelece este conhecimento mútuo, melhor é a comunicação e o PO se torna mais eficiente para planejar.

Deixe de empurrar funcionalidades

Com isso, chego ao ponto final: o planejamento. Planejar um produto de software é algo realmente complexo. É fundamental para o PO entender que, a partir do seu orçamento, ele não deve acreditar em um plano pré-determinado, com um conjunto de funcionalidades já estabelecidas. Ele gerencia seu orçamento semanalmente, mensalmente. Isso significa que, ao invés de uma lista de funcionalidades, o PO deve entregar objetivos de negócios.
Como e por meio de quais funcionalidades tais objetivos serão alcançados, não é conhecido no início do projeto. É apenas a execução do projeto que poderá responder. A visão prescritiva é o maior inimigo da inovação, de um produto de software e, consequentemente, do PO.
É preciso olhar além da imagem inicial que se tem do papel do PO. Pensar em uma lista de funcionalidades é menor que pensar em uma lista de objetivos. Aprovar uma funcionalidade é menor que o uso do seu cliente e um objetivo de negócio alcançado. Olhando com mais calma, o PO é mais que um papel, é a Alma do Negócio.

Fonte: INFOQ

segunda-feira, 2 de julho de 2012

O relacionamento entre os analistas de negócio e desenvolvedores de software.


O problema mais difundido entre as “torres” na grande maioria dos casos está nos braços dos analistas de negócio, conforme estudo realizado pelo Phoenix Chapter of IIBA. Em 90% dos casos, os BA´s (business analysts) não conseguem comprometer os desenvolvedores de software com a real necessidade da área de negócios precisa.

Grandes organizações consideram os  BA´s, como o MAESTRO DA TI, mas o ônus de orquestrar uma área com alto valor agregado e com grandes e competentes elementos envolvidos, considero uma arte, pois lidar com toda a carga de responsabilidade em representar a área de negócios e sintonizar os Desejos x as Necessidades é seu maior desafio, e é aí que pecam os BA´s.

Os desenvolvedores de software com toda a sua expertise técnica tem uma importância ímpar no desenvolvimento das ações, sua competência sistêmica e vivência lógica agregam o devido valor quando a proximidade entre ambos é conquistada. Comparo o desenvolvedor de software ao violinista e a área de negócios à plateia, enquanto o BA ao elemento que transforma a música em arte, apenas colhendo de ambos os lados o melhor de cada um.

Segundo consultores do Phoenix Chapter of IIBA os BA´s são construtores naturais de relacionamentos. As partes interessadas no negócio tendem a valorizar suas contribuições e procuram envolvê-las nos projetos. Mas quando chega o momento de defender seu "direito" a um papel no projeto, em alguns casos os próprios membros da equipe questionam o valor que trazem à mesa.

Tudo isso me fez pensar sobre a relação dos BA´s versus desenvolvedores de software e como podemos melhorá-la. Embora gostaríamos de pensar (ou esperar) que os cuidados de desenvolvedores de software sobre a linha de fundo da organização, fosse olhar as coisas sob a perspectiva de como poderia ser melhor o contato com a área de negócios... Acrescento: Proximidade e bom relacionamento, integrando conteúdo e olhando sempre para o maior objetivo (que não são os das áreas e sim o da organização).  O de considerar que a TI é apenas um provedor de serviços, um grande fornecedor de soluções, esse sim deve ser o real sentimento comum entre de desenvolvedores e analistas de negócios.

Agora, segue o desafio:

Se eu fosse um desenvolvedor, por que eu me importaria?
Se eu fosse um analista de negócios, como eu me comportaria?
Se eu fosse da área de negócios, o que eu esperaria?

Se nós, como BA´s pudéssemos ajudar a reduzir o retrabalho, que, sem dúvida, deve ser feito, pergunto: Como mudar o sentimento da maioria dos desenvolvedores que somente é motivado por "horas trabalhadas", ou seja, dispender seu tempo em escrever e reescrever códigos, e quanto mais seu tempo é gasto no mesmo pedaço de código, menos intelectualmente interessante fica o trabalho.

Com isso, os pedidos de mudança sempre significam um cronograma de projeto ampliado, que mais frequentemente significam também horas extras de desenvolvimento, em suma o maior fator motivador dessa classe: Horas trabalhadas multiplicadas por X reais, resultando em FATURAMENTO.

Eu nunca conheci um desenvolvedor que gostava de participar de reuniões e de se integrar, muitas vezes ele está lá, envolvido em proporcionar um pouco de entrada na direção, mas realmente esperando a resposta exata de que necessitam para que possa construir a solução.

Naturalmente seu foco é perdido, e aí que mora o risco (o escopo desse post), pois exatamente nesse momento é que o MAESTRO DA TI, deve trazer a responsabilidade do momento e promover a sintonia do solicitante e do solicitado.

Como você planeja seu levantamento e processo de análise de requisitos? Você acha que um desenvolvedor de software, deve participar dessa ação? Outra pergunta a fazer é: você precisa de um desenvolvedor em uma reunião de kickoff de projeto?

Por fim, como numa orquestra o MAESTRO depende de seus músicos, esses que dependem de seus instrumentos e sua plateia, e essa que vê no MAESTRO o condutor da sinfonia, é como encaro o departamento de TI.

Deixo no ar, duas perguntas:

Você como analista de negócios, já enfrentou desafios semelhantes em ser respeitado como esse MAESTRO dentro de sua própria organização de TI?

Você como MAESTRO DA TI, já comunicou o valor de uma área de análise de negócios para um desenvolvedor de software?

Dedico este post em homenagem ao meu amigo Paulinho.

sexta-feira, 13 de abril de 2012

O que é Análise de Negócios?

Vídeo explica de forma simples e lúdica o que é a análise de negócios. 




Publicado por Fabrício Laguna, da Gigante consultoria.  

terça-feira, 6 de março de 2012

1ª Treinamento SCRUM aos sábados.

No último dia 04/03/2012 iniciamos nossa 2ª turma de treinamento em SCRUM, em parceria com a Athem e Sucesso-SP.
Agradeço a presença e confiança de todos.

quarta-feira, 29 de fevereiro de 2012

Modelagem Ágil: aperfeiçoando a comunicação e a compreensão

Estatísticas alarmantes mostram que os projetos de TI chegam a custar 400% mais que o previsto, realizando apenas 25% dos benefícios prometidos. Embora pesquisas do Standish Group mostrem alguma melhora neste quadro, estamos ainda muito longe do sucesso em projetos de TI.
Podemos classificar o fracasso dos projetos em duas categorias:

  • Técnico:
    • A solução não atende aos requisitos do projeto (escalabilidade, performance, confiabilidade, custo etc.);
    • Devido aos desafios técnicos, prazos são ultrapassados, até que os patrocinadores perdem a confiança e encerram o projeto.
  • Funcional:
    • A equipe não compreende os requisitos fornecidos;
    • Os requisitos fornecidos não são os requisitos corretos.

Parte dos problemas se deve a um pensamento simplista de causa e efeito entre os domínios do problema e da solução. Acredita-se que, compreendido o problema, basta encontrar uma solução.






A Modelagem Ágil é coerente com o Manifesto Ágil e seus princípios. Portanto, é uma prática que pode fazer parte do seu repertório de ferramentas ágeis.







Entretanto, os atuais projetos de TI são maiores em escopo, custo e prazo, além de serem mais complexos, envolvendo muitos sistemas e departamentos de uma ou mais empresas. A compreensão do problema e da solução caminham juntos, ou seja , à medida que são propostas soluções, compreende-se melhor o problema.



Esse processo iterativo de análise nos domínios do problema e da solução é ainda mais complexo do que a visão simplificada anterior, por envolver divers a s partes interessadas com pontos de vista e capacidades de compreensão diferentes.



A figura acima resume as causas de fracasso do ponto de vista funcional mencionadas no início. E o fracasso funcional é uma das grandes causas dos fracassos técnicos. Portanto, as seguintes dimensões são cruciais para o sucesso nos projetos:

  • Compreensão
    • Compreendemos o domínio do problema?
    • Compreendemos o domínio da solução?
    • Compreendemos a transição entre esses dois domínios?
  • Comunicação
    • As partes interessadas são capazes de comunicar os requisitos para aqueles que irão desenvolver a solução?
    • Os membros da equipe que desenvolverá a solução são capazes de comunicar os detalhes da solução entre eles?
    • A equipe de desenvolvimento é capaz de comunicar os desafios e alternativas para as partes interessadas? 

Os ideais básicos do Agile (manifesto , princípios e bom senso) surgiram da necessidade de reforçar as dimensões de compreensão e comunicação.








A figura anterior ilustra o Manifesto Ágil, em que (nunca é demais lembrar):


Indivíduos e interações são mais importantes que processos e ferramentas; 
Responder a mudanças é mais importante que documentação; 
Colaboração com o cliente é mais importante que negociação de contratos; 
Software funcionando é mais importante que seguir um plano.

Embora a modelagem seja uma técnica importante em desenvolvimento de softwarem inclusive em metodologias ágeis, frequentemente é subestimada ou mal entendida. Na luta contra o desenvolvimento centrado em processos burocráticos e contra o desenvolvimento baseado em ferramentas, a modelagem acabou sendo atacada também. Precisamos corrigir essa má impressão.

Um bom começo é definição de modelagem, basicamente, a modelagem é a simplificação da realidade. Não significa utilizar determinada notação, ferramenta ou processo, permite compreender e focar nos aspectos importantes, sem detalhes desnecessários.

Considerando essa definição, podemos avançar e descrever a ideia de modelagem ágil. Isto posto, adotamos uma abordagem ágil usando modelos que nos auxiliam a compreender e comunicar.

Aspectos relevantes de Modelagem Ágil:
  • O processo de modelagem e os modelos suportam comunicação e compreensão;
  • A Modelagem Ágil busca criar modelos simples usando ferramentas simples (adote a simplicidade);
  • O foco é entregar software, não modelos. Modelos devem ser usados quando e onde adicionam valor. Se eles não agregam valor nem nos auxiliam no sentido de entregar software funcionando, então não devem ser utilizados;
  • Modelos devem ser mantidos pelo tempo necessário. Se um modelo serviu ao seu propósito e deixa de ser necessário, jogue fora. Isso permite manter a agilidade sem burocracia. Por outro lado, se seu modelo pode ainda ser útil, guarde ou recicle.
  • A Modelagem Ágil utiliza múltiplos modelos para diferentes perspectivas, níveis de abstração e públicos. Cada modelo é criado a partir de um objetivo e para satisfazer determinado público.
  • A Modelagem Ágil combina modelos formais e informais conforme a situação, público-alvo e objetivos. Por exemplo, um modelo poderia ser composto de formas simples desenhadas a lápis ajudando o essencial de um sistema, ou utilizando diagramas detalhados de classes do UML.


Conclusões
Para valorizar pessoas e suas interações é preciso fortalecer a comunicação. Em vez de investir em novas ferramentas ou adotar processos prescritos, sugerimos uma abordagem diferente, a Modelagem ágil. A utilização de métodos de modelagem facilita a compreensão do problema e da solução, além de melhorar a comunicação entre os stakeholders e resposta a mudanças.


Fonte: INFOQ

quinta-feira, 9 de fevereiro de 2012

Pra que serve o analista de negócios?

Quem já trabalhou em um projeto complexo e demorado de desenvolvimento de software sabe que o envolvimento de um analista de negócios pode significar a diferença entre o sucesso e o fracasso de um projeto.

De um modo geral, a maioria dos analistas de negócio possui os requisitos e a competência como principal linha de conduta em sua apresentação e abordagem. Se você acredita que para que um projeto de software tenha sucesso ou fracasso com base na qualidade dos requisitos, então você também deve acreditar que para esses mesmos projetos a base é ter em seu cenário o analista de negócios.

Todos concordam sobre a importância do papel do analista de negócios, mas poucos sabem exatamente o que eles fazem qual o seu papel. Em síntese: são responsáveis pela comunicação e colaboração entre a área de negócios e a TI, tendo como um de seus principais atributos a responsabilidade de agir como um canal entre as partes e a equipe.

No intuito de entender melhor o mundo dos analistas de negócio, a http://requirementssolutions.com/ realizou uma pesquisa global a fim de identificar quais são as principais atribuições de um analista de negócios e considerando que o tempo integral de um profissional desse gabarito corresponde a um “mix” de atividades apurou que: Gerenciar requisitos (70%), Elaborar casos de uso (55%), Remodelar/redesenhar os processos de negócio (50%) e Desenvolver protótipos/telas da aplicação (40%) fazem parte de um único dia de trabalho, e concluem que, 100% do dia não é suficiente para executar suas principais atividades. (Entrevista realizada com 1700 profissionais)

Muito se enganam os que pensam que nas metodologias ágeis o analista de negócios deixou de existir, na verdade, fundamentalmente as atividades por eles exercidas são mais variadas, ou seja, o quadro de atribuição cresce e ao mesmo tempo diversifica (tema que abordarei em outro post), mas o objetivo crucial desse elemento sempre será melhorar a comunicação entre desenvolvedores, arquitetos de sistemas e participantes do projeto. Tradicionalistas consideram que a atuação de um analista de negócios independe do método (ágil ou tradicional), é imprescindível, e afirmam que sua presença é a garantia do sucesso e no caso de ausência o fracasso do projeto.

Outros estudos comprovam que os melhores analistas de negócio são organizados e grandes comunicadores, têm a capacidade de destilar as informações críticas das partes interessadas do projeto, muitas vezes pelo seu talento nato ou por uma ampla gama de técnicas de abordagem e modelagem do cenário.

Quando comecei a atuar com TI, percebi que o analista de negócios seria a profissão que tornaria esse profissional em um dos mais essenciais de toda uma organização, o único que realmente têm a competência para ver os dois lados sem os vícios peculiares e que cuja meta seria aplicar a tecnologia para apoiar iniciativas de negócios que ajudariam a empresa em aperfeiçoar recursos, aumentar lucros e diminuir os custos operacionais.

Como opinião pessoal, acredito que uma organização possa formar sua área de análise de negócios (inclusive sou líder e formador de um time na entidade que atuo), porém desenvolver as capacidades e as habilidades de um analista de negócios remete a tempo e maturação, não é qualquer um que tem a condição de exercer essa função e apenas com muito treinamento e “ritmo de jogo” que lapidamos esse profissional.

  • Os analistas de negócios devem ser capazes de facilitar a aplicação conjunta de design nas sessões que envolvem grupos compostos de negócios e técnicos. Eles precisam ativamente encorajar as pessoas a contribuir com suas idéias;
  • Precisam fazer o mapeamento do processo, isto é, concentrar as conversas e formatar em um contexto geral a lógica seqüencial das ações e a continuidade operacional das atividades;
  • Aplicar os dados de modelagem para organizá-los e fazer fluir as informações através dos processos de negócios, na verdade, uma modelagem de dados lógica.

Construir a credibilidade

O analista de negócios atua como um rosto do cliente para a equipe de desenvolvimento, ele deve ser suficiente credível à equipe e a mesma deve ter fé absoluta em suas ações.

Após vários anos de carreia atuando em uma fábrica de software, aprendi que a equipe de desenvolvimento deve confiar plenamente no analista de negócios, essa confiança se adquire com a devida transparência, proximidade e coerência.

  • Interagir com desenvolvedores regularmente e manter uma relação direta e sadia, ele deve saber que você esta lá e em qualquer momento pode ser acionado para os devidos esclarecimentos dos requisitos;
  • Compartilhar com a equipe de desenvolvimento e com a área de negócios o contexto de sua atividade/detalhamento realizada, pois essa será sua sustentação “técnica/funcional”, e crédito será percebido quando comprometer ambos os lados no atendimento de seus desejos, necessidades e satisfação de suas expectativas.
  • Pode ser considerado um diferencial, explicar aos times de desenvolvimento e qualidade de software a regra de negócio, e demonstrar seu domínio da informação, essa atitude reflete sua segurança e capacidade de garantir o contexto dos requisitos.
  • Por fim, ser honesto e direto em assumir o desconhecimento de determinado assunto e humilde em solicitar quantas vezes for preciso à devida explanação do tema.

Esse é um tema muito rico e caloroso, a oportunidade que tive de estudar sobre o assunto e dissertar minha opinião reforçam como é bom ser um analista de negócios.

Fonte: http://www.businessanalyst.com/, http://www.agilemodeling.com/ e http://www.cio.com/

quinta-feira, 26 de janeiro de 2012

Perigos da separação entre o QA e a equipe ágil.

Todos ganhanm quando há uma equipe ágil focada no produto e com o mesmo compromisso de entrega de valor de negócio. Ganha principalmente o cliente. Um dos piores males ocorre, entretanto, quando um dos membros não faz parte integral do time. Observamos muitas situações em que o analista de qualidade estava em outra área, separada da equipe de desenvolvimento. E isso acontecia, perigosamente, em muitos projetos.
Conseqüências da separaçãoO problema começava na divisão por área do conhecimento. Outra questão era a aparente separação hierárquica: o analista de qualidade se preocupava mais em aferir e cobrar um processo de qualidade em si do que propriamente entregar, em conjunto com a equipe, um produto de qualidade que atendesse ao cliente.

Da forma que estava sendo feito, o processo de qualidade já interferia por si só em um dos princípios do manifesto ágil, pois desconsiderava as pessoas e a comunicação aberta. Focava, em vez disso, em impor um conjunto de regras e padrões burocráticos, que impediam o progresso produtivo e incremental. Já cheguei a presenciar o analista de qualidade dizendo que o contrato de QA (Quality Assurance) precisava ser seguido, mesmo que isso acontecesse em detrimento de toda a agilidade que a equipe estava realizando.

Essa situação tornou o projeto lento, muito formal e pernicioso para a equipe, causando conflitos incessantes entre o analista de qualidade e todos os demais. E quando se questionava o trabalho do profissional QA, ele respondia apenas que devia seguir o fluxo e o processo adotado.

Onde existem múltiplos "departamentos" trabalhando com objetivos antagônicos, o resultado é uma guerra entre essas divisões, com cada parte buscando ter mais poder que a outra, infelizmente.

A situação se agravava quando o analista de qualidade cobrava do ScrumMaster quanto ao posicionamento dos bugs da aplicação. Chegava a formalizar toda a comunicação por email, com a intenção de se "blindar" de eventuais problemas que surgissem no projeto.
Não é mais saudável, ágil e produtivo termos uma equipe única em prol de um objetivo comum?
Um problema comumMichael Azoff tratou desse assunto em sua revisão dos últimos 10 anos do Agile, onde abordou o que evoluiu e regrediu neste período. Parece, portanto, que não é somente aqui no Brasil que ocorre o problema, e que existem de fato "gargalos" gerados pela separação dos times de QA e de desenvolvimento.

Ron Jeffries também aborda o assunto em seu artigo sobre Quality Assurance, no qual responde a questões de um gerente da área de qualidade sobre como o QA se "encaixa" no Extreme Programming. Jeffries recomenda que o QA se concentre no planejamento e na execução de testes funcionais, apoiando o cliente na homologação das entregas do produto final. Sugere ainda que o gerente de qualidade realize um treinamento e se integre ao time. Com isso, o time fica com um objetivo único: entregar um software que funcione e que satisfaça o cliente.

Enfim, em um cenário ágil, o analista de qualidade poderia cumprir com as seguintes responsabilidades:
• Integrar-se ao time, colaborando na prevenção de possíveis bugs, além de discutir com os desenvolvedores sobre as funcionalidades;
• Validar funcionalmente as histórias de usuários (user stories), baseando-se nas expectativas do usuário e não a simplesmente na totalidade de bugs encontrados;
• Realizar os testes de aceitação do usuário com o Product Owner;
• Descrever os testes de aceitação, a fim de que os desenvolvedores ajudem a automatizá-los;
• Escrever testes automatizados e integrá-los a uma ferramenta de integração contínua;
• Ajudar a definir indicadores de qualidade e assegurar a qualidade do produto.

O que você acha?


segunda-feira, 9 de janeiro de 2012

Scrum Alliance vai fortalecer certificação CSM



A Scrum Alliance está promovendo mudanças para fortalecer a certificação CSM (Certified ScrumMaster). Agora os candidatos terão que ser aprovados no exame e haverá um programa de desenvolvimento profissional para que os profissionais certificados mantenham a certificação.

Atualmente, a certificação CSM da Scrum Alliance é conferida a indivíduos que participam de cursos com duração de dois dias e completam um exame pró-forma (não há reprovação). O processo de certificação será modificado em 2012 para incluir um exame com possibilidade de reprovação e um novo programa de desenvolvimento profissional (com Professional Development Units - PDUs) será implementado até janeiro de 2013, para que os CSMs mantenham suas certificações. CSMs necessitarão obter PDUs para manter suas certificações, abrindo-se a possibilidade para cursos mais avançados de Scrum.

Em um email para os Certified Scrum Trainers, Carol McEwan, diretora da Scrum Alliance, explica que o novo exame estará disponível a partir de 1 de janeiro de 2012. Para os três primeiros meses do ano, todos os candidatos que completarem o exame serão aprovados. A partir de 1 de abril de 2012, os candidatos a CSM terão 60 dias em que poderão realizar até duas tentativas para passar no exame. Caso o candidato precise realizar o teste por uma terceira vez, terá que pagar uma taxa de 25 dólares.

O exame em si será curto, contendo apenas 25 questões, cobrindo conhecimentos gerais de Agile e Scrum, papéis em Scrum, cerimônias e artefatos do Scrum. O candidato poderá fazer o exame online em qualquer localidade (não haverão centros de teste). Ao final do exame, uma lista com as respostas incorretas será mostrada. 

conteúdo e objetivos de aprendizado do CSM, nos quais o teste é baseado, estão disponíveis para download no site da Scrum Alliance.


Fonte: INFOQ

segunda-feira, 2 de janeiro de 2012

Feliz 2012.

Um 2012 repleto de alegrias e boas oportunidades a todos.
Nesse ano muitos posts e grandes temas.

Aquele abraço e muita saúde.

AC