<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8645301107796132245</id><updated>2024-08-30T10:47:42.383-07:00</updated><title type='text'>Analista Sistemas</title><subtitle type='html'>As oportunidades existem. Você só precisa estar preparado. &#xa;&#xa;O Sucesso não é obra do acaso. Ele é o resultado do investimento na pessoa mais importante da sua vida: Você! Estudos indicam que o autoconhecimento sozinho representa aproximadamente 20% do sucesso de uma pessoa. Boa Sorte!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-8707069649699356363</id><published>2011-07-24T06:34:00.001-07:00</published><updated>2011-07-24T06:37:14.425-07:00</updated><title type='text'>Sistemas Legados</title><content type='html'>Objetivo&lt;br /&gt;
Conceiturar sistemas legados, tecnologias atuais para manter sistemas críticos em produção, estendendo o seu ciclo de vida, integrado-os a novos sistemas e tecnologias. E a importância desses sistemas para as organiações, tanto de ponto de vista estratégico quanto do econômico, o desenvovimento de técnicas e tecnologias para a sua integração aos novos sistemas. Um pequeno estudo de caso é apresentado, demostrando uma das abordagens para integração.&lt;br /&gt;
1. INTRODIÇÃO&lt;br /&gt;
Escolher e executar adequadamente processos de desenvolvimento de software, são aspectos fundamentais para desenvolver produtos de software de qualidade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A Engenharia de Requisitos tem surgido para melhorar o processo de desenvolvimento de software em um dos pontos cruciais para a obtenção de um produto de qualidade: a correta elicitação, análise, especificação e validação de requisitos. É de consenso tanto da comunidade acadêmica quanto industrial que um produto de software de qualidade é aquele que é capaz de atender os requisitos funcionais e não-funcionais dos respectivos usuários.&lt;br /&gt;
Assim, verifica-se, que a qualidade de um produto de software é&lt;br /&gt;
fortemente influenciada pela qualidade do processo utilizado. Melhorar o processo de desenvolvimento é um aspecto fundamental para a melhoria da qualidade do produto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fornecer software de qualidade não é apenas uma questão de funcionalidade visual. É necessário atentar para a documentação do mesmo, a facilidade para rastrear e avaliar impactos de mudanças nos requisitos, verificar a satisfação dos requisitos não funcionais, entre outros aspectos críticos. Este sentimento é também expresso em, no qual são identificados os problemas mais comuns em projetos de software como falhas na elicitação e análise de requisitos e impossibilidade completa de manutenção, devido principalmente à falta ou inadequada documentação.&lt;br /&gt;
Estes problemas agravam-se, em muitos casos, desenvolvedores de software, nos quais há a necessidade de atualizar e/ou reconstruir sistemas legados, juntamente com a difícil tarefa de evoluir de metodologias tradicionais tais como abordagem estruturada atuais, como o Processo Unificado. As dificuldades neste processo são inúmeras. É importante considerar todas as informações úteis e que possam ser aproveitadas a partir da documentação existente do sistema legado. Um conjunto de diretrizes que visam facilitar o processo de transição em sistemas legados, que permitem mapear importantes informações em Diagramas de Fluxos de dados (DFDs) para Casos de uso em UML.&lt;br /&gt;
Desta forma, inicialmente, os principais processos e metodos de desenvolvimento de software existentes atualmente. Propõe-se um conjunto de evolução natural que muitas empresas se defrontam em relação à transição do uso de métodos tradicionais estruturados para o uso de metodos e processos orientados a objetos. É apresentando um conjunto de diretrizes para auxiliar engenheiros de requisitos na transição do uso de metodos. &lt;br /&gt;
2. Desenvolvimento de Sistemas&lt;br /&gt;
Independente do metodo escolhida para a construção de um produto de software, a mesma deve possuir uma semântica bem-definida, de modo que, qualquer outro desenvolvedor possa interpretar e ser capaz de entender os propósitos do sistema sem ambigüidades.&lt;br /&gt;
Deve também propiciar e nortear o desenvolvimento de forma que o&lt;br /&gt;
produto final de software possua características fundamentais relacionadas a&lt;br /&gt;
qualidade do produto em si.&lt;br /&gt;
Ao definirmos os termos da abordagem de cada um, sem contar que a experiência do analista é fator primordial para o sucesso de qualquer análise. Muitas suposições são feitas quando tratamos a respeito de seus benefícios e vantagens em relação a outras já existentes. O que se observa na prática, é uma constante evolução decorrente de experiências pessoais de um grupo de pessoas. Essa evolução tem levado a criação de abordagens de desenvolvimento de software mais eficientes, bem definidas e preocupadas em integrar efetivamente com os usuários no processo de desenvolvimento de software, e de forma mais critica, no processo de engenharia de requisitos. Busca-se também desenvolver softwares mais coesos, de fácil gerenciamento, passíveis de certificação e com um custo menor.&lt;br /&gt;
&lt;br /&gt;
3. O Processo de Transição em Sistemas Legados&lt;br /&gt;
Muitas são as contribuições relacionadas a atualização de sistemas legados em relação a uma nova metodologia. &lt;br /&gt;
Sistemas legados possuem lógica de programação, decisões de projeto,&lt;br /&gt;
requisitos de usuário e regras de negócio, que podem ser recuperados, facilitando sua reconstrução, sem perda da semântica. Assim, abandoná-los e começar o projeto do zero seria uma perda considerável.&lt;br /&gt;
Nas próximas seções apontaremos decisivas para realizar a transição, visando melhorar / atualizar os sistemas legados.&lt;br /&gt;
&lt;br /&gt;
3.1 Treinamento de Pessoal&lt;br /&gt;
Este treinamento requer que a equipe que irá realizar esta difícil tarefa, tenha algumas qualidades que julgamos serem essenciais:&lt;br /&gt;
a) Conhecimento da nova metodologia( RUP, na maioria dos casos);&lt;br /&gt;
b) Conhecimento de ferramentas CASE que facilitem o trabalho de migração;&lt;br /&gt;
c) Excelente ambiente de trabalho, não só em relação ao grau de relacionamento do grupo como também em relação a um local apropriado para o desenvolvimento do trabalho, sem precisar dividir o ambiente de trabalho com várias pessoas de setores diferentes, por exemplo.&lt;br /&gt;
Estas qualidades são fundamentais para que o processo de migração seja mais efetivo e produtivo.&lt;br /&gt;
&lt;br /&gt;
3.2 Organização da Base de Informações&lt;br /&gt;
A organização da base de informações é decisiva para facilitar a engenharia reversa de um sistema legado utilizanda. As seguintes situações podem ser observadas:&lt;br /&gt;
a) Um sistema sem documentação neste caso, estão disponíveis apenas as informações do código fonte do sistema;&lt;br /&gt;
b) Um sistema com documentação atualizada Neste caso, documentação em ordem, o processo é facilitado, uma vez que podemos verificar a análise efetuada anteriormente e as atualizações que se tornaram necessárias com o passar dos anos. Temos um histórico completo do sistema, simplificando a organização.&lt;br /&gt;
&lt;br /&gt;
c) Um sistema com uma documentação não atualizada Nesta situação bastante comum, as equipes mal tiveram tempo de realizar as atualizações nos códigos fontes do sistema. Normalmente, as equipes que trabalham no sistema não foram as mesmas que o desenvolveram.&lt;br /&gt;
As situações acima, devemos ter em mente que a equipe que irá realizar a tarefa de evolução de sistemas legados, não será a mesma que o desenvolveu. Assim, precisamos nos basear em alguns pontos cruciais para o desenvolvimento do projeto, conforme segue:&lt;br /&gt;
Deve-se integrar efetivamente, o usuário/cliente no processo de desenvolvimento.&lt;br /&gt;
A integração e interação constante de usuário/cliente durante todo o processo de transição do uso e modificando e reconstruindo sistemas legados&lt;br /&gt;
é ponto decisivo para o sucesso do processo.&lt;br /&gt;
Deve-se considerar efetivamente os requisitos que o sistema deve atender (ou&lt;br /&gt;
requisitos verdadeiros). Os requisitos do sistema são o que o sistema produz ou emite em forma de relatórios e consultas visuais em tela para os respectivos&lt;br /&gt;
usuários. O que o sistema produz justifica a sua existência e a sua essência.&lt;br /&gt;
Preocupar-se com a satisfação dos requisitos de clientes e usuários é uma questão chave no processo de transição adotado.&lt;br /&gt;
Para compreendermos melhor este processo, tomemos como base os três tipos diferentes de situações apresentadas em relação a sistemas legados (baseados na documentação existente) e suas respectivas ações a serem desenvolvido.&lt;br /&gt;
&lt;br /&gt;
A transição da Análise essencial ou estruturada Orientada a Objetos, como RUP. Cabe ressaltar que os metodos orientadas a objetos consideram os casos de uso como elementos chaves e essenciais no processo de desenvolvimento.&lt;br /&gt;
&lt;br /&gt;
Sistemas Legados, Situação da Documentação, Inexistente Precária, Atualizada Análise Estruturada/Análise Essencial Implementado na Análise Estruturada Fases:&lt;br /&gt;
1 Realizar a Conversão de DFDs em Casos de Uso;&lt;br /&gt;
2 Analisar E/S do Sistema;&lt;br /&gt;
3 Validar com os Stakeholders as E/S;&lt;br /&gt;
4 Organizar Casos de Uso.&lt;br /&gt;
Implementados na Análise Essencial Fases:&lt;br /&gt;
1- Analisar código fonte do Sistema;&lt;br /&gt;
2- Analisar E/S do Sistema;&lt;br /&gt;
3- Validar com os Stakeholders as E/S;&lt;br /&gt;
Fases:&lt;br /&gt;
&lt;br /&gt;
1 Atualizar DFDs - Analisar DFDs existentes e compará-los com a análise efetuada no código fonte;&lt;br /&gt;
2 Realizar a Conversão de DFDs em Casos de Uso;&lt;br /&gt;
3 Analisar E/S do Sistema;&lt;br /&gt;
4 Validar com os Stakeholders as E/S;&lt;br /&gt;
5 Organizar Casos de Uso &lt;br /&gt;
Fases:&lt;br /&gt;
1 Analisar Diagrama de Contexto;&lt;br /&gt;
2 Realizar a Conversão de DFDs em Casos de Uso;&lt;br /&gt;
3 Analisar E/S do Sistema;&lt;br /&gt;
4 Validar Stakeholders apontados na Fase 1 e as E/S apontadas na Fase 3.&lt;br /&gt;
5 Organizar Casos de Uso.&lt;br /&gt;
Passos a serem seguidos na realização de engenharia reversa em sistemas legados.&lt;br /&gt;
&lt;br /&gt;
Na análises e comparações a serem efetuadas em sistemas legados considerando a documentação existente.&lt;br /&gt;
Relatos apontam para o consenso de que a análise do código fonte e sua organização, auxilia o engenheiro de software a remodelar o sistema sob o enfoque orientado a objetos. Contudo, pouca atenção se dá as outras possibilidades de uso de informações, como por exemplo, o mapeamento de modelos e diagramas que representam, tipicamente, os aspectos essenciais de um sistema. Desta forma, pode-se enriquecer a coleta de informações&lt;br /&gt;
necessária a atualização/reconstrução de sistemas legados. podem efetivamente ser mapeados para casos de uso em UML, facilitando o trabalho de transição.&lt;br /&gt;
A seguir apresentamos um conjunto de diretrizes que permitem mapear Diagramas de Fluxos de Dados para casos de uso em UML. As diretrizes a serem propostas podem ser aplicadas para mapear elementos de metodologias tradicionais (Estruturada ou Essencial), para o Processo Unificado, uma vez que nosso principal enfoque será obter os casos de uso referentes ao sistema, os quais são elementos chaves nos dois processos orientados a objetos.&lt;br /&gt;
&lt;br /&gt;
3.3 Mapeando elementos de Diagramas de Fluxos de Dados para Casos de Uso em UML. Um dos maiores problemas atuais no desenvolvimento de software está relacionado ao processo de transição. Atualmente, muitas organizações são&lt;br /&gt;
obrigadas a mudar seus sistemas computacionais utilizando novas abordagens de&lt;br /&gt;
desenvolvimento, as quais apresentam algumas vantagens tais como: maior flexibilidade, suporte automatizado para todo o processo de desenvolvimento, etapas e artefatos bem definidos, bem como possibilidade de uso efetivo do paradigma orientado a objetos. Contudo, na maioria das situações, existem informações importantes nos sistemas legados que devem ser mapeadas para novos artefatos gerados no uso de novas metodologias.&lt;br /&gt;
Neste contexto, verificamos que tipicamente Diagramas de Fluxos de Dados&lt;br /&gt;
desenvolvidos utilizando metodologias tradicionais precisam ser mapeados de forma mais efetiva e sistemática para a técnica de casos de uso. É importante ressaltar que casos de uso fazem parte da UML e são considerados essenciais na maioria dos processos de desenvolvimento orientados a objetos atualmente utilizados.&lt;br /&gt;
Não é correto assumir que apenas o código fonte em sistemas legados é suficiente para elicitar e documentar todos os requisitos essenciais de sistemas computacionais objetos de transição e evolução. É necessário atentar para toda documentação disponível que possa auxiliar na transição e evolução de sistemas de software.&lt;br /&gt;
O foco das diretrizes está no mapeamento de Diagramas de Fluxos de Dados&lt;br /&gt;
para Casos de Uso em UML. Após a descrição das diretrizes, apresentamos uma&lt;br /&gt;
tabela que mostra a aplicabilidade das diretrizes para cada situação, tomando como base a documentação disponível dos sistemas legados.&lt;br /&gt;
Estas diretrizes são dependentes exclusivamente da situação documental disponível, podendo ser aplicadas, dependendo da situação da&lt;br /&gt;
documentação do software legado. Situação da Documentação Existente Diretrizes a serem implementadas &lt;br /&gt;
Uso das diretrizes propostas de acordo com a situação documental disponível.&lt;br /&gt;
&lt;br /&gt;
a) A Análise do Diagrama de Contexto - Esta diretriz tem por objetivo relacionar as entidades externas como prováveis atores do sistema legados. Nessa diretriz todas as entidades externas serão relacionadas como possíveis atores do sistema. A análise do diagrama de contexto.&lt;br /&gt;
b) Conversão do Diagrama de Fluxo de Dados para Diagrama de&lt;br /&gt;
Casos de Uso &lt;br /&gt;
b.1) Para cada nível do sistema legado será elaborado um Caso de Uso, como &lt;br /&gt;
b.2) Analisar a especificação do processo. Caso não possua Entidade Externa, ele é o resultado de um outro processo anterior que o originou. Neste caso, deve ser definido apenas como um Entidades Externas que serão prováveis&lt;br /&gt;
atores do sistema:&lt;br /&gt;
- Cliente&lt;br /&gt;
- Atendente&lt;br /&gt;
- Gerente&lt;br /&gt;
&lt;br /&gt;
Sistema de Controle de Locadora Cliente Atendente Gerente Fluxos de entrada/saída são mapeados para especificação do caso de uso pré e póscondições Entidade Externa é mapeada para ator no diagrama de casos de uso O processo, é mapeado para Caso de uso e o Português estruturado deste processo é mapeado para a especificação do caso de uso do tipo &lt;&gt; ou &lt;&gt; , o qual será chamado em outro caso de uso. Devemos ter o cuidado de validá-lo com o DFD que o chamou, e assim incluí-lo no processo de conversão&lt;br /&gt;
3). Normalmente, a especificação do processo indica quais são os passos necessários para se atingir um determinado objetivo. Deste modo, pode-se a partir da especificação do processo analisado já incluir no caso de uso correspondente as colaborações e generalizações indicadas. A Conversão para caso de uso especial. Análise e conversão da especificação do processo Validar Cliente.&lt;br /&gt;
&lt;br /&gt;
Fonte: Código do Português Estruturado.&lt;br /&gt;
&lt;br /&gt;
b.3) Analisar os fluxos de entrada e saída, bem como a especificação do processo. Este passo é importante para validar os depósitos de dados identificados&lt;br /&gt;
4) O caso de uso Validar Cliente é descrito com base nas informações contidas na especificação do processo. Definimos o objetivo do caso de uso analisado, sua prioridade, indicando se sua execução é essencial ao sistema, as pré-condições existentes para sua execução, as pós-condições após a sua execução e o cenário principal juntamente com os fluxos secundários, indicando alternativas de execução. Descreve-se também os caso de uso pai e subordinados, os quais são detectados no decorrer da conversão.&lt;br /&gt;
No passo 1 do cenário principal (O caso de uso inicia Quando DeptVendas requer avalidação do cliente) devemos indicar o responsável pela execução do mesmo.&lt;br /&gt;
Apesar da especificação do processo não indicar o ator, possui como&lt;br /&gt;
Entidade Externa o DeptVendas, logo, ele é incluído como ator do Caso de Uso. Criar cliente Novo outros passos é realizada uma referência a especificação do processo, como por exemplo, em Se cliente encontrado, que foi representado pelo &lt;br /&gt;
passo 2 O sistema verifica a existência do cliente. Os fluxos de exceção são tratados pelos casos de uso secundários (include ou extend), associados ao caso de uso principal Validar Cliente. Caso de Uso Validar Cliente Objetivo Este caso de uso descreve o procedimento para que um cliente seja validado de acordo com sua situação decorrente do crédito Prioridade ( x )Essencial ( ) Secundário Pré-Condições Dados do cliente e Pedido do cliente incluído. Pós-Condições Pedido do Cliente Processado. Cenário Principal&lt;br /&gt;
1. O caso de uso inicia Quando DeptVendas requer a validação do cliente;&lt;br /&gt;
2. O sistema verifica existência do cliente (caso de uso checar cliente é incluído);&lt;br /&gt;
3. O sistema verifica o crédito do cliente (caso de uso checar crédito é incluído);&lt;br /&gt;
4. O sistema reune todos os pedidos do cliente (caso de uso reunir pedidos é incluído);&lt;br /&gt;
5. O sistema cadastra todos os pedidos do cliente (caso de uso criar pedido cliente é incluído).&lt;br /&gt;
Fluxos Secundários Caso de Uso Pai Caso de Uso Subordinado Checar cliente Checar crédito Reunir pedidos Criar pedido Tabela 4. Especificação do Caso de Uso.&lt;br /&gt;
&lt;br /&gt;
c) Organização das Entradas e Saídas do Sistema esta diretriz tem por objetivo relacionar e validar as entradas e saídas do sistema. Este passo requer o auxílio da equipe ou responsável pela manutenção do sistema, que indicará para cada entrada (em tela) e saída (relatório existente) o usuário responsável pela informação.&lt;br /&gt;
Deste modo, o engenheiro de software terá uma relação de todos os atores (stakeholders) que são afetados. &lt;br /&gt;
d) Validação dos Stakeholders esta diretriz tem por objetivo validar os&lt;br /&gt;
stakeholders apontados. Deste modo, o engenheiro de software deve&lt;br /&gt;
comparar com os atores já identificados e realizar as alterações&lt;br /&gt;
necessárias nos casos de uso identificados.&lt;br /&gt;
e) Organizar Casos de Uso esta diretriz tem por objetivo organizar os diagramas de caso de uso de acordo com as notações propostas pela UML. Casos de uso devem ser agrupados em pacotes ou pela especificação de relacionamentos de generalização, inclusão e extensão, existentes entre os mesmos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Principais Dificuldades Presentes no Processo de Transição&lt;br /&gt;
&lt;br /&gt;
A experiência já ditava regras desde a Análise Estruturada, uma vez que apenas os analistas experientes tinham conhecimento para discernir o lógico do físico, pois os poucos que conseguiam aprender a fazer esta distinção, não tinham sucesso em passar esta aptidão aos colegas.&lt;br /&gt;
Na prática, o que verificamos é que, com pouquíssimas exceções, as pessoas não&lt;br /&gt;
conseguem aprender uma nova metodologia de desenvolvimento com tanta facilidade.&lt;br /&gt;
&lt;br /&gt;
Para muitos analistas, uso do RUP envolve diversas dificuldades técnicas e de origem pessoal. A realidade de nossas empresas, tanto privadas, quanto estatais ou do governo, como é o caso do Exército Brasileiro, está começando a mudar. A experiência de um dos autores do presente artigo no Exército Brasileiro mostra que grupos de desenvolvimento de sistemas de Brasília, Capital Federal, se encontram num dilema entre a transição, pois ainda utilizam a Análise Estruturada.&lt;br /&gt;
A transição tem se mostrado lenta e gradual buscando um só objetivo: o desenvolvimento e migração de sistemas existentes e a desenvolver. São fruto da experiência de desenvolvimento dos autores, bem como das dificuldades encontradas no âmbito da análise de sistemas do Exército Brasileiro.&lt;br /&gt;
&lt;br /&gt;
5. Considerações Finais e Trabalhos Futuros&lt;br /&gt;
Apresentamos, inicialmente, um relato das principais de desenvolvimento de sistemas existentes, buscando facilitar o estudo dos fatores envolvidos no processo de migração de projetos elaborados através da Análise Estruturada ou a Análise Essencial para projetos elaborados utilizando processos Orientadas a Objeto.&lt;br /&gt;
&lt;br /&gt;
Com base neste estudo, propomos um conjunto para auxiliar&lt;br /&gt;
engenheiros de software/requisitos no processo de transição entre metodologias&lt;br /&gt;
tradicionais e orientadas a objetos. Basicamente, propõe-se de forma sistemática,&lt;br /&gt;
mapear as informações existentes na documentação do processo tradicional para o processo de desenvolvimento orientado a objetos. Apoiamo-nos no fato de que as informações presentes que podem auxiliar o processo de construção e descrição de casos de uso em UML. Defende-se a idéia de que as diretrizes propostas devem ser aplicadas de acordo com a documentação disponível em relação aos sistemas legados sendo tratados.&lt;br /&gt;
&lt;br /&gt;
Verificamos neste trabalho que o processo de transição de abordagens de&lt;br /&gt;
desenvolvimento tradicionais para as utilizadas na orientação a objetos implica,&lt;br /&gt;
inicialmente, em uma mudança de cultura bastante complexa dentro da empresa.&lt;br /&gt;
Consideramos também que outros aspectos importantes tais como rastreamento de requisitos, modelagem organizacional e tratamento de requisitos não-funcionais, não considerados na análise estruturada e essencial de sistemas, devem ser inseridos gradualmente na equipe de desenvolvimento aumentando progressivamente o grau de maturidade dessas organizações.&lt;br /&gt;
&lt;br /&gt;
a) Associar a modelagem organizacional com a modelagem funcional da empresa&lt;br /&gt;
com base na documentação existente dos sistemas legados;&lt;br /&gt;
b) Desenvolver uma ferramenta que suporte a conversão do DFDs para Casos de Uso usando as propostas, pois como já mencionamos, a técnica de&lt;br /&gt;
casos de uso é chave na UML, bem como nos principais processos de&lt;br /&gt;
desenvolvimento Orientado a Objetos.&lt;br /&gt;
6. Conclusão&lt;br /&gt;
Sistema legado é o termo utilizado em referência aos sistemas computacionais de uma organização que, apesar de serem bastante antigos, fornecem serviços essenciais. Geralmente utilizam bancos de dados obsoletos.&lt;br /&gt;
Normalmente são aplicações complexas, de difícil manutenção e que pelo grau de criticidade e custo para modernização, continuam ativas.&lt;br /&gt;
Por falta de documentação e com a saída do pessoal técnico que participou originalmente no seu desenvolvimento os sistemas legados podem apresentar problemas como: dificuldade de compreensão das regras de negócio neles implementadas, desconhecimento das razões que levaram a determinadas decisões, problemas na estruturação dos módulos de código, miscelânea de estilos de programação, obsolescência das ferramentas de desenvolvimento e impossibilidade de eaproveitamento dos equipamentos nos quais são executados para execução de softwares mais atuais.&lt;br /&gt;
&lt;br /&gt;
7. Referências Bibliográficas&lt;br /&gt;
Filho, T. L. Metodologia de Desenvolvimento de Sistemas , Axcel Books, Rio de Janeiro,2003.&lt;br /&gt;
Scott, Kendall. O Processo Unificado Explicado . Bookman,, Porto Alegre,2003&lt;br /&gt;
Chung, L.; Nixon, B.; Yu,Eric;Mylopoulos,John. Non-Functional requirements in Software engineering , USA: Kluwer Academic Publishers, 2000,439p.&lt;br /&gt;
Booch, G.; Rumbaugh, J., Jacobson, I. The Unified Modeling Language, Addison- Wesley,1999.&lt;br /&gt;
Shlaer,S.; Mellor,S. Análise de Sistemas Orientada para Objetos , Makron Books, São Paulo,1990. Gane, C.; Sarson,Trish. Structured Systems Analysis , New York, Improved System Technologies, 1977. Jacobson, I.; Booch, G.; Rumbaugh, J. The Unified Software Development Process , Addison-Wesley (1999).&lt;br /&gt;
D Souza, D. and A.Wills. Objects, Components and Frameworks with UML: The&lt;br /&gt;
Catalysis Approach , USA: Addison-Wesley, (1995). ISO International Standard Organization. ISSO 9000 Quality Management system. 1.ed.&lt;br /&gt;
Geneva: ISSO 2000. McMenamin, S.; Palmer,J. F. Análise Essencial de Sistemas, Makron Books, São Paulo,1984. Toranzo, Marco A., Uma Proposta para Melhorar o Rastreamento de Requisitos de Software , Centro de Informática, Universidade Federal de Pernambuco, Tese de Doutorado, Dezembro, (2002).&lt;br /&gt;
Fukuda, A. P. Refinamento Automático de sistemas Orientados a Objetos Distruidos São Carlos/SP, 2000. Dissertação de Mestrado. Universidade Federal de São Carlos Fontanete,V. et al. Reengenharia de Sistemas Legados Baseada em Componentes usando Transformações . São Carlos/SP,2003. Artigo. Universidade Federal de São Carlos. Jesus,E.S. Engenharia Reversa de Sistemas Legados Usando Transformações . São Carlos/SP, 2002, Dissertação de Mestrado, Universidade Federal de São Carlos. Werner, C.M.L.; Braga, R. M.M. Desenvolvimento Baseado em Componentes . XIV Simpósio Brasileiro de Engenharia de Software SBES2000 Minicursos e Tutoriais pg. 297- 329 2-6 de Outubro, 2000. Jesus, E. S. Engenharia Reversa de Sistemas Legados Usando Transformações , 2000 - Dissertação de Mestrado, Ciências da Computação, UFSCAR. Chikofsky, E. Reverse Engineering and Design Recovery A Taxonomy . IEEE Software Santander, Victor F.A. Integração de Modelagem Organizacional com Modelagem Funcional na Engenharia de Requisitos . Centro de Informática, Universidade Federal de Pernambuco, Tese de Doutorado, Dezembro, (2003).</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/8707069649699356363/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/sistemas-legados.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/8707069649699356363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/8707069649699356363'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/sistemas-legados.html' title='Sistemas Legados'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-3276525440605465641</id><published>2011-07-24T06:32:00.003-07:00</published><updated>2011-07-24T06:32:41.732-07:00</updated><title type='text'>Cartilha de Segurança para Internet</title><content type='html'>A Cartilha de Segurança para Internet contém recomendações e dicas sobre como o usuário pode aumentar a sua segurança na Internet. O documento apresenta o significado de diversos termos e conceitos utilizados na Internet e fornece uma série de procedimentos que visam melhorar a segurança de um computador. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://cartilha.cert.br/download/cartilha-seguranca-internet.pdf&quot;&gt;clique aqui para baixar a cartilha completa&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/3276525440605465641/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/cartilha-de-seguranca-para-internet.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/3276525440605465641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/3276525440605465641'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/cartilha-de-seguranca-para-internet.html' title='Cartilha de Segurança para Internet'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-6493533414089661172</id><published>2011-07-24T06:32:00.001-07:00</published><updated>2011-07-24T06:32:17.127-07:00</updated><title type='text'>Ética na Internet ou Internet com Ética?</title><content type='html'>Não precisamos ser gurus para perceber que o mundo está passando por uma quarta onda de transformações. É cada vez mais repetitivo dizer que estamos vivendo a era da revolução da informação, lastreada na tecnologia disponível, que elimina as barreiras da distância relacionada à língua e à cultura e nos conduz a novos processos de produção, a novas formas de diversão, a um novo modo de viver e pensar, agir e interagir.&lt;br /&gt;
&lt;br /&gt;
Mas, quanto mais veloz e voraz é o avanço tecnológico, maior é o abismo que separa o mundo tecnologicamente &quot;in&quot; do mundo tecnologicamente &quot;out&quot;.&lt;br /&gt;
&lt;br /&gt;
Conseqüentemente, estas transformações na escola estão relacionadas aos alunos de hoje, que já não são iguais aos de ontem, principalmente no que se refere aos comportamentos ético e disciplinar. Não adianta nos lamentarmos diante disso, pois tal fato é conseqüência de que os pais também não são iguais aos de antigamente; as cidades mudaram, os valores humanos, enfim, o mundo todo mudou. As transformações dos últimos quinze anos foram muito mais significativas do que as ocorridas de 1900 a 1990.&lt;br /&gt;
&lt;br /&gt;
As principais mudanças mundiais, entretanto, concentram-se nas formas de comunicação, especialmente em razão do avanço da informática e dos meios eletrônicos. Os diálogos entre amigos, que até a década de 1970 ocorriam pessoalmente, no final do século XX passaram a acontecer por telefone e hoje se dão pelo computador.&lt;br /&gt;
&lt;br /&gt;
Seguindo o “velho conselho” de um sábio pensador, vale lembrar que “Há coisas que pensamos, mas não dizemos; e outras que dizemos, mas não escrevemos, sob pena de nos arrependermos”.&lt;br /&gt;
&lt;br /&gt;
Entretanto, sem levar em conta a lição acima, as conversas de hoje são registradas. As comunidades Orkut, os e-mails, torpedos via telefone celular e os bate-papos virtuais imperam entre os jovens. Temos nos deparado com diversos relatos de abusos no uso dessas formas de comunicação.&lt;br /&gt;
&lt;br /&gt;
Pensamos que o grande desafio é conscientizar as crianças e adolescentes, de que alguns comportamentos na utilização dos meios eletrônicos são “atos infracionais” e devem ser restringidos.&lt;br /&gt;
&lt;br /&gt;
É importante que todos saibam que suas comunicações virtuais não lhes garantem o anonimato, como muitos parecem acreditar. É fundamental que tenham a informação de que não podem ofender as pessoas impunemente, nem imputar conduta imoral ou desonrosa a alguém, sob pena de responderem por tais atos. Mesmo sendo menores de idade, na medida em que cometam “crimes”, podem ser responsabilizados em consonância com o Estatuto da Criança e do Adolescente. Essa lei oferece vários direitos à criança (menor de 12 anos) e ao adolescente (menor entre 12 e 18 anos), mas é preciso alertá-los de que ela também pune.&lt;br /&gt;
&lt;br /&gt;
É oportuno destacar que os “atos infracionais” podem gerar punições, especialmente aos adolescentes, que são as seguintes: I - advertência; II - obrigação de reparar o dano; III - prestação de serviços à comunidade; IV - liberdade assistida; V - inserção em regime de semiliberdade; e VI - internação em reformatórios (estabelecimento correcional privado).&lt;br /&gt;
&lt;br /&gt;
É de extrema importância saber que se pode estar cometendo crimes de injúria, calúnia ou difamação. Como reforço, devemos mencionar que ao “ofendido” é possível pedir que o Judiciário faça a identificação do autor, pois ele que não conta com o anonimato. O autor das mensagens deve pensar mais antes de escrevê-las, pois poderá responder legalmente pelos seus atos.&lt;br /&gt;
&lt;br /&gt;
Para tanto, sugerimos que todos reflitam sobre o que é ética e se conscientizem de que a boa convivência na Internet depende de uma série de regras conhecidas como netiqueta ou etiqueta na rede. As regras incluídas na netiqueta não foram definidas por uma autoridade no assunto, mas criadas pelos próprios usuários ao longo do tempo. Também não existe um texto único e definitivo sobre o tema, mas várias interpretações espalhadas pela rede.&lt;br /&gt;
&lt;br /&gt;
Diante disso temos que fazer uma pergunta para nos mesmos, Eu sei o que é ética?&lt;br /&gt;
&lt;br /&gt;
Segundo o Dicionário Aurélio Buarque de Holanda, ÉTICA é &quot;o estudo dos juízos de apreciação que se referem à conduta humana susceptível de qualificação do ponto de vista do bem e do mal, seja relativamente a determinada sociedade, seja de modo absoluto”.&lt;br /&gt;
&lt;br /&gt;
Alguns diferenciam ética e moral de vários modos:&lt;br /&gt;
&lt;br /&gt;
1. Ética é princípio, moral são aspectos de condutas específicas;&lt;br /&gt;
2. Ética é permanente, moral é temporal;&lt;br /&gt;
3. Ética é universal, moral é cultural;&lt;br /&gt;
4. Ética é regra, moral é conduta da regra;&lt;br /&gt;
5. Ética é teoria, moral é prática. &lt;br /&gt;
&lt;br /&gt;
Etimologicamente falando, ética vem do grego &quot;ethos&quot;, e tem seu correlato no latim &quot;morale&quot;, com o mesmo significado: Conduta, ou relativo aos costumes. Podemos concluir que etimologicamente ética e moral são palavras sinônimas.&lt;br /&gt;
&lt;br /&gt;
Leia os Dez Mandamentos da Ética na Internet&lt;br /&gt;
&lt;br /&gt;
* Não use o computador para prejudicar as pessoas.&lt;br /&gt;
* Não interfira no trabalho de outras pessoas.&lt;br /&gt;
* Não altere arquivos alheios.&lt;br /&gt;
* Não use o computador para roubar.&lt;br /&gt;
* Não use o computador para obter falsos testemunhos.&lt;br /&gt;
* Não use nem copie softwares pelos quais você não pagou.&lt;br /&gt;
* Não use os recursos de computadores alheios sem pedir permissão.&lt;br /&gt;
* Não se aproprie de idéias que não são suas.&lt;br /&gt;
* Pense nas conseqüências sociais causadas pelo que você escreve.&lt;br /&gt;
* Use o computador de modo que demonstre consideração e respeito. &lt;br /&gt;
&lt;br /&gt;
E concluindo nosso papo, acredito que poderíamos refletir de novo.&lt;br /&gt;
&lt;br /&gt;
Afinal, o que é ética?&lt;br /&gt;
ÉTICA. é algo que todos precisam ter.&lt;br /&gt;
Alguns dizem que têm.&lt;br /&gt;
Poucos levam a sério.&lt;br /&gt;
Mas temos que nos conscientizar de que ela é essencial para nossa sobrevivência social.</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/6493533414089661172/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/etica-na-internet-ou-internet-com-etica.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/6493533414089661172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/6493533414089661172'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/etica-na-internet-ou-internet-com-etica.html' title='Ética na Internet ou Internet com Ética?'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-1986876965411773266</id><published>2011-07-24T06:31:00.003-07:00</published><updated>2011-07-24T06:31:43.962-07:00</updated><title type='text'>Os 10 mandamentos de Ética da Internet</title><content type='html'>&lt;b&gt;&lt;i&gt;1. Não deverá utilizar o computador para prejudicar terceiros;&lt;br /&gt;
&lt;br /&gt;
2. Não deverá interferir com o trabalho informático de terceiros;&lt;br /&gt;
&lt;br /&gt;
3. Não deverá vasculhar os ficheiros informáticos de terceiros;&lt;br /&gt;
&lt;br /&gt;
4. Não deverá utilizar o computador para roubar;&lt;br /&gt;
&lt;br /&gt;
5. Não deverá utilizar o computador para prestar falsos testemunhos;&lt;br /&gt;
&lt;br /&gt;
6. Não deverá utilizar ou copiar software pelo o qual não pagou;&lt;br /&gt;
&lt;br /&gt;
7. Não deverá utilizar recursos informáticos de terceiros sem autorização;&lt;br /&gt;
&lt;br /&gt;
8. Não deverá apropriar-se do trabalho intelectual de terceiros;&lt;br /&gt;
&lt;br /&gt;
9. Deverá pensar nas consequências sociais daquilo que escreve;&lt;br /&gt;
&lt;br /&gt;
10. Deverá utilizar o computador com respeito e consideração por terceiros&lt;/i&gt;&lt;/b&gt;</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/1986876965411773266/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/os-10-mandamentos-de-etica-da-internet.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/1986876965411773266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/1986876965411773266'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/os-10-mandamentos-de-etica-da-internet.html' title='Os 10 mandamentos de Ética da Internet'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-4940501721202209206</id><published>2011-07-24T06:31:00.001-07:00</published><updated>2011-07-24T06:31:17.425-07:00</updated><title type='text'>SCRUM metodologia ágil</title><content type='html'>Scrum, Metodologia ágil e práticas do XP, como pair programming&lt;br /&gt;
Das muitas definições sobre agilidade que podemos encontrar em livros, revistas e na internet, uma das que mais gosto é: &quot;Agilidade é a habilidade de criar e responder a mudanças com respeito ao resultado financeiro do projeto em um turbulento ambiente de negócios. Agilidade é a habilidade de balancear flexibilidade com estabilidade&quot;. (Highsmith, Jim. Agile Project Management, 2002)&lt;br /&gt;
Agilidade é uma proposta de desenvolver projetos com uma estrutura e organização &quot;suficientes&quot;. Muita estrutura e organização reduz a criatividade e a flexibilidade de suportar mudanças, pouca estrutura e organização permeia a ineficiência e resulta em esforços maiores que os necessários.&lt;br /&gt;
A diferença entre caos e agilidade pode ser verificada nos produtos resultantes. Considerando o mesmo cenário turbulento de negócios, nas equipes que convivem com o caos verificamos atrasos constantes, baixíssima qualidade dos sistemas, problemas com estimativas e estouro de orçamento. Nas equipes que utilizam-se de métodos ágeis percebemos entregas parciais constantes, interação com clientes para revisão de estimativas e orçamento conjuntamente com antecedência salutar ao projeto e principalmente dois pontos fundamentais: compromisso com a satisfação do cliente e responsabilidade com o resultado financeiro do projeto. &lt;br /&gt;
Empresas procuram métodos ágeis&lt;br /&gt;
As metodologias ágeis estão disponíveis desde a década passada, porém foi no ano de 2001 que houve a formalização com a assinatura do manifesto ágil.&lt;br /&gt;
Inicialmente houve uma desconfiança geral por parte da indústria de software, certamente impulsionada pelas diferenças aos métodos tradicionais e as questões das dificuldades de quebra de paradigmas por parte das pessoas. Nesta época tornou-se bastante famosa a metodologia XP (eXtreme Programming), pois propunha sem hipocrisia uma série de métodos polêmicos, muitos deles questionáveis até hoje como por exemplo a programação em pares e o cliente ao lado do desenvolvedor durante o projeto. &lt;br /&gt;
Lentamente, a indústria de software, impulsionada pela necessidade de obter resultados diferentes dos obtidos pelos métodos tradicionais, verificou que pessoas válidas estavam propondo métodos sérios e factíveis. Desta forma, determinadas práticas ágeis começaram a ser utilizadas em projetos de software sem a agressividade pela adoção plena de uma metodologia ágil. &lt;br /&gt;
Alguns destes métodos, compreendidos de forma inadequada, causavam uma dificuldade de percepção dos resultados. Um ótimo exemplo disto é a iteração. Iteração (iteration), que em tradução simples quer dizer repetição, é confundido com &quot;interação&quot; ou compreendido como processos repetíveis. Na verdadeira definição ágil, iteração está mais para processos confiáveis do que processos repetíveis. Na língua inglesa também verificamos este desentendimento quando estudamos em textos ágeis as palavras &quot;repeatable&quot; e &quot;reliable&quot;. &lt;br /&gt;
A confusão entre confiável e repetível acontece porque muitos gestores de empresas gostam de formalizar processos muito estruturados e precisos (repetíveis) no lugar de formalizar processos suficientemente estruturados e flexíveis (confiáveis). Processos repetíveis focam na entrada das atividades, processos confiáveis focam no resultado das atividades.&lt;br /&gt;
Outros métodos, por oferecerem propostas mais simples de compreensão e apuração de resultado, começaram a chamar a atenção positivamente da indústria de software. Face a isso, iniciou-se um movimento liderado pelas universidades no Brasil (hoje sou consultor de metodologias ágeis da USP) que objetiva esclarecer os métodos e gerar conteúdos práticos que facilitem a implantação de tais propostas metodológicas. &lt;br /&gt;
Certificadas de que estes métodos funcionam, as empresas de software começaram a estudar uma proposta de metodologia classificada como ágil, que propõe novos métodos em substituição aos métodos praticados tradicionalmente. Este critério de escolha, que em minha opinião está suficientemente maduro, buscou primeiramente resolver as questões acerca da organização, distribuição e controle das atividades de um projeto de software. Eis a explicação da escolha da metodologia SCRUM pelo mercado de empresas desenvolvedoras de software.&lt;br /&gt;
SCRUM, muito simples de usar&lt;br /&gt;
A metodologia SCRUM está entrando na moda aqui no Brasil, após já haver conquistados inúmeras empresas da indústria de software na América do Norte.&lt;br /&gt;
Particularmente, eu considero o SCRUM uma proposta extremamente prática e honesta. Defino por prática neste contexto a facilidade de compreensão e aplicação em nosso ambiente de desenvolvimento de software. Defino por honesta a fidelidade entre a proposta do método e o resultado que podemos obter após aplicá-lo. &lt;br /&gt;
SCRUM, nome utilizado inicialmente pelos japoneses Hirotaka Takeuchi e Ikujiro Nonaka, descrevia um tipo de processo de desenvolvimento de produto utilizado no Japão.Também o nome SCRUM foi escolhido pela similaridade entre o jogo de Rugby e o tipo de desenvolvimento de produto comentado. Ambos são adaptativos, rápidos e promovem a auto-organização.&lt;br /&gt;
Para explicar SCRUM, utilizarei uma estratégia que foi usada pelo Ken Schwaber em seu livro chamado Agile Project Development with SCRUM. Na minha leitura, este é o melhor livro disponível lançado até a presente data. &lt;br /&gt;
Iniciando um projeto, há uma formalização de todas as coisas que se pretende fazer ou que se precisa construir no projeto. Cada item desta lista representa um requisito funcional, ou requisito não funcional, ou questão de tecnologia / infra-estrutura. Esta lista é denominada Product Backlog.&lt;br /&gt;
Podemos traduzir Product Backlog como uma lista de todos os requisitos de um produto priorizados, ou, em outras palavras, é qualquer coisa que represente um trabalho que precisa ser feito para o produto. Os itens com maior prioridade nesta lista são os requisitos mais desejados pelo produto. No projeto real, o Product Backlog nunca é finalizado. Existe uma natural evolução e maturidade dos requisitos nesta lista. Requisitos novos podem aparecer, requisitos existentes podem perder prioridade e podem até serem eliminados. Apesar de se permitir que áreas usuárias manifestem seus pedidos nesta lista, somente o Product Owner pode priorizar o Backlog. &lt;br /&gt;
O Product Owner possui a responsabilidade de definir a ordem que os requisitos serão produzidos pela equipe de desenvolvimento. Esta equipe deve ser pequena, multi-disciplinar e capaz de desenvolver todos os requisitos. Esta equipe recebe o nome de SCRUM Teams. A preparação dos trabalhos é denominada SPRINT Planning.&lt;br /&gt;
SPRINT Planning é composta dos seguintes ingredientes: Product Backlog, a capacidade de desenvolvimento da equipe, as condições e exigências do negócio, as características da tecnologia a ser usada e o comprometimento em entregar produtos executáveis incrementais. A mistura são revisões, administração e organização. Os resultados são SPRINT Goal e SPRINT. &lt;br /&gt;
O SCRUM Team deve desenvolver os itens separados pelo Product Owner em um determinado prazo previamente combinado. Este prazo é definido como Time Box e o trabalho de desenvolver os itens separados neste time box é denominado SPRINT. Estes itens separados do Product Backlog fazem parte de uma nova lista. Esta lista, chamada SPRINT Backlog, será de total responsabilidade do SCRUM Team que deverá mantê-la e organizá-la de tal forma a atender os objetivos do específico SPRINT.&lt;br /&gt;
É permitido ter mais de um SCRUM Team trabalhando no mesmo Product Backlog, por isso os requisitos são devidamente separados em SPRINT Backlog distintos por equipe. Uma idéia deste ciclo é verificada na imagem abaixo. &lt;br /&gt;
&lt;br /&gt;
A liderança destas equipes é exercida por um papel denominado SCRUM Master. O SCRUM Master é um facilitador da gestão dos requisitos e direcionador da gestão das equipes. Este papel deve garantir a correta utilização das práticas de SCRUM, deve ajudar a equipe a tomar decisões e apoiar a equipe para adquirir os recursos necessários para o desenvolvimento do produto.&lt;br /&gt;
Este método de liderança é exercido através de 3 recorrentes tipos de reunião: SCRUM Daily Meeting, SPRINT Review e Retrospective. Começando pelo SPRINT Review que é a reunião típica de final de SPRINT (alguns SCRUM Team também a fazem no meio do SPRINT) para validar o produto executável que a equipe conseguiu incrementar. &lt;br /&gt;
Explicando a Retrospective, é uma reunião que também acontece ao final do SPRINT com o objetivo de fortalecer a unidade de ação da equipe. Três perguntas deverão ser respondidas com seriedade por todos os membros do SCRUM Team:&lt;br /&gt;
• O que você fez e gostou neste SPRINT?&lt;br /&gt;
• O que você fez e não gostou neste SPRINT?&lt;br /&gt;
• O que você vai fazer diferente no próximo SPRINT?&lt;br /&gt;
O desenvolvimento de projetos de software é um desafio constante, é uma atividade complexa. Todo processo complexo exige uma intensa comunicação entre todos os membros do projeto. SCRUM Daily Meeting é a resposta para promover a comunicação da equipe.&lt;br /&gt;
Todos os dias, obrigatoriamente, todo o SCRUM Team irá se reunir por 15 minutos aproximadamente para responder a 3 importantes perguntas. Sugerimos que está reunião seja de pé, pois temos verificado bons resultados em nossas práticas. &lt;br /&gt;
As perguntas são:&lt;br /&gt;
• O que eu fiz desde a última SCRUM Daily Meeting até agora?&lt;br /&gt;
• O que eu vou fazer hoje?&lt;br /&gt;
• O que pode me impedir?&lt;br /&gt;
Adicionalmente as técnicas apresentadas neste artigo, temos observado que a utilização de KANBAN (ver figura abaixo) ajuda a maximizar o comprometimento da equipe e a comunicação de todos os comprometidos e envolvidos com o projeto.&lt;br /&gt;
&lt;br /&gt;
As cores amarela e laranja representam diferentes complexidades das atividades. A cor pink representa atividades não planejadas no SPRINT que foram incluídas por motivo de força maior.&lt;br /&gt;
Por se tratar de um extenso assunto, abordaremos detalhes explicativos sobre o que é KANBAN e como se utiliza em projetos de software no nosso próximo artigo técnico. &lt;br /&gt;
&lt;br /&gt;
Para saber mais recomendamos os livros:&lt;br /&gt;
Agile Project Management by Jim Highsmith.&lt;br /&gt;
Agile Software Development with SCRUM by Ken Schwaber e Mike Beedle. &lt;br /&gt;
Agile Project Management with SCRUM by Ken Schwaber. &lt;br /&gt;
Treinamento MSF Agile + SCRUM + Agile Methods em http://www.fcamara.com.br &lt;br /&gt;
Considerações Finais&lt;br /&gt;
Nós, praticantes das metodologias ágeis, acreditamos que todos os projetos são diferentes. As tecnologias destes projetos são diferentes. As pessoas, os requisitos, idem. Nós não queremos ser indivíduos críticos do que existe há muito tempo na engenharia de software, nós queremos sugerir, proporcionar e fundamentar alternativas novas para resolver problemas antigos.&lt;br /&gt;
Na grande maioria das consultorias que ministro sob a titulação de &quot;coaching&quot; para fins de crescimento dos resultados qualitativos e produtivos de equipes de desenvolvimento de software, encontro pessoas que, utilizando-se de métodos tradicionais ou simplesmente de improviso diário (também denominado &quot;ausência de métodos&quot;), revelam-me uma estranha e frustrante sensação - A Síndrome do Trabalho Vazio.&lt;br /&gt;
A STV é a sensação que ocorre depois de um intenso dia de trabalho repleto de aborrecimentos e de atividades urgentes, quando percebe-se que, no final, todas as atividades planejadas para aquele dia não puderam ser implementadas. É uma constatação que é uma espécie de marionete do tempo, da empresa e dos clientes.&lt;br /&gt;
A utilização de métodos ágeis, com a adequação mental conforme os princípios estabelecidos pelas metodologias ágeis, mudaram minha vida profissional perante o cenário anteriormente descrito. Eu consigo fazer atividades planejadas, consigo priorizar atividades importantes e tenho um pequeno índice de atividades urgentes no meu dia-a-dia. Eu me sinto protagonista do meu dia.&lt;br /&gt;
As metodologias ágeis são uma positiva proposta para as empresas desgastadas com os resultados proporcionados por &quot;waterfall approach to software development&quot; ou pela ausência de métodos. Para iniciantes em metodologias ágeis, eu recomendo o SCRUM. Para praticantes de métodos ágeis que não conhecem o SCRUM, permitam-se mais uma evolução.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3 Conclusões &lt;br /&gt;
A metodologia de desenvolvimento Extreme Programming pode ser considerada extremamente nova, porém vem acompanhando as necessidades humanas dos desenvolvedores pelo mundo. &lt;br /&gt;
Gurus da tecnologia da informação vem aprimorando as concepções desta metodologia para atender as necessidades do mercado e principalmente das pessoas. &lt;br /&gt;
Um empresa ao utilizar este processo por completo, só estará agregando valor aos seus negócios e melhorando o ambiente de seus colaboradores e clientes, tratando-os como pessoas e parceiros. Está é chave no mundo dos negócios, o bem estar de seus colaboradores e a parceria entre o fornecedor e seus clientes, criando um laço de confiança ou até mesmo um sentimento de amizade. &lt;br /&gt;
Entender as necessidades do cliente não é ciência, é arte. Dar incentivo a ela é o mínimo que podemos fazer.</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/4940501721202209206/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/scrum-metodologia-agil.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/4940501721202209206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/4940501721202209206'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/scrum-metodologia-agil.html' title='SCRUM metodologia ágil'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-2446267499402567891</id><published>2011-07-24T06:30:00.001-07:00</published><updated>2011-07-24T06:30:33.274-07:00</updated><title type='text'>Extreme Programming</title><content type='html'>Extreme Programming , Engenharia de Software, Qualidade de Software, Metodologia de Desenvolvimento, Processos Ágeis de Desenvolvimento, XP. &lt;br /&gt;
&lt;br /&gt;
Resumo: Este artigo tem por objetivo apresentar a metodologia de desenvolvimento ágil de software denominada Extreme Programming. Serão abordadas, de forma resumida, as práticas, valores, e os papéis disponíveis a cada integrante de uma equipe de XP. Alguns comparativos com outras metodologias são feitas ao decorrer do trabalho enaltecendo as propriedades que definem a Extreme Programming. &lt;br /&gt;
Palavras-chave: Extreme Programming , Engenharia de Software, Qualidade de Software, Metodologia de Desenvolvimento, Processos Ágeis de Desenvolvimento, XP. &lt;br /&gt;
Índice &lt;br /&gt;
• 1. Introdução &lt;br /&gt;
• 2. Extreme Programming (XP) &lt;br /&gt;
o 2.1. Valores da XP &lt;br /&gt;
 2.1.1 Feedback &lt;br /&gt;
 2.1.2 Comunicação &lt;br /&gt;
 2.1.3. Simplicidade &lt;br /&gt;
 2.1.4. Coragem &lt;br /&gt;
o 2.2. Práticas &lt;br /&gt;
 2.2.1. Cliente Disponível ou Presente &lt;br /&gt;
 2.2.2. Jogo do Planejamento &lt;br /&gt;
 2.2.3. Stand up meeting &lt;br /&gt;
 2.2.4. Programação em par &lt;br /&gt;
 2.2.5. Refactoring &lt;br /&gt;
 2.2.6. Desenvolvimento guiado por testes &lt;br /&gt;
 2.2.7. Código coletivo &lt;br /&gt;
 2.2.8. Padrões de desenvolvimento &lt;br /&gt;
 2.2.9. Design Simples &lt;br /&gt;
 2.2.10. Metáfora &lt;br /&gt;
 2.2.11. Ritmo Sustentável &lt;br /&gt;
 2.2.12. Integração contínua &lt;br /&gt;
 2.2.13. Releases curtos &lt;br /&gt;
o 2.3. Equipe XP &lt;br /&gt;
 2.3.1. Gerente de projeto &lt;br /&gt;
 2.3.2. Coach &lt;br /&gt;
 2.3.3. Analista de teste &lt;br /&gt;
 2.3.4. Redator técnico &lt;br /&gt;
 2.3.5. Desenvolvedor &lt;br /&gt;
• 3. Conclusões &lt;br /&gt;
• 4. Referências &lt;br /&gt;
• 5. Autores &lt;br /&gt;
&lt;br /&gt;
1. Introdução &lt;br /&gt;
A muito tempo a indústria de software vem passando por grandes transformações e novos desafios, entre eles desenvolver softwares com qualidade, no menor tempo possível e que atendam as necessidades dos clientes. &lt;br /&gt;
Com estes novos desafios a indústria de software passou a dar valor a algumas áreas da informática, como a engenharia de software e qualidade de software, com intuito de atender as exigências do mercado. &lt;br /&gt;
A indústria começou a utilizar metodologias de desenvolvimento de software, adotou métricas e padrões para alcançar níveis aceitáveis de qualidade, prever custos e prazos em seus projetos. Porém ainda são poucos os projetos que conseguem obter pleno sucesso em seu desenvolvimento, onde prazo e orçamento estabelecidos e as necessidades do cliente sejam realmente atendidas. &lt;br /&gt;
Pesquisa feitas pelo Standish Group International em 1994, um pouco antes da adoção de metodologia de desenvolvimento pelas indústrias, apontam que apenas 16, 2 % dos projetos de software atingiam sucesso (prazo, orçamento e funcionalidades atendidas). Em 2002 esta taxa havia subido para 34 %, ou seja, um aumento de 100 % em 8 anos. Mas estas taxas ainda se encontram muito aquém do esperado pelo mercado. &lt;br /&gt;
As metodologias utilizadas nos projetos pesquisados eram as mais variadas, podemos citar modelo em cascata, modelo iterativo e alguns com modelo em prototipação. Neste trabalho será utilizado o termo desenvolvimento tradicional para os projetos que se utilizem do modelo em cascata e todos os outros que se baseiam nele. &lt;br /&gt;
Analisando os motivos para a baixa taxa de sucesso dos projetos desenvolvidos com modelos tradicionais, cita-se os principais motivos e bastante comuns entre eles: &lt;br /&gt;
• &lt;br /&gt;
Tempo elevado entre cada fase do projeto, não acompanhando as mudanças de requisitos do projeto; &lt;br /&gt;
• &lt;br /&gt;
Falta de conhecimento por parte do cliente da sua real necessidade, dando margem às especulações dos desenvolvedores; &lt;br /&gt;
• &lt;br /&gt;
Forte linearidade no desenvolvimento do projeto; &lt;br /&gt;
Focando nas fragilidades do modelo tradicional, surgiram metodologias para desenvolvimento ágil de software. Cita-se algumas características destas metodologias: &lt;br /&gt;
• &lt;br /&gt;
Foco nas pessoas, não no processo, evitando especulações dos desenvolvedores; &lt;br /&gt;
• &lt;br /&gt;
Atender as reais necessidades do cliente, na velocidade e praticidade por ele desejada; &lt;br /&gt;
• &lt;br /&gt;
Ausência de linearidade no desenvolvimento do projeto; &lt;br /&gt;
• &lt;br /&gt;
O cliente aprender a suas reais necessidades durante o projeto e repassar esta novas necessidades a equipe de desenvolvimento; &lt;br /&gt;
&lt;br /&gt;
Uma destas metodologias de desenvolvimento ágil é o Extreme Programming , metodologia que prima a qualidade do software desenvolvido, que atenda as reais necessidades do cliente e seja entregue dentro do prazo definido. Esta metodologia será detalhada a seguir. &lt;br /&gt;
2. Extreme Programming (XP) &lt;br /&gt;
XP é uma metodologia para desenvolvimento de software ágil, com qualidade e que atenda as necessidades do cliente. Alguns praticantes definem a XP como a prática e a perseguição da mais clara simplicidade, aplicado ao desenvolvimento de software. &lt;br /&gt;
Uma metodologia voltada para projetos cujos requisitos mudem com freqüência, utilizem desenvolvimento orientado a objetos, equipes de até 12 desenvolvedores e desenvolvimento incremental. &lt;br /&gt;
A XP Busca o máximo de valor a cada dia de trabalho da equipe para o seu cliente. Em um curto espaço de tempo o cliente terá um produto que possa ser utilizado, podendo aprender com o mesmo e reavaliar se o que foi desenvolvido é realmente o desejado. &lt;br /&gt;
Por ser uma metodologia recente, a XP sofre mudanças em suas concepções e, portanto, é comum encontrar variações. A adaptação ao ambiente de desenvolvimento deve ser levada em conta, se um valor trouxer mais prejuízos do que benefícios é necessário relavaliar a utilização desta metodologia. &lt;br /&gt;
A XP é organizada em torno de um conjunto de práticas e valores que atuam perfeitamente para assegurar um alto retorno do investimento efetuado pelo cliente. A seguir serão apresentados os valores e em seguida as práticas. &lt;br /&gt;
2.1 Valores da XP &lt;br /&gt;
Os valores são as diretrizes da XP. Eles definirão as atitudes das equipes e as principais prioridades da metodologia. &lt;br /&gt;
Para uma empresa estar realmente utilizando o XP, ela deve respeitar e utilizar todos os valores e práticas listadas nos próximos capítulos e caso um destes valores ou práticas não seja utilizado pela empresa, esta empresa não está trabalhando com a metodologia XP. &lt;br /&gt;
2.1.1 Feedback &lt;br /&gt;
O cliente aprende com o sistema que utiliza e com este aprendizado consegue reavaliar o produto recebido, com isso pode realimentar a equipe de desenvolvimento com as suas reais necessidades. Com o feedback , o cliente conduz o desenvolvimento do seu produto, estabelece prioridades e informa aquilo que é realmente importante. &lt;br /&gt;
Analogamente, há o feedback dado pelo desenvolvedor ao cliente, onde o mesmo aponta riscos, estimativas e alternativas de design . Este retorno é o aprendizado do desenvolvedor sobre o que o cliente deseja. &lt;br /&gt;
Com este valor, o tempo de defasagem entre as fases do projeto são extremamente pequenos, o cliente está o tempo todo em contato com a equipe de desenvolvimento, muito diferente dos modelos tradicionais, onde o cliente entrava em contato com a equipe um bom tempo depois do último feedback dado. &lt;br /&gt;
Um ponto que muitas empresas de software falham é não dar valor ao que o cliente realmente deseja, utilizam cegamente metodologias e acabam esquecendo o real propósito de um software: facilitar o trabalho de pessoas. &lt;br /&gt;
Com isto muitos sistemas acabam dificultando e burocratizando as tarefas das pessoas e como defesa as empresas alegam ter um produto genérico e que atenda as normais legais. &lt;br /&gt;
2.1.2 Comunicação &lt;br /&gt;
Para que o feedback entre cliente e desenvolvedor possa ser efetuado com sucesso é necessário ter uma boa comunicação entre eles. A XP prega que esta comunicação ocorra da forma mais direta e eficaz possível, oferecendo agilidade aos assuntos tratados. Recomenda-se o contato direto (face-a-face) entre cliente e desenvolvedor, para evitar qualquer tipo de especulação ou mal entendido entre as partes e para que possíveis dúvidas possam ser resolvidas de imediato. &lt;br /&gt;
Além de sanar as dúvidas no desenvolvimento, o cliente deverá estar disponível para a equipe, ou mesmo presente no ambiente de trabalho da empresa. Isto fará com que o cliente entenda o sistema e enriquecerá os relacionamentos pessoais, criando um elo de parceria e confiança mútua. &lt;br /&gt;
Algumas equipes não se adaptam bem a este valor. Este problema deve ser trabalhado em conjunto com a equipe. Enquanto não se acostumarem a falar e a trocar idéias com seus companheiros o sucesso da metodologia estará comprometido. Membros introvertidos são deseconselháveis para equipes de XP. &lt;br /&gt;
2.1.3 Simplicidade &lt;br /&gt;
Para que o cliente possa aprender durante o projeto e consiga dar o feedback necessário à equipe, não basta apenas uma boa comunicação, é necessário que os desenvolvedores implementem da forma mais simples possível o que o cliente deseja. &lt;br /&gt;
A lei é: faça a coisa mais simples que pode funcionar. Com esta filosofia, o cliente terá a funcionalidade rapidamente e da forma desejada, dando um feedback instantaneamente evitando especulações. O desenvolvedor deve implementar apenas o necessário para que o cliente tenha seu pedido atendido. &lt;br /&gt;
Ser simples não é um ato de desespero, é um ato de consciência e absoluta precisão. Muitas pessoas confundem simplicidade e facilidade. O mais simples nem sempre é o mais fácil e também não é escrever menos código. Simplicidade significa codificar o necessário para que um requisito seja atendido e entregue ao cliente. &lt;br /&gt;
Evita-se suposições, o futuro é incerto e por causa disso não necessita atenção. Os requisitos evoluem gradativamente em conjunto com o sistema e a arquitetura do projeto. Algumas vezes, o que é necessário hoje será descartado amanhã, e outras vezes o que seria necessário num futuro próximo nunca será utilizado. &lt;br /&gt;
2.1.4 Coragem &lt;br /&gt;
Por ser um processo de desenvolvimento novo e baseado em diversas premissas que contrariam o modelo tradicional, o XP exige que os desenvolvedores tenham coragem para: &lt;br /&gt;
• &lt;br /&gt;
Desenvolver software de forma incremental; &lt;br /&gt;
• &lt;br /&gt;
Manter o sistema simples; &lt;br /&gt;
• &lt;br /&gt;
Permitir que o cliente defina prioridades; &lt;br /&gt;
• &lt;br /&gt;
Fazer desenvolvedores trabalharem em pares: &lt;br /&gt;
• &lt;br /&gt;
Investir tempo em refactoring ; &lt;br /&gt;
• &lt;br /&gt;
Investir tempo em testes automatizados; &lt;br /&gt;
• &lt;br /&gt;
Estimar estórias na presença do cliente; &lt;br /&gt;
• &lt;br /&gt;
Expor código a todos os membros da equipe; &lt;br /&gt;
• &lt;br /&gt;
Integrar o sistema diversas vezes ao dia; &lt;br /&gt;
• &lt;br /&gt;
Adotar ritmo sustentável de desenvolvimento; &lt;br /&gt;
• &lt;br /&gt;
Abrir mão de documentos que servem como defesa; &lt;br /&gt;
• &lt;br /&gt;
Propor contratos de escopo variável; &lt;br /&gt;
• &lt;br /&gt;
Propor a adoção de um processo novo. &lt;br /&gt;
• &lt;br /&gt;
Assumir em relação ao cliente possíveis atrasos e problemas de implementação; &lt;br /&gt;
• &lt;br /&gt;
Colocar desenvolvedores e clientes frente a frente; &lt;br /&gt;
• &lt;br /&gt;
Implantar uma nova versão do sistema no cliente semanalmente; &lt;br /&gt;
• &lt;br /&gt;
Apostar em seus colaboradores aumentando suas responsabilidades; &lt;br /&gt;
• &lt;br /&gt;
Modelar e documentar apenas quando for de extrema necessidade. &lt;br /&gt;
2.2 Praticas da XP &lt;br /&gt;
Como o nome já diz, as práticas são um conjunto de atividades que deverão ser seguidas pelas equipes que desejam utilizar a XP. &lt;br /&gt;
Os valores já apresentados somados a estas práticas são um conjunto ? entrelaçado ? de boas atitudes. A fraquesa de umas é compensado por outra e assim fecha-se um ciclo fortemente dependente. &lt;br /&gt;
2.2.1 Cliente disponível ou presente &lt;br /&gt;
O XP trabalha com uma visão diferente do modelo tradicional em relação ao cliente. O XP sugere que o cliente esteja no dia-a-dia do projeto, acompanhando os passos dos desenvolvedores, onde a sua ausência representa sérios riscos ao projeto. &lt;br /&gt;
As funcionalidades do sistema são descritas brevemente em estórias em conjunto com os testes conceituais e serão estes os indicadores para uma boa implementação. No momento que os desenvolvedores irão implementar as estórias nada mais eficaz do que dialogar com o cliente para entender a estória, fazendo-se necessária a presença do cliente no ambiente de desenvolvimento. &lt;br /&gt;
Ao terminar uma estória, com a presença do cliente, a mesma poderá ser validada rapidamente e a equipe receber o feedback necessário sobre a funcionalidade, criando ciclos rápidos e precisos. &lt;br /&gt;
2.2.2 Jogo de planejamento &lt;br /&gt;
A XP utiliza o planejamento para assegurar que a equipe de desenvolvimento esteja trabalhando naquilo que gere o máximo de valor para o cliente. Este planejamento é feito várias vezes durante o projeto. é o momento onde o cliente solicita as funcionalidades desejadas através de estórias, onde a equipe estima o custo de cada estória e planeja as releases e as iterações. &lt;br /&gt;
Todas as funcionalidades do sistema são descritas em estórias, pequenos cartões em que o cliente deve descrever o que deseja com suas palavras e da forma mais simples possível. Lembrando que a simplicidade também deve ser respeitada pelo cliente. &lt;br /&gt;
Após a definição das estórias é necessário estimar o tempo das mesmas para que o cliente priorize o que deve ser implementado. A XP utiliza uma unidade chamada ponto , que refere-se a um dia de trabalho ideal do desenvolvedor, onde o mesmo não precisaria atender telefonemas, participar de reuniões, ou seja, estaria preocupado apenas com a estória em questão. &lt;br /&gt;
Muitas vezes algumas estórias consomem semanas de trabalho, oferecendo uma certa dificuldade de serem estimadas. A XP recomenda que estas estórias sejam quebradas em tarefas menores e que as mesmas não utilizem mais que alguns pontos de um desenvolvedor, recomenda-se 4 pontos ao máximo. &lt;br /&gt;
Em cada estória é escrita a quantidade de pontos estimadas pelo desenvolvedor, o XP recomenda que as estimativas sejam efetuadas em equipe e se possível com a presença do cliente para que durante a estimativa eventuais dúvidas sejam sanadas. &lt;br /&gt;
O XP tem por objetivo gerar valor para o cliente ao longo do projeto, para isto o software é desenvolvido de forma incremental, onde a cada entrega o cliente possa utilizar o sistema e obter benefícios do mesmo. Estas entregas o XP denomina como sendo releases , pequenos intervalos de tempo, máximo 2 meses, onde funcionalidades que gerem valor ao cliente sejam entregues. &lt;br /&gt;
A divisão dos releases é efetuada no início do projeto, geralmente com tamanhos fixos e pequenos. Após esta divisão o cliente define as estórias que farão parte dos releases e tenta-se evitar um planejamento muito longo, pois na entrega de cada release o cliente aprenderá com o sistema e possivelmente irá alterar as estórias para o próximo release . &lt;br /&gt;
Mesmo os releases sendo efetuados em curto espaço de tempo, continua representando um tempo muito longo para o feedback do cliente. Por esta razão os releases são divididos em espaços menores, chamados de iterações . &lt;br /&gt;
Uma iteração contêm um conjunto de estórias a serem implementadas, com duração entre uma a três semanas, onde ao final da mesma o cliente possa validar as implementações efetuadas e fornecer o feedback necessário à equipe. &lt;br /&gt;
2.2.3 Stand up meeting &lt;br /&gt;
O dia de trabalho de uma equipe XP sempre começa com um stand up meeting . é uma reunião rápida pela manhã, com aproximadamente 20 minutos de duração e onde seus integrantes permaneçam preferencialmente em pé. &lt;br /&gt;
Segundo estudos uma reunião em pé é mais rápida, evita bate-papos paralelos e faz os integrantes irem diretamente ao assunto. Mais uma vez, ágil e simples. &lt;br /&gt;
A reunião tem por objetivo atualizar a equipe sobre o que foi implementado no dia anterior e trocar experiências das dificuldades enfrentadas. Neste momento também são decididas as estórias que serão implementadas no dia e em conjunto definir os responsáveis por cada uma delas. &lt;br /&gt;
2.2.4 Programação em par &lt;br /&gt;
O XP exige que todo e qualquer código implementado no projeto seja efetuado em dupla, chamada de programação em par. é uma técnica onde dois desenvolvedores trabalham no mesmo problema, ao mesmo tempo e no mesmo computador. Um deles é responsável pela digitação (condutor) e outro acompanhando o trabalho do parceiro (navegador). &lt;br /&gt;
Esta prática agrega diversas técnicas de programação, enquanto o condutor codifica o problema o navegador permanentemente revisa o código digitado, onde pequenos erros de programação que demoraria algumas horas para serem depurados, facilmente são percebidos pelo navegador da dupla. &lt;br /&gt;
Um dos grandes benefícios da programação em par é a troca de experiências e idéias entre os desenvolvedores. A solução para um problema geralmente é a soma das idéias da dupla, tornando uma solução e codificação muito mais simples e eficaz. &lt;br /&gt;
é com esta prática que o XP uniformiza o nível dos desenvolvedores da equipe, através da troca de experiências. Após alguns meses trabalhando em duplas todos os desenvolvedores conhecerão todas rotinas do sistema, prontos para qualquer modificação ou para auxiliar algum iniciante. &lt;br /&gt;
Um grande questionamento sobre esta prática é com questão a produtividade dos desenvolvedores. Porém, é um erro pensar que somente uma pessoa estará codificando enquanto o outro apenas observa. O membro que não está codificando não apenas observa, mas também troca idéias, gera soluções e evita praticamente todos erros de codificação além de cobrar padrões de desenvolvimento da equipe. &lt;br /&gt;
Estudos indicam que a produtividade de uma equipe que utiliza pair programming e de equipes que tenham desenvolvedores sozinhos é praticamente a mesma, porém a qualidade do código gera facilidade de manutenção e outros ganhos a médio e longo prazo. &lt;br /&gt;
2.2.5 Refactoring &lt;br /&gt;
Um desenvolvedor ao deparar com um código mal escrito ou pouco legível mas que esteja funcionando, nos modelos tradicionais de desenvolvimento, dificilmente efetuaria alterações neste código, mesmo que tivesse que implementar novas funcionalidades. &lt;br /&gt;
O XP prega que todo desenvolvedor ao encontrar um código duplicado, pouco legível, mal codificado, sem padronização, lento, com código legado ou uso incorreto de outras implementações, tem por obrigação alterar este código deixando-o mais legível e simples, porém esta alteração não pode mudar o comportamento do código em questão. &lt;br /&gt;
Esta prática anda de mãos dadas com o código coletivo, já que todo desenvolvedor tem a possibilidade de melhorar qualquer código do sistema. &lt;br /&gt;
A padronização oferece facilidades aos desenvolvedores no momento de implementar novas funcionalidades ou efetuar qualquer tipo de manutenção, uma vez que o código se encontra simples e claro. &lt;br /&gt;
Uma questão importante é que a prática de refactoring esta apoiada pelos testes automatizados, pois facilmente o desenvolvedor terá um feedback se a alteração por ele efetuada irá gerar qualquer tipo de comportamento anormal no sistema, sofrendo o aprendizado sobre a alteração por ele efetuada. &lt;br /&gt;
2.2.6 Desenvolvimento guiado por testes &lt;br /&gt;
Esta atividade é considerada extremamente chata e dispendiosa por muitos desenvolvedores na modelagem tradicional, porém para os desenvolvedores de uma equipe XP esta atividade deve ser encarada com extrema naturalidade. Todo código implementando deve coexistir com um teste automatizado, assim garantindo o pleno funcionamento da nova funcionalidade. &lt;br /&gt;
é com base nestes testes automatizados que qualquer desenvolvedor terá coragem para alterar uma parte do código que não tenha sido implementada por ele, já que executando os testes automatizados poderá verificar instantaneamente se a modificação efetuada alterou o comportamento do sistema. &lt;br /&gt;
Com a implementação de testes o desenvolvedor poderá amadurecer o entendimento sobre o problema que irá solucionar, já que os testes são codificados antes da nova implementação. &lt;br /&gt;
No XP existem dois tipos de testes, os testes de unidade e de aceitação. O teste de unidade tem por objetivo verificar se os resultados gerados por cada classe estão corretos, já o teste de aceitação tem por objetivo verificar se a interação entre as classes que implementam uma funcionalidade (estória) atendem a necessidade de forma correta. Os testes de aceitação são descritos pelo cliente e implementados pelos desenvolvedores, facilitando ainda mais a interação entre as partes. &lt;br /&gt;
2.2.7 Código coletivo &lt;br /&gt;
No modelo tradicional de desenvolvimento, é comum dividir o projeto em partes e colocar responsáveis por cada uma destas partes. Porém apenas uma pessoa torna-se conhecedora daquela parte. &lt;br /&gt;
Este tipo de divisão traz sérios problemas ao projeto, uma vez que se aquela parte necessitar inúmeras alterações, apenas uma pessoa estará capacitada para alterá-la. Com estas inúmeras alterações, esta pessoa pode se tornar um gargalo no projeto. &lt;br /&gt;
O XP trava uma batalha contra este tipo de divisão, já que não existe uma pessoa responsável por uma parte do código. Cada desenvolvedor tem acesso a qualquer parte do sistema e tem liberdade para alterá-la a qualquer momento e sem qualquer tipo de aviso. &lt;br /&gt;
Esta prática tem como conseqüência um código revisado por diversas pessoas e caso algo não esteja claro, com certeza será alterado por alguma pessoa ( refactoring ) para que o mesmo torne-se legível. &lt;br /&gt;
2.2.8 Padrões de desenvolvimento &lt;br /&gt;
Um dos valores do XP é a comunicação, e o código também é uma forma da equipe se comunicar. Uma forma clara de se comunicar através do código, é manter um padrão no projeto para que qualquer um possa rapidamente entender o código lido. &lt;br /&gt;
O XP recomenda a adoção de um padrão desde o início do projeto, preferencialmente padrões utilizados pela comunidade da linguagem de desenvolvimento. Havendo a necessidade de modificações e adaptações durante o projeto, que visam agilizar o desenvolvimento, as mesmas devem ser efetuadas. &lt;br /&gt;
2.2.9 Design simples &lt;br /&gt;
Nota-se que todas as práticas do XP focam que o maior valor possível seja gerado para o cliente, para tal premissa ser verdadeira o XP prega um design do sistema da forma mais simples possível para que atenda a necessidade do cliente. &lt;br /&gt;
Umas das premissas do desenvolvimento tradicional é que o custo de uma alteração no sistema cresce exponencialmente ao longo do projeto, com isto tenta-se criar soluções genéricas preparando o sistema para futuras alterações. &lt;br /&gt;
Este tipo de pensamento dá margens para especulações e implementações que na maioria dos casos não terá utilidade para o cliente. O XP parte do princípio que o custo de uma alteração tende a crescer lentamente e se estabilizar ao longo do projeto, esta premissa é dita em função dos avanços nas linguagens e práticas de programação, novos ambientes e ferramentas de desenvolvimento, utilização de orientação a objetos no desenvolvimento e em conjunto com estes novos avanços existe o fruto das outras práticas XP, deixando o código simples, legível e passível de alteração a qualquer momento. &lt;br /&gt;
2.2.10 Metáfora &lt;br /&gt;
Muitas vezes pessoas tentam explicar um assunto ou problema a outras pessoas por um período sem obter o êxito necessário na explicação dada, simplesmente as outras pessoas não conseguem entender a mensagem que está se tentando repassar. &lt;br /&gt;
Ao criar comparações e analogias com o assunto que está em questão as pessoas passarão a entender deste assunto de uma forma muito mais rápida e possivelmente não a esquecerão mais. Este tipo de artifício é chamado de metáfora no XP, e deve ser utilizado com intensidade durante o projeto, uma vez que facilita a comunicação e fixação dos assuntos entre as partes. &lt;br /&gt;
Esta prática anda em conjunto com o ritmo sustentável, já que para o desenvolvedor criar boas metáforas exige criatividade e desenvolvimento de idéias, o que torna necessário uma boa condição física e bem estar por parte do desenvolvedor. &lt;br /&gt;
2.2.11 Ritmo sustentável &lt;br /&gt;
Uma grande problema nos projetos de software é a falta de tempo para encerrar o mesmo, e uma das técnicas mais adotadas para compensar a falta de tempo é submeter os desenvolvedores (humanos) a trabalharem até mais tarde e muitas vezes sacrificarem seus finais de semana. &lt;br /&gt;
Nos primeiros momentos este tipo de atitude tem efeitos positivos, porém passado alguns dias o rendimento da equipe cai drasticamente, dando margens a erros pela falta de concentração no desenvolvimento, justamente pelo cansaço físico do desenvolvedor. &lt;br /&gt;
O XP proíbe que os desenvolvedores trabalhem até mais tarde. O XP sugere um ritmo sustentável de 40 horas semanais, respeitando assim a individualidade e o físico de cada desenvolvedor. Desta forma a equipe estará sempre concentrada e muito menos propensa a pequenas falhas na implementação. &lt;br /&gt;
2.2.12 Integração contínua &lt;br /&gt;
No desenvolvimento tradicional geralmente as equipes são organizadas de modo que uma parte (módulo) fiquei sob responsabilidade de um desenvolvedor, cabe a esta pessoa efetuar testes e codificação que dizem respeito a sua parte. Esta estratégia reduz a complexidade e as preocupações de um desenvolvedor. &lt;br /&gt;
Interfaces de integração são convencionadas para que futuramente estas partes possam se comunicar, este tipo de desenvolvimento esta propenso a sérios erros de integração, uma vez que os períodos em que as partes são integradas e testadas são extremamente longos. &lt;br /&gt;
O XP propõe uma integração contínua, se possível deve ser efetuada diversas vezes ao dia para que toda a equipe tenha conhecimento do código recém desenvolvido. Com esta prática o feedback sobre a alteração efetuada será retornado em um menor espaço de tempo. &lt;br /&gt;
2.2.13 Releases curtos &lt;br /&gt;
No modelo tradicional o projeto é dividido em fases, de um modo que o cliente começará a ter benefício com o sistema muito próximo de o mesmo estar finalizado. A maior parte do investimento do projeto é feita antes mesmo de estar concluído, sem ter gerado qualquer tipo de valor econômico ao cliente. &lt;br /&gt;
O XP recomenda que pequenos investimento sejam efetuados de forma gradual e que busque grandes recompensas o mais rapidamente possível. Com a prática de releases curtos, o XP pretende dar o máximo de valor econômico ao cliente em um curto espaço de tempo. &lt;br /&gt;
Release é um conjunto de funcionalidade bem definidas e que representam algum valor para o cliente. Um projeto XP pode ter um ou mais releases no seu ciclo de desenvolvimento. &lt;br /&gt;
2.3 Equipe XP &lt;br /&gt;
Em uma equipe de XP existem papéis a serem desempenhados por um ou mais desenvolvedores. Estes papéis serão listados a seguir. &lt;br /&gt;
2.3.1 Gerente de projeto &lt;br /&gt;
Pessoa responsável pelos assuntos administrativos do projeto, mantendo um forte relacionamento com o cliente para que o mesmo participe das atividades do desenvolvimento. &lt;br /&gt;
O gerente de projeto é responsável por filtrar assuntos não relevantes aos desenvolvedores e aspectos que só devam ser implementados em iterações futuras. &lt;br /&gt;
Para um bom exercício de gerente de projeto é necessário que a pessoa conheça e acredite nos valores e práticas do XP para que possa cobrar isto da sua equipe. &lt;br /&gt;
2.3.2 Coach &lt;br /&gt;
Pessoa responsável pelas questões técnicas do projeto, recomenda-se que esta pessoa seja a com maior conhecimento do processo de desenvolvimento, dos valores e práticas do XP. é de responsabilidade do coach verificar o comportamento da equipe frente o processo XP, sinalizando os eventuais erros cometidos pela equipe. &lt;br /&gt;
2.3.3 Analista de teste &lt;br /&gt;
Pessoa responsável em garantir a qualidade do sistema através dos testes escritos. Ele deve ajudar o cliente a escrever os casos de testes e no final de cada iteração verificar se o software atende todos os casos de testes. &lt;br /&gt;
Recomenda-se que esta pessoa não seja um desenvolvedor, para evitar uma visão tendenciosa já que não conhece o código desenvolvido. O analista de teste deve ter uma visão muito parecida com a do cliente e em muitos projetos esta pessoa acaba exercendo o papel de redator técnico. &lt;br /&gt;
2.3.4 Redator técnico &lt;br /&gt;
Pessoa responsável em documentar o sistema, evitando um forte trabalho dos desenvolvedores neste tipo de atividade, permitindo uma maior dedicação ao trabalho de codificação. &lt;br /&gt;
Esta pessoa deve estar em plena sintonia com os desenvolvedores e cliente para que a documentação reflita o código escrito e as regras de negócio atendidas pelo sistema. &lt;br /&gt;
2.3.5 Desenvolvedor &lt;br /&gt;
Pessoa responsável em analisar, projetar e codificar o sistema. No XP não existe diferença entre analista, projetista e programador uma vez que em vários momentos do projeto o desenvolvedor estará exercendo alguma destas atividades. &lt;br /&gt;
Naturalmente existe níveis distintos de desenvolvedores dentro de uma equipe, mas com as práticas do XP, como pair programming , a tendência é a equipe se tornar uniforme em suas habilidades. &lt;br /&gt;
3 Conclusões &lt;br /&gt;
A metodologia de desenvolvimento Extreme Programming pode ser considerada extremamente nova, porém vem acompanhando as necessidades humanas dos desenvolvedores pelo mundo. &lt;br /&gt;
Gurus da tecnologia da informação vem aprimorando as concepções desta metodologia para atender as necessidades do mercado e principalmente das pessoas. &lt;br /&gt;
Um empresa ao utilizar este processo por completo, só estará agregando valor aos seus negócios e melhorando o ambiente de seus colaboradores e clientes, tratando-os como pessoas e parceiros. Está é chave no mundo dos negócios, o bem estar de seus colaboradores e a parceria entre o fornecedor e seus clientes, criando um laço de confiança ou até mesmo um sentimento de amizade. &lt;br /&gt;
Entender as necessidades do cliente não é ciência, é arte. Dar incentivo a ela é o mínimo que podemos fazer.</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/2446267499402567891/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/extreme-programming.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/2446267499402567891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/2446267499402567891'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/extreme-programming.html' title='Extreme Programming'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-8763496903026828749</id><published>2011-07-24T06:29:00.001-07:00</published><updated>2011-07-24T06:29:12.883-07:00</updated><title type='text'>Extreme Programming , Engenharia de Software, Qualidade de Software, Metodologia de Desenvolvimento, Processos Ágeis de Desenvolvimento, XP.</title><content type='html'>1. Introdução&lt;br /&gt;
&lt;br /&gt;
A muito tempo a indústria de software vem passando por grandes transformações e novos desafios, entre eles desenvolver softwares com qualidade, no menor tempo possível e que atendam as necessidades dos clientes.&lt;br /&gt;
&lt;br /&gt;
Com estes novos desafios a indústria de software passou a dar valor a algumas áreas da informática, como a engenharia de software e qualidade de software, com intuito de atender as exigências do mercado.&lt;br /&gt;
&lt;br /&gt;
A indústria começou a utilizar metodologias de desenvolvimento de software, adotou métricas e padrões para alcançar níveis aceitáveis de qualidade, prever custos e prazos em seus projetos. Porém ainda são poucos os projetos que conseguem obter pleno sucesso em seu desenvolvimento, onde prazo e orçamento estabelecidos e as necessidades do cliente sejam realmente atendidas.&lt;br /&gt;
&lt;br /&gt;
Pesquisa feitas pelo Standish Group International em 1994, um pouco antes da adoção de metodologia de desenvolvimento pelas indústrias, apontam que apenas 16, 2 % dos projetos de software atingiam sucesso (prazo, orçamento e funcionalidades atendidas). Em 2002 esta taxa havia subido para 34 %, ou seja, um aumento de 100 % em 8 anos. Mas estas taxas ainda se encontram muito aquém do esperado pelo mercado.&lt;br /&gt;
&lt;br /&gt;
As metodologias utilizadas nos projetos pesquisados eram as mais variadas, podemos citar modelo em cascata, modelo iterativo e alguns com modelo em prototipação. Neste trabalho será utilizado o termo desenvolvimento tradicional para os projetos que se utilizem do modelo em cascata e todos os outros que se baseiam nele.&lt;br /&gt;
&lt;br /&gt;
Analisando os motivos para a baixa taxa de sucesso dos projetos desenvolvidos com modelos tradicionais, cita-se os principais motivos e bastante comuns entre eles:&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Tempo elevado entre cada fase do projeto, não acompanhando as mudanças de requisitos do projeto;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Falta de conhecimento por parte do cliente da sua real necessidade, dando margem às especulações dos desenvolvedores;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Forte linearidade no desenvolvimento do projeto;&lt;br /&gt;
&lt;br /&gt;
Focando nas fragilidades do modelo tradicional, surgiram metodologias para desenvolvimento ágil de software. Cita-se algumas características destas metodologias:&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Foco nas pessoas, não no processo, evitando especulações dos desenvolvedores;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Atender as reais necessidades do cliente, na velocidade e praticidade por ele desejada;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Ausência de linearidade no desenvolvimento do projeto;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
O cliente aprender a suas reais necessidades durante o projeto e repassar esta novas necessidades a equipe de desenvolvimento;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Uma destas metodologias de desenvolvimento ágil é o Extreme Programming , metodologia que prima a qualidade do software desenvolvido, que atenda as reais necessidades do cliente e seja entregue dentro do prazo definido. Esta metodologia será detalhada a seguir.&lt;br /&gt;
2. Extreme Programming (XP)&lt;br /&gt;
&lt;br /&gt;
XP é uma metodologia para desenvolvimento de software ágil, com qualidade e que atenda as necessidades do cliente. Alguns praticantes definem a XP como a prática e a perseguição da mais clara simplicidade, aplicado ao desenvolvimento de software.&lt;br /&gt;
&lt;br /&gt;
Uma metodologia voltada para projetos cujos requisitos mudem com freqüência, utilizem desenvolvimento orientado a objetos, equipes de até 12 desenvolvedores e desenvolvimento incremental.&lt;br /&gt;
&lt;br /&gt;
A XP Busca o máximo de valor a cada dia de trabalho da equipe para o seu cliente. Em um curto espaço de tempo o cliente terá um produto que possa ser utilizado, podendo aprender com o mesmo e reavaliar se o que foi desenvolvido é realmente o desejado.&lt;br /&gt;
&lt;br /&gt;
Por ser uma metodologia recente, a XP sofre mudanças em suas concepções e, portanto, é comum encontrar variações. A adaptação ao ambiente de desenvolvimento deve ser levada em conta, se um valor trouxer mais prejuízos do que benefícios é necessário relavaliar a utilização desta metodologia.&lt;br /&gt;
&lt;br /&gt;
A XP é organizada em torno de um conjunto de práticas e valores que atuam perfeitamente para assegurar um alto retorno do investimento efetuado pelo cliente. A seguir serão apresentados os valores e em seguida as práticas.&lt;br /&gt;
2.1 Valores da XP&lt;br /&gt;
&lt;br /&gt;
Os valores são as diretrizes da XP. Eles definirão as atitudes das equipes e as principais prioridades da metodologia.&lt;br /&gt;
&lt;br /&gt;
Para uma empresa estar realmente utilizando o XP, ela deve respeitar e utilizar todos os valores e práticas listadas nos próximos capítulos e caso um destes valores ou práticas não seja utilizado pela empresa, esta empresa não está trabalhando com a metodologia XP.&lt;br /&gt;
2.1.1 Feedback&lt;br /&gt;
&lt;br /&gt;
O cliente aprende com o sistema que utiliza e com este aprendizado consegue reavaliar o produto recebido, com isso pode realimentar a equipe de desenvolvimento com as suas reais necessidades. Com o feedback , o cliente conduz o desenvolvimento do seu produto, estabelece prioridades e informa aquilo que é realmente importante.&lt;br /&gt;
&lt;br /&gt;
Analogamente, há o feedback dado pelo desenvolvedor ao cliente, onde o mesmo aponta riscos, estimativas e alternativas de design . Este retorno é o aprendizado do desenvolvedor sobre o que o cliente deseja.&lt;br /&gt;
&lt;br /&gt;
Com este valor, o tempo de defasagem entre as fases do projeto são extremamente pequenos, o cliente está o tempo todo em contato com a equipe de desenvolvimento, muito diferente dos modelos tradicionais, onde o cliente entrava em contato com a equipe um bom tempo depois do último feedback dado.&lt;br /&gt;
&lt;br /&gt;
Um ponto que muitas empresas de software falham é não dar valor ao que o cliente realmente deseja, utilizam cegamente metodologias e acabam esquecendo o real propósito de um software: facilitar o trabalho de pessoas.&lt;br /&gt;
&lt;br /&gt;
Com isto muitos sistemas acabam dificultando e burocratizando as tarefas das pessoas e como defesa as empresas alegam ter um produto genérico e que atenda as normais legais.&lt;br /&gt;
2.1.2 Comunicação&lt;br /&gt;
&lt;br /&gt;
Para que o feedback entre cliente e desenvolvedor possa ser efetuado com sucesso é necessário ter uma boa comunicação entre eles. A XP prega que esta comunicação ocorra da forma mais direta e eficaz possível, oferecendo agilidade aos assuntos tratados. Recomenda-se o contato direto (face-a-face) entre cliente e desenvolvedor, para evitar qualquer tipo de especulação ou mal entendido entre as partes e para que possíveis dúvidas possam ser resolvidas de imediato.&lt;br /&gt;
&lt;br /&gt;
Além de sanar as dúvidas no desenvolvimento, o cliente deverá estar disponível para a equipe, ou mesmo presente no ambiente de trabalho da empresa. Isto fará com que o cliente entenda o sistema e enriquecerá os relacionamentos pessoais, criando um elo de parceria e confiança mútua.&lt;br /&gt;
&lt;br /&gt;
Algumas equipes não se adaptam bem a este valor. Este problema deve ser trabalhado em conjunto com a equipe. Enquanto não se acostumarem a falar e a trocar idéias com seus companheiros o sucesso da metodologia estará comprometido. Membros introvertidos são deseconselháveis para equipes de XP.&lt;br /&gt;
2.1.3 Simplicidade&lt;br /&gt;
&lt;br /&gt;
Para que o cliente possa aprender durante o projeto e consiga dar o feedback necessário à equipe, não basta apenas uma boa comunicação, é necessário que os desenvolvedores implementem da forma mais simples possível o que o cliente deseja.&lt;br /&gt;
&lt;br /&gt;
A lei é: faça a coisa mais simples que pode funcionar. Com esta filosofia, o cliente terá a funcionalidade rapidamente e da forma desejada, dando um feedback instantaneamente evitando especulações. O desenvolvedor deve implementar apenas o necessário para que o cliente tenha seu pedido atendido.&lt;br /&gt;
&lt;br /&gt;
Ser simples não é um ato de desespero, é um ato de consciência e absoluta precisão. Muitas pessoas confundem simplicidade e facilidade. O mais simples nem sempre é o mais fácil e também não é escrever menos código. Simplicidade significa codificar o necessário para que um requisito seja atendido e entregue ao cliente.&lt;br /&gt;
&lt;br /&gt;
Evita-se suposições, o futuro é incerto e por causa disso não necessita atenção. Os requisitos evoluem gradativamente em conjunto com o sistema e a arquitetura do projeto. Algumas vezes, o que é necessário hoje será descartado amanhã, e outras vezes o que seria necessário num futuro próximo nunca será utilizado.&lt;br /&gt;
2.1.4 Coragem&lt;br /&gt;
&lt;br /&gt;
Por ser um processo de desenvolvimento novo e baseado em diversas premissas que contrariam o modelo tradicional, o XP exige que os desenvolvedores tenham coragem para:&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Desenvolver software de forma incremental;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Manter o sistema simples;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Permitir que o cliente defina prioridades;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Fazer desenvolvedores trabalharem em pares:&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Investir tempo em refactoring ;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Investir tempo em testes automatizados;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Estimar estórias na presença do cliente;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Expor código a todos os membros da equipe;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Integrar o sistema diversas vezes ao dia;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Adotar ritmo sustentável de desenvolvimento;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Abrir mão de documentos que servem como defesa;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Propor contratos de escopo variável;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Propor a adoção de um processo novo.&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Assumir em relação ao cliente possíveis atrasos e problemas de implementação;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Colocar desenvolvedores e clientes frente a frente;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Implantar uma nova versão do sistema no cliente semanalmente;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Apostar em seus colaboradores aumentando suas responsabilidades;&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
Modelar e documentar apenas quando for de extrema necessidade.&lt;br /&gt;
&lt;br /&gt;
2.2 Praticas da XP&lt;br /&gt;
&lt;br /&gt;
Como o nome já diz, as práticas são um conjunto de atividades que deverão ser seguidas pelas equipes que desejam utilizar a XP.&lt;br /&gt;
&lt;br /&gt;
Os valores já apresentados somados a estas práticas são um conjunto ? entrelaçado ? de boas atitudes. A fraquesa de umas é compensado por outra e assim fecha-se um ciclo fortemente dependente.&lt;br /&gt;
2.2.1 Cliente disponível ou presente&lt;br /&gt;
&lt;br /&gt;
O XP trabalha com uma visão diferente do modelo tradicional em relação ao cliente. O XP sugere que o cliente esteja no dia-a-dia do projeto, acompanhando os passos dos desenvolvedores, onde a sua ausência representa sérios riscos ao projeto.&lt;br /&gt;
&lt;br /&gt;
As funcionalidades do sistema são descritas brevemente em estórias em conjunto com os testes conceituais e serão estes os indicadores para uma boa implementação. No momento que os desenvolvedores irão implementar as estórias nada mais eficaz do que dialogar com o cliente para entender a estória, fazendo-se necessária a presença do cliente no ambiente de desenvolvimento.&lt;br /&gt;
&lt;br /&gt;
Ao terminar uma estória, com a presença do cliente, a mesma poderá ser validada rapidamente e a equipe receber o feedback necessário sobre a funcionalidade, criando ciclos rápidos e precisos.&lt;br /&gt;
2.2.2 Jogo de planejamento&lt;br /&gt;
&lt;br /&gt;
A XP utiliza o planejamento para assegurar que a equipe de desenvolvimento esteja trabalhando naquilo que gere o máximo de valor para o cliente. Este planejamento é feito várias vezes durante o projeto. é o momento onde o cliente solicita as funcionalidades desejadas através de estórias, onde a equipe estima o custo de cada estória e planeja as releases e as iterações.&lt;br /&gt;
&lt;br /&gt;
Todas as funcionalidades do sistema são descritas em estórias, pequenos cartões em que o cliente deve descrever o que deseja com suas palavras e da forma mais simples possível. Lembrando que a simplicidade também deve ser respeitada pelo cliente.&lt;br /&gt;
&lt;br /&gt;
Após a definição das estórias é necessário estimar o tempo das mesmas para que o cliente priorize o que deve ser implementado. A XP utiliza uma unidade chamada ponto , que refere-se a um dia de trabalho ideal do desenvolvedor, onde o mesmo não precisaria atender telefonemas, participar de reuniões, ou seja, estaria preocupado apenas com a estória em questão.&lt;br /&gt;
&lt;br /&gt;
Muitas vezes algumas estórias consomem semanas de trabalho, oferecendo uma certa dificuldade de serem estimadas. A XP recomenda que estas estórias sejam quebradas em tarefas menores e que as mesmas não utilizem mais que alguns pontos de um desenvolvedor, recomenda-se 4 pontos ao máximo.&lt;br /&gt;
&lt;br /&gt;
Em cada estória é escrita a quantidade de pontos estimadas pelo desenvolvedor, o XP recomenda que as estimativas sejam efetuadas em equipe e se possível com a presença do cliente para que durante a estimativa eventuais dúvidas sejam sanadas.&lt;br /&gt;
&lt;br /&gt;
O XP tem por objetivo gerar valor para o cliente ao longo do projeto, para isto o software é desenvolvido de forma incremental, onde a cada entrega o cliente possa utilizar o sistema e obter benefícios do mesmo. Estas entregas o XP denomina como sendo releases , pequenos intervalos de tempo, máximo 2 meses, onde funcionalidades que gerem valor ao cliente sejam entregues.&lt;br /&gt;
&lt;br /&gt;
A divisão dos releases é efetuada no início do projeto, geralmente com tamanhos fixos e pequenos. Após esta divisão o cliente define as estórias que farão parte dos releases e tenta-se evitar um planejamento muito longo, pois na entrega de cada release o cliente aprenderá com o sistema e possivelmente irá alterar as estórias para o próximo release .&lt;br /&gt;
&lt;br /&gt;
Mesmo os releases sendo efetuados em curto espaço de tempo, continua representando um tempo muito longo para o feedback do cliente. Por esta razão os releases são divididos em espaços menores, chamados de iterações .&lt;br /&gt;
&lt;br /&gt;
Uma iteração contêm um conjunto de estórias a serem implementadas, com duração entre uma a três semanas, onde ao final da mesma o cliente possa validar as implementações efetuadas e fornecer o feedback necessário à equipe.&lt;br /&gt;
2.2.3 Stand up meeting&lt;br /&gt;
&lt;br /&gt;
O dia de trabalho de uma equipe XP sempre começa com um stand up meeting . é uma reunião rápida pela manhã, com aproximadamente 20 minutos de duração e onde seus integrantes permaneçam preferencialmente em pé.&lt;br /&gt;
&lt;br /&gt;
Segundo estudos uma reunião em pé é mais rápida, evita bate-papos paralelos e faz os integrantes irem diretamente ao assunto. Mais uma vez, ágil e simples.&lt;br /&gt;
&lt;br /&gt;
A reunião tem por objetivo atualizar a equipe sobre o que foi implementado no dia anterior e trocar experiências das dificuldades enfrentadas. Neste momento também são decididas as estórias que serão implementadas no dia e em conjunto definir os responsáveis por cada uma delas.&lt;br /&gt;
2.2.4 Programação em par&lt;br /&gt;
&lt;br /&gt;
O XP exige que todo e qualquer código implementado no projeto seja efetuado em dupla, chamada de programação em par. é uma técnica onde dois desenvolvedores trabalham no mesmo problema, ao mesmo tempo e no mesmo computador. Um deles é responsável pela digitação (condutor) e outro acompanhando o trabalho do parceiro (navegador).&lt;br /&gt;
&lt;br /&gt;
Esta prática agrega diversas técnicas de programação, enquanto o condutor codifica o problema o navegador permanentemente revisa o código digitado, onde pequenos erros de programação que demoraria algumas horas para serem depurados, facilmente são percebidos pelo navegador da dupla.&lt;br /&gt;
&lt;br /&gt;
Um dos grandes benefícios da programação em par é a troca de experiências e idéias entre os desenvolvedores. A solução para um problema geralmente é a soma das idéias da dupla, tornando uma solução e codificação muito mais simples e eficaz.&lt;br /&gt;
&lt;br /&gt;
é com esta prática que o XP uniformiza o nível dos desenvolvedores da equipe, através da troca de experiências. Após alguns meses trabalhando em duplas todos os desenvolvedores conhecerão todas rotinas do sistema, prontos para qualquer modificação ou para auxiliar algum iniciante.&lt;br /&gt;
&lt;br /&gt;
Um grande questionamento sobre esta prática é com questão a produtividade dos desenvolvedores. Porém, é um erro pensar que somente uma pessoa estará codificando enquanto o outro apenas observa. O membro que não está codificando não apenas observa, mas também troca idéias, gera soluções e evita praticamente todos erros de codificação além de cobrar padrões de desenvolvimento da equipe.&lt;br /&gt;
&lt;br /&gt;
Estudos indicam que a produtividade de uma equipe que utiliza pair programming e de equipes que tenham desenvolvedores sozinhos é praticamente a mesma, porém a qualidade do código gera facilidade de manutenção e outros ganhos a médio e longo prazo.&lt;br /&gt;
2.2.5 Refactoring&lt;br /&gt;
&lt;br /&gt;
Um desenvolvedor ao deparar com um código mal escrito ou pouco legível mas que esteja funcionando, nos modelos tradicionais de desenvolvimento, dificilmente efetuaria alterações neste código, mesmo que tivesse que implementar novas funcionalidades.&lt;br /&gt;
&lt;br /&gt;
O XP prega que todo desenvolvedor ao encontrar um código duplicado, pouco legível, mal codificado, sem padronização, lento, com código legado ou uso incorreto de outras implementações, tem por obrigação alterar este código deixando-o mais legível e simples, porém esta alteração não pode mudar o comportamento do código em questão.&lt;br /&gt;
&lt;br /&gt;
Esta prática anda de mãos dadas com o código coletivo, já que todo desenvolvedor tem a possibilidade de melhorar qualquer código do sistema.&lt;br /&gt;
&lt;br /&gt;
A padronização oferece facilidades aos desenvolvedores no momento de implementar novas funcionalidades ou efetuar qualquer tipo de manutenção, uma vez que o código se encontra simples e claro.&lt;br /&gt;
&lt;br /&gt;
Uma questão importante é que a prática de refactoring esta apoiada pelos testes automatizados, pois facilmente o desenvolvedor terá um feedback se a alteração por ele efetuada irá gerar qualquer tipo de comportamento anormal no sistema, sofrendo o aprendizado sobre a alteração por ele efetuada.&lt;br /&gt;
2.2.6 Desenvolvimento guiado por testes&lt;br /&gt;
&lt;br /&gt;
Esta atividade é considerada extremamente chata e dispendiosa por muitos desenvolvedores na modelagem tradicional, porém para os desenvolvedores de uma equipe XP esta atividade deve ser encarada com extrema naturalidade. Todo código implementando deve coexistir com um teste automatizado, assim garantindo o pleno funcionamento da nova funcionalidade.&lt;br /&gt;
&lt;br /&gt;
é com base nestes testes automatizados que qualquer desenvolvedor terá coragem para alterar uma parte do código que não tenha sido implementada por ele, já que executando os testes automatizados poderá verificar instantaneamente se a modificação efetuada alterou o comportamento do sistema.&lt;br /&gt;
&lt;br /&gt;
Com a implementação de testes o desenvolvedor poderá amadurecer o entendimento sobre o problema que irá solucionar, já que os testes são codificados antes da nova implementação.&lt;br /&gt;
&lt;br /&gt;
No XP existem dois tipos de testes, os testes de unidade e de aceitação. O teste de unidade tem por objetivo verificar se os resultados gerados por cada classe estão corretos, já o teste de aceitação tem por objetivo verificar se a interação entre as classes que implementam uma funcionalidade (estória) atendem a necessidade de forma correta. Os testes de aceitação são descritos pelo cliente e implementados pelos desenvolvedores, facilitando ainda mais a interação entre as partes.&lt;br /&gt;
2.2.7 Código coletivo&lt;br /&gt;
&lt;br /&gt;
No modelo tradicional de desenvolvimento, é comum dividir o projeto em partes e colocar responsáveis por cada uma destas partes. Porém apenas uma pessoa torna-se conhecedora daquela parte.&lt;br /&gt;
&lt;br /&gt;
Este tipo de divisão traz sérios problemas ao projeto, uma vez que se aquela parte necessitar inúmeras alterações, apenas uma pessoa estará capacitada para alterá-la. Com estas inúmeras alterações, esta pessoa pode se tornar um gargalo no projeto.&lt;br /&gt;
&lt;br /&gt;
O XP trava uma batalha contra este tipo de divisão, já que não existe uma pessoa responsável por uma parte do código. Cada desenvolvedor tem acesso a qualquer parte do sistema e tem liberdade para alterá-la a qualquer momento e sem qualquer tipo de aviso. &lt;br /&gt;
&lt;br /&gt;
Esta prática tem como conseqüência um código revisado por diversas pessoas e caso algo não esteja claro, com certeza será alterado por alguma pessoa ( refactoring ) para que o mesmo torne-se legível.&lt;br /&gt;
2.2.8 Padrões de desenvolvimento&lt;br /&gt;
&lt;br /&gt;
Um dos valores do XP é a comunicação, e o código também é uma forma da equipe se comunicar. Uma forma clara de se comunicar através do código, é manter um padrão no projeto para que qualquer um possa rapidamente entender o código lido.&lt;br /&gt;
&lt;br /&gt;
O XP recomenda a adoção de um padrão desde o início do projeto, preferencialmente padrões utilizados pela comunidade da linguagem de desenvolvimento. Havendo a necessidade de modificações e adaptações durante o projeto, que visam agilizar o desenvolvimento, as mesmas devem ser efetuadas.&lt;br /&gt;
2.2.9 Design simples&lt;br /&gt;
&lt;br /&gt;
Nota-se que todas as práticas do XP focam que o maior valor possível seja gerado para o cliente, para tal premissa ser verdadeira o XP prega um design do sistema da forma mais simples possível para que atenda a necessidade do cliente.&lt;br /&gt;
&lt;br /&gt;
Umas das premissas do desenvolvimento tradicional é que o custo de uma alteração no sistema cresce exponencialmente ao longo do projeto, com isto tenta-se criar soluções genéricas preparando o sistema para futuras alterações.&lt;br /&gt;
&lt;br /&gt;
Este tipo de pensamento dá margens para especulações e implementações que na maioria dos casos não terá utilidade para o cliente. O XP parte do princípio que o custo de uma alteração tende a crescer lentamente e se estabilizar ao longo do projeto, esta premissa é dita em função dos avanços nas linguagens e práticas de programação, novos ambientes e ferramentas de desenvolvimento, utilização de orientação a objetos no desenvolvimento e em conjunto com estes novos avanços existe o fruto das outras práticas XP, deixando o código simples, legível e passível de alteração a qualquer momento.&lt;br /&gt;
2.2.10 Metáfora&lt;br /&gt;
&lt;br /&gt;
Muitas vezes pessoas tentam explicar um assunto ou problema a outras pessoas por um período sem obter o êxito necessário na explicação dada, simplesmente as outras pessoas não conseguem entender a mensagem que está se tentando repassar.&lt;br /&gt;
&lt;br /&gt;
Ao criar comparações e analogias com o assunto que está em questão as pessoas passarão a entender deste assunto de uma forma muito mais rápida e possivelmente não a esquecerão mais. Este tipo de artifício é chamado de metáfora no XP, e deve ser utilizado com intensidade durante o projeto, uma vez que facilita a comunicação e fixação dos assuntos entre as partes.&lt;br /&gt;
&lt;br /&gt;
Esta prática anda em conjunto com o ritmo sustentável, já que para o desenvolvedor criar boas metáforas exige criatividade e desenvolvimento de idéias, o que torna necessário uma boa condição física e bem estar por parte do desenvolvedor.&lt;br /&gt;
2.2.11 Ritmo sustentável&lt;br /&gt;
&lt;br /&gt;
Uma grande problema nos projetos de software é a falta de tempo para encerrar o mesmo, e uma das técnicas mais adotadas para compensar a falta de tempo é submeter os desenvolvedores (humanos) a trabalharem até mais tarde e muitas vezes sacrificarem seus finais de semana.&lt;br /&gt;
&lt;br /&gt;
Nos primeiros momentos este tipo de atitude tem efeitos positivos, porém passado alguns dias o rendimento da equipe cai drasticamente, dando margens a erros pela falta de concentração no desenvolvimento, justamente pelo cansaço físico do desenvolvedor.&lt;br /&gt;
&lt;br /&gt;
O XP proíbe que os desenvolvedores trabalhem até mais tarde. O XP sugere um ritmo sustentável de 40 horas semanais, respeitando assim a individualidade e o físico de cada desenvolvedor. Desta forma a equipe estará sempre concentrada e muito menos propensa a pequenas falhas na implementação.&lt;br /&gt;
2.2.12 Integração contínua&lt;br /&gt;
&lt;br /&gt;
No desenvolvimento tradicional geralmente as equipes são organizadas de modo que uma parte (módulo) fiquei sob responsabilidade de um desenvolvedor, cabe a esta pessoa efetuar testes e codificação que dizem respeito a sua parte. Esta estratégia reduz a complexidade e as preocupações de um desenvolvedor.&lt;br /&gt;
&lt;br /&gt;
Interfaces de integração são convencionadas para que futuramente estas partes possam se comunicar, este tipo de desenvolvimento esta propenso a sérios erros de integração, uma vez que os períodos em que as partes são integradas e testadas são extremamente longos.&lt;br /&gt;
&lt;br /&gt;
O XP propõe uma integração contínua, se possível deve ser efetuada diversas vezes ao dia para que toda a equipe tenha conhecimento do código recém desenvolvido. Com esta prática o feedback sobre a alteração efetuada será retornado em um menor espaço de tempo.&lt;br /&gt;
2.2.13 Releases curtos&lt;br /&gt;
&lt;br /&gt;
No modelo tradicional o projeto é dividido em fases, de um modo que o cliente começará a ter benefício com o sistema muito próximo de o mesmo estar finalizado. A maior parte do investimento do projeto é feita antes mesmo de estar concluído, sem ter gerado qualquer tipo de valor econômico ao cliente.&lt;br /&gt;
&lt;br /&gt;
O XP recomenda que pequenos investimento sejam efetuados de forma gradual e que busque grandes recompensas o mais rapidamente possível. Com a prática de releases curtos, o XP pretende dar o máximo de valor econômico ao cliente em um curto espaço de tempo. &lt;br /&gt;
&lt;br /&gt;
Release é um conjunto de funcionalidade bem definidas e que representam algum valor para o cliente. Um projeto XP pode ter um ou mais releases no seu ciclo de desenvolvimento.&lt;br /&gt;
2.3 Equipe XP&lt;br /&gt;
&lt;br /&gt;
Em uma equipe de XP existem papéis a serem desempenhados por um ou mais desenvolvedores. Estes papéis serão listados a seguir.&lt;br /&gt;
2.3.1 Gerente de projeto&lt;br /&gt;
&lt;br /&gt;
Pessoa responsável pelos assuntos administrativos do projeto, mantendo um forte relacionamento com o cliente para que o mesmo participe das atividades do desenvolvimento.&lt;br /&gt;
&lt;br /&gt;
O gerente de projeto é responsável por filtrar assuntos não relevantes aos desenvolvedores e aspectos que só devam ser implementados em iterações futuras.&lt;br /&gt;
&lt;br /&gt;
Para um bom exercício de gerente de projeto é necessário que a pessoa conheça e acredite nos valores e práticas do XP para que possa cobrar isto da sua equipe.&lt;br /&gt;
2.3.2 Coach&lt;br /&gt;
&lt;br /&gt;
Pessoa responsável pelas questões técnicas do projeto, recomenda-se que esta pessoa seja a com maior conhecimento do processo de desenvolvimento, dos valores e práticas do XP. é de responsabilidade do coach verificar o comportamento da equipe frente o processo XP, sinalizando os eventuais erros cometidos pela equipe.&lt;br /&gt;
2.3.3 Analista de teste&lt;br /&gt;
&lt;br /&gt;
Pessoa responsável em garantir a qualidade do sistema através dos testes escritos. Ele deve ajudar o cliente a escrever os casos de testes e no final de cada iteração verificar se o software atende todos os casos de testes.&lt;br /&gt;
&lt;br /&gt;
Recomenda-se que esta pessoa não seja um desenvolvedor, para evitar uma visão tendenciosa já que não conhece o código desenvolvido. O analista de teste deve ter uma visão muito parecida com a do cliente e em muitos projetos esta pessoa acaba exercendo o papel de redator técnico.&lt;br /&gt;
2.3.4 Redator técnico&lt;br /&gt;
&lt;br /&gt;
Pessoa responsável em documentar o sistema, evitando um forte trabalho dos desenvolvedores neste tipo de atividade, permitindo uma maior dedicação ao trabalho de codificação.&lt;br /&gt;
&lt;br /&gt;
Esta pessoa deve estar em plena sintonia com os desenvolvedores e cliente para que a documentação reflita o código escrito e as regras de negócio atendidas pelo sistema.&lt;br /&gt;
2.3.5 Desenvolvedor&lt;br /&gt;
&lt;br /&gt;
Pessoa responsável em analisar, projetar e codificar o sistema. No XP não existe diferença entre analista, projetista e programador uma vez que em vários momentos do projeto o desenvolvedor estará exercendo alguma destas atividades.&lt;br /&gt;
&lt;br /&gt;
Naturalmente existe níveis distintos de desenvolvedores dentro de uma equipe, mas com as práticas do XP, como pair programming , a tendência é a equipe se tornar uniforme em suas habilidades.&lt;br /&gt;
3 Conclusões&lt;br /&gt;
&lt;br /&gt;
A metodologia de desenvolvimento Extreme Programming pode ser considerada extremamente nova, porém vem acompanhando as necessidades humanas dos desenvolvedores pelo mundo.&lt;br /&gt;
&lt;br /&gt;
Gurus da tecnologia da informação vem aprimorando as concepções desta metodologia para atender as necessidades do mercado e principalmente das pessoas.&lt;br /&gt;
&lt;br /&gt;
Um empresa ao utilizar este processo por completo, só estará agregando valor aos seus negócios e melhorando o ambiente de seus colaboradores e clientes, tratando-os como pessoas e parceiros. Está é chave no mundo dos negócios, o bem estar de seus colaboradores e a parceria entre o fornecedor e seus clientes, criando um laço de confiança ou até mesmo um sentimento de amizade.&lt;br /&gt;
&lt;br /&gt;
Entender as necessidades do cliente não é ciência, é arte. Dar incentivo a ela é o mínimo que podemos fazer.&lt;br /&gt;
4 Referências&lt;br /&gt;
&lt;br /&gt;
AMBROSI, Cleison Vander; GRAHL, Everaldo Artur. Extreme Programming: Um modelo de processo para o desenvolvimento de software. Blumenau ? SC: Instituto Catarinense de Pós-Graduação.&lt;br /&gt;
&lt;br /&gt;
ASTELS, David; MILLER, Granville; NOVAK, Miroslav. Extreme Programming: Guia prático. Rio de Janeiro ? RJ: Campus, 2002.&lt;br /&gt;
&lt;br /&gt;
BECK, Kent. Programação extrema (XP) explicada: acolha as mudanças. Porto Alegre ? RS: Bookman, 2004.&lt;br /&gt;
&lt;br /&gt;
POHREN, Daniel. XP Manager: Uma Ferramenta de Gerência de Projetos Baseados em Extreme Programming. Novo Hamburgo ? RS: Centro Universitário Feevale, 2004.&lt;br /&gt;
&lt;br /&gt;
TELES, Vinícius Manhães. Extreme Programming: Aprenda como encantar seus usuários desenvolvendo software com agilidade e alta qualidade. São Paulo - SP: Novatec Editora Ltda, 2004.&lt;br /&gt;
&lt;br /&gt;
WUESTEFELD, Klaus. Xispê: Extreme Programming. Disponível em http://www.xispe.com.br/index.html . Acesso em: 23 / 07 / 2004.</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/8763496903026828749/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/extreme-programming-engenharia-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/8763496903026828749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/8763496903026828749'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/extreme-programming-engenharia-de.html' title='Extreme Programming , Engenharia de Software, Qualidade de Software, Metodologia de Desenvolvimento, Processos Ágeis de Desenvolvimento, XP.'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-7114392720241703431</id><published>2011-07-20T14:45:00.000-07:00</published><updated>2011-07-20T14:45:54.078-07:00</updated><title type='text'>Processos do gerenciamento de projetos</title><content type='html'>A aplicação dos conhecimentos requer a adoção eficaz de processos apropriados. Cada área de conhecimento abrange diversos processos no gerenciamento de projetos.&lt;br /&gt;
Um &lt;b&gt;processo&lt;/b&gt; é um conjunto de ações e atividades interrelacionadas que são executadas para alcançar um objetivo. Cada processo é caracterizado por suas entradas, as ferramentas e as técnicas que podem ser aplicadas, e as saídas resultantes.&lt;br /&gt;
&lt;div class=&quot;boxRight&quot;&gt;&lt;img alt=&quot;Grupos de processos PMBoK&quot; height=&quot;340&quot; src=&quot;http://www.mhavila.com.br/topicos/gestao/img/pmbok_grupos_processos.png&quot; title=&quot;Grupos de processos do PMBoK no ciclo PDCA&quot; width=&quot;480&quot; /&gt;&lt;/div&gt;Os cinco &lt;b&gt;grupos de processos&lt;/b&gt; de gerenciamento de projetos são:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Iniciação&lt;/li&gt;
&lt;li&gt;Planejamento&lt;/li&gt;
&lt;li&gt;Execução&lt;/li&gt;
&lt;li&gt;Monitoramento e Controle&lt;/li&gt;
&lt;li&gt;Encerramento&lt;/li&gt;
&lt;/ol&gt;Os grupos de processos de gerenciamento de projetos têm grande correspondência com o conceito do Ciclo PDCA (&lt;i&gt;Plan - Do - Check - Act&lt;/i&gt;): Planejar - Fazer - Verificar - Agir (corrigir e melhorar). O grupo de Planejamento corresponde ao Planejar; Execução, ao Fazer; e Monitoramento e controle englobam Verificar e Agir. E como a natureza dos projetos é finita, o PMBOK ainda caracteriza os grupos de processos que iniciam (Iniciação) e finalizam (Encerramento) um projeto.&lt;br /&gt;
Além de conceituar os aspectos fundamentais do gerenciamento de projetos, de forma a promover um vocabulário comum dentro dessa profissão, o Guia PMBOK documenta (define e descreve) processos de gerenciamento de projetos e os apresenta didaticamente, organizados em um capítulo por área de conhecimento. Em cada processo, são abordados suas entradas e saídas, suas características, bem como os artefatos, técnicas e ferramentas envolvidas.&lt;br /&gt;
O excelente diagrama com um fluxo proposto por Mauro Sotille, disponível nas seções de &lt;a href=&quot;http://www.pmtech.com.br/templates.html&quot;&gt;templates&lt;/a&gt; e &lt;a href=&quot;http://www.pmtech.com.br/artigos.html#GP&quot;&gt;artigos sobre Gerenciamento de Projetos do portal da empresa PM Tech&lt;/a&gt;, relaciona de forma gráfica e sintética todos os &lt;b&gt;42 processos de gerenciamento de um projeto&lt;/b&gt;  descritos no PMBOK 4ª Edição, indicando também os cinco grupos em que  os processos se distribuem e as respectivas áreas de conhecimento  associadas a cada um.&lt;br /&gt;
.  &lt;br /&gt;
&lt;div class=&quot;box&quot;&gt;&lt;a href=&quot;http://www.pmtech.com.br/artigos/Fluxo_PMBOK_4aEd_Mauro_Sotille_icones_A4.pdf&quot;&gt; &lt;img alt=&quot;Fluxo de processos PMBoK 4ed&quot; height=&quot;420&quot; src=&quot;http://www.mhavila.com.br/topicos/gestao/img/pmtech_processos_pmbok4.png&quot; title=&quot;Fluxo de Processos do Gerenciamento de Projetos - PMBOK 4a Edição&quot; width=&quot;570&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Crédito/Fonte: &lt;a href=&quot;http://www.pmtech.com.br/artigos/Fluxo_PMBOK_4aEd_Mauro_Sotille_icones_A4.pdf&quot;&gt; Fluxo de Processos do Gerenciamento de Projetos - PMBOK 4a Edição - com ícones&lt;/a&gt; [PDF], por &lt;a href=&quot;http://www.pmtech.com.br/Sotille.html&quot;&gt;Mauro Afonso Sotille&lt;/a&gt;, &lt;a href=&quot;http://www.pmtech.com.br/&quot;&gt;PM Tech&lt;/a&gt; - Capacitação em Gerenciamento de Projetos, Porto Alegre - RS, 2009. Ver também &lt;a href=&quot;http://www.pmtech.com.br/artigos/Fluxo_PMBOK_4aEd_Mauro_Sotille_A4.pdf&quot;&gt; Fluxo de Processos do GP - PMBOK 4ed&lt;/a&gt; (sem ícones) e &lt;a href=&quot;http://www.pmtech.com.br/artigos/Processos_PMBOK_4a_Mauro_Sotille.pdf&quot;&gt; Visão Geral dos Processos do GP - PMBOK 4ed&lt;/a&gt;.&lt;/div&gt;Para estes mesmos 42 processos de gerenciamento de projetos do PMBOK 2008, a matriz a seguir provê uma visão quantitativa de sua distribuição pelas áreas de conhecimento e pelos grupos de processos. Clique na figura para exibir uma descrição resumida dos respectivos processos.&lt;br /&gt;
&lt;div class=&quot;box&quot;&gt;&lt;a href=&quot;http://www.mhavila.com.br/topicos/gestao/pmbok.html#&quot;&gt; &lt;img alt=&quot;Grupos × Áreas PMBOK 4ed&quot; height=&quot;374&quot; src=&quot;http://www.mhavila.com.br/topicos/gestao/img/pmbok4_42procs.png&quot; title=&quot;Grupos de Processos × Áreas de Conhecimentos - PMBOK 4a Edição&quot; width=&quot;570&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Pelo diagrama é fácil perceber algumas características lógicas dos processos de gerenciamento de um projeto:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;praticamente todas as áreas de conhecimento são abordadas nas atividades de  Planejamento (definir, estimar e planejar cada aspecto) e de Monitoramento e  Controle (controlar) — no PMBOK 4ª edição, o processo de Gerenciar  a equipe passou ao grupo de Execução, deixando apenas a área de RH sem  processos no grupo de Controle;&lt;/li&gt;
&lt;li&gt;quanto a Execução, os aspectos envolvidos mais ativamente são a equipe (RH),  as comunicações, as aquisições, e a garantia da qualidade;&lt;/li&gt;
&lt;li&gt;a integração se faz presente em todos os momentos do projeto.&lt;/li&gt;
&lt;li&gt;na figura com as descrições, os grupos de processos representam os tipos de atividades,  as áreas de conhecimento caracterizam os assuntos, e seu cruzamento induz, de forma  bastante intuitiva, os respectivos verbos — definir, planejar, estimar,  gerenciar, monitorar, controlar, encerrar etc. — e substantivos que  descrevem os processos de gerenciamento relacionados.&lt;/li&gt;
&lt;/ul&gt;Isso mostra que os conceitos e melhores práticas que o PMBOK reúne, organiza e formaliza estão naturalmente presentes na essência do gerenciamento de qualquer bom projeto.</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/7114392720241703431/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/processos-do-gerenciamento-de-projetos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/7114392720241703431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/7114392720241703431'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/processos-do-gerenciamento-de-projetos.html' title='Processos do gerenciamento de projetos'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-8878020328988455195</id><published>2011-07-20T14:29:00.003-07:00</published><updated>2011-07-20T14:29:38.209-07:00</updated><title type='text'>O gerente de projetos</title><content type='html'>O &lt;strong&gt;gerente do projeto&lt;/strong&gt; é a pessoa designada pela organização responsável pela condução do projeto, com a missão de zelar para que os objetivos do projeto sejam atingidos. O gerente de projetos tem sido caracterizado por um perfil profissional com domínio e experiência especializados nos processos e nas áreas de conhecimento do gerenciamento de projetos.&lt;br /&gt;
O trabalho do gerente de um projeto pode ser sintetizado em dois grandes elementos:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Planejar&lt;/strong&gt; (antes) e &lt;strong&gt;Controlar&lt;/strong&gt; (durante) as atividades  do projeto e seu gerenciamento, conforme se pode constatar pela concentração de  processos de gerenciamento de um projeto abrangendo todas os aspectos envolvidos.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comunicar&lt;/strong&gt;: os gerentes de projetos passam a maior parte do seu tempo  se comunicando com os membros da equipe e outras partes interessadas do projeto.&lt;/li&gt;
&lt;/ul&gt;Além disso, os gerentes de projetos devem dominar diversas &lt;strong&gt;habilidades interpessoais&lt;/strong&gt; que utilizam com frequência, dentre as quais pode-se destacar:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Comprometimento, responsabilidade, ética e honestidade;&lt;/li&gt;
&lt;li&gt;Transparência, franqueza, clareza e objetividade;&lt;/li&gt;
&lt;li&gt;Liderança, agregação, motivação e entusiasmo;&lt;/li&gt;
&lt;li&gt;Solução de conflitos e problemas;&lt;/li&gt;
&lt;li&gt;Negociação, influência e persuasão;&lt;/li&gt;
&lt;li&gt;Decisão, iniciativa e proatividade;&lt;/li&gt;
&lt;li&gt;Organização e disciplina;&lt;/li&gt;
&lt;li&gt;Autocontrole, equilíbrio e resiliência;&lt;/li&gt;
&lt;li&gt;Empreendedorismo;&lt;/li&gt;
&lt;li&gt;Eficácia.&lt;/li&gt;
&lt;/ul&gt;Mais que ser um facilitador, o gerente de projetos deve fazer a diferença no andamento e no sucesso dos projetos.</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/8878020328988455195/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/o-gerente-de-projetos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/8878020328988455195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/8878020328988455195'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/o-gerente-de-projetos.html' title='O gerente de projetos'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-7499340519652894161</id><published>2011-07-20T14:26:00.000-07:00</published><updated>2011-07-20T14:26:57.627-07:00</updated><title type='text'>Gerenciamento de Projetos</title><content type='html'>Um &lt;strong&gt;projeto&lt;/strong&gt; é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo.&lt;br /&gt;
Dois termos da definição de projetos merecem destaque. &lt;em&gt;Temporário&lt;/em&gt; não significa necessariamente de curta duração, mas sim que um projeto possui um início e um término definidos. Isso distingue o projeto dos trabalhos operacionais de natureza contínua.&lt;br /&gt;
E &lt;em&gt;exclusivo&lt;/em&gt; indica a singularidade da natureza de cada projeto, pois mesmo que elementos repetitivos ou similares possam estar presentes em algumas entregas do projeto, o resultado de cada projeto é obtido sob uma combinação exclusiva de objetivos, circunstâncias, condições, contextos, fornecedores etc.&lt;br /&gt;
&lt;div class=&quot;boxRight&quot;&gt;&lt;/div&gt;&lt;div class=&quot;boxRight&quot;&gt;&lt;a href=&quot;http://www.mhavila.com.br/topicos/gestao/pmbok.html#&quot;&gt;&lt;img alt=&quot;Áreas PMBoK&quot; height=&quot;480&quot; src=&quot;http://www.mhavila.com.br/topicos/gestao/img/pmbok_areas.png&quot; title=&quot;Visão das nove áreas de conhecimento do PMBoK&quot; width=&quot;380&quot; /&gt;&lt;/a&gt;&lt;/div&gt;O &lt;strong&gt;gerenciamento de projetos&lt;/strong&gt; consiste na aplicação de conhecimentos, habilidades, ferramentas e técnicas adequadas às atividades do projeto, a fim de cumprir seus requisitos.&lt;br /&gt;
&lt;h3&gt;Áreas de conhecimento&lt;/h3&gt;As nove &lt;strong&gt;áreas de conhecimento&lt;/strong&gt; caracterizam os principais aspectos envolvidos em um projeto e no seu gerenciamento:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Integração&lt;/li&gt;
&lt;li&gt;Escopo&lt;/li&gt;
&lt;li&gt;Tempo&lt;/li&gt;
&lt;li&gt;Custos&lt;/li&gt;
&lt;li&gt;Qualidade&lt;/li&gt;
&lt;li&gt;Recursos humanos&lt;/li&gt;
&lt;li&gt;Comunicações&lt;/li&gt;
&lt;li&gt;Riscos&lt;/li&gt;
&lt;li&gt;Aquisições&lt;/li&gt;
&lt;/ul&gt;Escopo, Tempo, Custos e Qualidade são os principais determinantes para o objetivo de um projeto: entregar um resultado de acordo com o escopo, no prazo e no custo definidos, com qualidade adequada; em outras palavras, o que, quando, quanto e como. Recursos Humanos e Aquisições são os insumos para produzir o trabalho do projeto. Comunicações e Riscos devem ser continuamente abordados para manter as expectativas e as incertezas sob controle, assim como o projeto no rumo certo. E Integração abrange a orquestração de todos estes aspectos.&lt;br /&gt;
Um projeto consiste nisso: pessoas (e máquinas) que utilizam tempo, materiais e dinheiro realizando trabalho coordenado para atingir determinado objetivo.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Processos do gerenciamento de projetos&lt;/h3&gt;A aplicação dos conhecimentos requer a adoção eficaz de processos apropriados. Cada área de conhecimento abrange diversos processos no gerenciamento de projetos.&lt;br /&gt;
Um &lt;strong&gt;processo&lt;/strong&gt; é um conjunto de ações e atividades interrelacionadas que são executadas para alcançar um objetivo. Cada processo é caracterizado por suas entradas, as ferramentas e as técnicas que podem ser aplicadas, e as saídas resultantes.&lt;br /&gt;
&lt;div class=&quot;boxRight&quot;&gt;&lt;img alt=&quot;Grupos de processos PMBoK&quot; height=&quot;340&quot; src=&quot;http://www.mhavila.com.br/topicos/gestao/img/pmbok_grupos_processos.png&quot; title=&quot;Grupos de processos do PMBoK no ciclo PDCA&quot; width=&quot;480&quot; /&gt;&lt;/div&gt;Os cinco &lt;strong&gt;grupos de processos&lt;/strong&gt; de gerenciamento de projetos são:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Iniciação&lt;/li&gt;
&lt;li&gt;Planejamento&lt;/li&gt;
&lt;li&gt;Execução&lt;/li&gt;
&lt;li&gt;Monitoramento e Controle&lt;/li&gt;
&lt;li&gt;Encerramento&lt;/li&gt;
&lt;/ol&gt;Os grupos de processos de gerenciamento de projetos têm grande correspondência com o conceito do Ciclo PDCA (&lt;em&gt;Plan - Do - Check - Act&lt;/em&gt;): Planejar - Fazer - Verificar - Agir (corrigir e melhorar). O grupo de Planejamento corresponde ao Planejar; Execução, ao Fazer; e Monitoramento e controle englobam Verificar e Agir. E como a natureza dos projetos é finita, o PMBOK ainda caracteriza os grupos de processos que iniciam (Iniciação) e finalizam (Encerramento) um projeto.&lt;br /&gt;
Além de conceituar os aspectos fundamentais do gerenciamento de projetos, de forma a promover um vocabulário comum dentro dessa profissão, o Guia PMBOK documenta (define e descreve) processos de gerenciamento de projetos e os apresenta didaticamente, organizados em um capítulo por área de conhecimento. Em cada processo, são abordados suas entradas e saídas, suas características, bem como os artefatos, técnicas e ferramentas envolvidas.&lt;br /&gt;
O excelente diagrama com um fluxo proposto por Mauro Sotille, disponível nas seções de &lt;a href=&quot;http://www.pmtech.com.br/templates.html&quot;&gt;templates&lt;/a&gt; e &lt;a href=&quot;http://www.pmtech.com.br/artigos.html#GP&quot;&gt;artigos sobre Gerenciamento de Projetos do portal da empresa PM Tech&lt;/a&gt;, relaciona de forma gráfica e sintética todos os &lt;strong&gt;42 processos de gerenciamento de um projeto&lt;/strong&gt;  descritos no PMBOK 4ª Edição, indicando também os cinco grupos em que  os processos se distribuem e as respectivas áreas de conhecimento  associadas a cada um.&lt;br /&gt;
&lt;div class=&quot;box&quot;&gt;&lt;a href=&quot;http://www.pmtech.com.br/artigos/Fluxo_PMBOK_4aEd_Mauro_Sotille_icones_A4.pdf&quot;&gt; &lt;img alt=&quot;Fluxo de processos PMBoK 4ed&quot; height=&quot;420&quot; src=&quot;http://www.mhavila.com.br/topicos/gestao/img/pmtech_processos_pmbok4.png&quot; title=&quot;Fluxo de Processos do Gerenciamento de Projetos - PMBOK 4a Edição&quot; width=&quot;570&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
Crédito/Fonte: &lt;a href=&quot;http://www.pmtech.com.br/artigos/Fluxo_PMBOK_4aEd_Mauro_Sotille_icones_A4.pdf&quot;&gt; Fluxo de Processos do Gerenciamento de Projetos - PMBOK 4a Edição - com ícones&lt;/a&gt; [PDF], por &lt;a href=&quot;http://www.pmtech.com.br/Sotille.html&quot;&gt;Mauro Afonso Sotille&lt;/a&gt;, &lt;a href=&quot;http://www.pmtech.com.br/&quot;&gt;PM Tech&lt;/a&gt; - Capacitação em Gerenciamento de Projetos, Porto Alegre - RS, 2009. Ver também &lt;a href=&quot;http://www.pmtech.com.br/artigos/Fluxo_PMBOK_4aEd_Mauro_Sotille_A4.pdf&quot;&gt; Fluxo de Processos do GP - PMBOK 4ed&lt;/a&gt; (sem ícones) e &lt;a href=&quot;http://www.pmtech.com.br/artigos/Processos_PMBOK_4a_Mauro_Sotille.pdf&quot;&gt; Visão Geral dos Processos do GP - PMBOK 4ed&lt;/a&gt;.&lt;/div&gt;Para estes mesmos 42 processos de gerenciamento de projetos do PMBOK 2008, a matriz a seguir provê uma visão quantitativa de sua distribuição pelas áreas de conhecimento e pelos grupos de processos. Clique na figura para exibir uma descrição resumida dos respectivos processos.&lt;br /&gt;
&lt;div class=&quot;box&quot;&gt;&lt;a href=&quot;http://www.mhavila.com.br/topicos/gestao/pmbok.html#&quot;&gt; &lt;img alt=&quot;Grupos × Áreas PMBOK 4ed&quot; height=&quot;374&quot; src=&quot;http://www.mhavila.com.br/topicos/gestao/img/pmbok4_42procs.png&quot; title=&quot;Grupos de Processos × Áreas de Conhecimentos - PMBOK 4a Edição&quot; width=&quot;570&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Pelo diagrama é fácil perceber algumas características lógicas dos processos de gerenciamento de um projeto:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;praticamente todas as áreas de conhecimento são abordadas nas atividades de  Planejamento (definir, estimar e planejar cada aspecto) e de Monitoramento e  Controle (controlar) — no PMBOK 4ª edição, o processo de Gerenciar  a equipe passou ao grupo de Execução, deixando apenas a área de RH sem  processos no grupo de Controle;&lt;/li&gt;
&lt;li&gt;quanto a Execução, os aspectos envolvidos mais ativamente são a equipe (RH),  as comunicações, as aquisições, e a garantia da qualidade;&lt;/li&gt;
&lt;li&gt;a integração se faz presente em todos os momentos do projeto.&lt;/li&gt;
&lt;li&gt;na figura com as descrições, os grupos de processos representam os tipos de atividades,  as áreas de conhecimento caracterizam os assuntos, e seu cruzamento induz, de forma  bastante intuitiva, os respectivos verbos — definir, planejar, estimar,  gerenciar, monitorar, controlar, encerrar etc. — e substantivos que  descrevem os processos de gerenciamento relacionados.&lt;/li&gt;
&lt;/ul&gt;Isso mostra que os conceitos e melhores práticas que o PMBOK reúne, organiza e formaliza estão naturalmente presentes na essência do gerenciamento de qualquer bom projeto.</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/7499340519652894161/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/gerenciamento-de-projetos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/7499340519652894161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/7499340519652894161'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/gerenciamento-de-projetos.html' title='Gerenciamento de Projetos'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-6771743789443981485</id><published>2011-07-20T14:24:00.000-07:00</published><updated>2011-07-20T14:24:19.358-07:00</updated><title type='text'>PMBOK</title><content type='html'>&lt;address&gt;&lt;/address&gt;&lt;div id=&quot;category&quot;&gt;Categoria: &lt;a href=&quot;http://www.mhavila.com.br/link/prog/gestao/&quot;&gt; Gestão TI&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Gerenciamento de projetos (GP) é uma área de atuação e conhecimento que tem ganhado, nos últimos anos, cada vez mais reconhecimento e importância. Um dos principais difusores do gerenciamento de projetos e da profissionalização do gerente de projetos é o Instituto de Gerenciamento de Projetos (PMI - &lt;i&gt;Project Management Institute&lt;/i&gt;).&lt;br /&gt;
Fundado nos Estados Unidos em 1969, o PMI é uma associação profissional mundialmente difundida, atualmente com meio milhão de membros em mais de 180 países. O PMI é distribuído geograficamente pelo mundo em Capítulos. Existe o &lt;a href=&quot;http://www.pmi.org.br/&quot;&gt;PMI Brasil&lt;/a&gt; - Integração Nacional, programa dos &lt;a href=&quot;http://www.pmi.org/Get-Involved/Chapters-PMI-Chapters.aspx&quot;&gt; capítulos do PMI em diversos estados brasileiros&lt;/a&gt;.&lt;br /&gt;
Duas das principais iniciativas do PMI na difusão do conhecimento em gerenciamento de projetos são as &lt;a href=&quot;http://www.pmi.org/Certification/What-are-PMI-Certifications.aspx&quot;&gt; certificações profissionais em gerência de projetos&lt;/a&gt; — Project Management Professional (PMP) e Certified Associate in Project Management (CAPM) — e a publicação de &lt;a href=&quot;http://www.pmi.org/PMBOK-Guide-and-Standards/Standards-Library-of-PMI-Global-Standards.aspx&quot;&gt; padrões globais de gerenciamento de projetos, programas e portfólio&lt;/a&gt;, sendo a mais popular delas o &lt;b&gt;Guia do Conjunto de Conhecimentos em Gerenciamento de Projetos&lt;/b&gt; (&lt;b&gt;Guia PMBOK&lt;/b&gt;® - &lt;i&gt;Project Management Body of Knowledge&lt;/i&gt;).&lt;br /&gt;
Editado na forma de livro, o Guia PMBOK está atualmente na quarta  edição de 2008 e traduzido oficialmente para diversos idiomas, inclusive  o português do Brasil. As edições anteriores foram publicadas nos anos  de 1996, 2000 e 2004.&lt;br /&gt;
O PMBOK formaliza diversos conceitos em gerenciamento de projetos, como a própria definição de projeto e do seu ciclo de vida. Também identifica na comunidade de gerenciamento de projetos um conjunto de conhecimentos amplamente reconhecido como boa prática, aplicáveis à maioria dos projetos na maior parte do tempo. Estes conhecimentos estão categorizados em nove áreas e os processos relacionados são organizados em cinco grupos ao longo do ciclo de vida do projeto.&lt;br /&gt;
&lt;hr /&gt;</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/6771743789443981485/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/pmbok.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/6771743789443981485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/6771743789443981485'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/07/pmbok.html' title='PMBOK'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-3999075548458351162</id><published>2011-06-30T04:43:00.000-07:00</published><updated>2011-06-30T04:45:31.997-07:00</updated><title type='text'>Quem é Bill Gates?</title><content type='html'>&lt;div class=&quot;w625 fl&quot;&gt;&lt;div id=&quot;artigo&quot;&gt;&lt;a href=&quot;http://www.blogger.com/post-edit.g?blogID=8645301107796132245&amp;amp;postID=3999075548458351162&quot; id=&quot;anc_1&quot; name=&quot;anc_1&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div id=&quot;divPagina_1&quot; style=&quot;font-family: Arial,Helvetica,sans-serif; text-align: justify;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span class=&quot;subtitle&quot;&gt;Conheça a trajetória do homem que mudou a história da informática e que, recentemente, pendurou as chuteiras.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Bill  Gates é, sem dúvida, um dos homens mais famosos do mundo, não só pela  sua grande fortuna, acumulada em 58 bilhões de dólares, mas também por  ser o responsável pela criação do SO Windows. O pai do sistema  operacional Windows, sempre foi acusado de ser um capitalista sem  escrúpulos, um ladrão de idéias ou um oportunista. Mesmo assim, é  inegável que sua participação na história da informática foi impactante.  &lt;br /&gt;
&lt;br /&gt;
Este ano tivemos a despedida de Gates do mundo dos negócios,  depois de quase quarenta anos à frente de uma das empresas mais  reconhecidas do mundo, o todo poderoso resolveu pendurar as chuteiras.  Poucas pessoas sabem realmente como foi a trajetória do gênio da  informática, desta forma como uma singela homenagem à gorda aposentaria  de Bill, vamos mostrar como um menino vindo de uma família rica,  conseguiu se tornar mais rico ainda.&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: green;&quot;&gt;COMO TUDO COMEÇOU&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;img alt=&quot;Uma boa idéia sempre rende outras melhores.&quot; border=&quot;0&quot; class=&quot;img_dir&quot; height=&quot;200&quot; src=&quot;http://ibxk.com.br/materias/gatesideia.jpg&quot; width=&quot;133&quot; /&gt;&lt;br /&gt;
Bill  Gates, também conhecido por William Henry Gates III, nasceu na cidade  de Seattle, no estado de Washington nos EUA em 28 de outubro de 1955.  Desde seu nascimento, Gates sempre pôde contar com as posses do seu pai,  William Henry Gates, um&amp;nbsp; advogado de sucesso e sua mãe, professora da  Universidade de Washington. Como dinheiro nunca foi problema na família  Gates, Bill e suas irmãs sempre tiveram a oportunidade de freqüentar as  melhores escolas do país, como o Colégio de Lakeside e a Universidade de  Harvard.&lt;br /&gt;
&lt;br /&gt;
Seu primeiro contato com os computadores foi enquanto  realizava seus estudos primários no Colégio Lakeside, em 1968.  Conjuntamente com Paul Allen, Bill inicia o desenvolvimento de programas  para grandes empresas e em 1975, os dois amigos se mudam para  Albuquerque – Novo México. Trabalhando para a companhia MITS, começam a  produzir programas para serem utilizados pelo primeiro microcomputador, o  Altair BASIC.&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;span class=&quot;centro&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: green;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;span class=&quot;centro&quot;&gt;NASCE A GIGANTE DA INFORMÁTICA&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;br /&gt;
&lt;img alt=&quot;Desde os primórdios.&quot; border=&quot;0&quot; class=&quot;img_esq&quot; height=&quot;111&quot; src=&quot;http://ibxk.com.br/materias/msdosgates.jpg&quot; width=&quot;169&quot; /&gt;No  ano de 1976, Gates e Allen, fundam sua própria empresa: a histórica  Microsoft. Nesta nova companhia, os dois amigos iniciam a produção de  softwares com o propósito de terem um custo de compra menor para as  empresas do que se elas mesmas fabricassem seus aplicativos. Com o  negócio em expansão e com aproximadamente 16 funcionários, em 1979,  Gates decide mudar a sede da empresa para Seattle.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Já no ano  seguinte, devido ao sucesso da Microsoft, Gates e Allen conseguem um  contrato com a IBM, a qual deseja adotar um sistema operacional. Surge  então o MS-DOS, que a partir de 1981 figurava em todos os PCs da IBM.&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;b&gt;&lt;span style=&quot;color: green;&quot;&gt;O FILHO PRODÍGIO&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;img alt=&quot;Janelas lucrativas.&quot; border=&quot;0&quot; class=&quot;img_dir&quot; height=&quot;145&quot; src=&quot;http://ibxk.com.br/materias/janelasdasorte.jpg&quot; width=&quot;200&quot; /&gt;Ao  longo de dois anos, Gates continuou aprimorando seu SO e, já em 1983,  lança o substituto: O histórico Windows. A grande novidade deste sistema  operacional que conquistou a preferência de 90% dos usuários de  computadores se deve à interface gráfica e a introdução do mouse. &lt;br /&gt;
&lt;br /&gt;
É  por volta deste período que as maiores controvérsias em torno do  desenvolvimento do Windows vêm à tona. Segundo algumas fontes, o Windows  foi comprado por Gates, o qual pagou alguns dólares pelo SO que iria  revolucionar o mundo. Brigas entre Steve Jobs e Bill Gates também  repercutem até hoje quando o assunto é a autoria do Windows.&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;b&gt;&lt;span style=&quot;color: green;&quot;&gt;DE ESTUDANTE À BILIONÁRIO&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;br /&gt;
O MS-DOS já havia sido um sucesso, mas nada comparado ao Windows,  desta forma no ano de 1986 as ações da Microsoft obtiveram altas  estratosféricas. Com todo esse dinheiro entrando na empresa de Gates,  ele se tornou o homem mais jovem do mundo – 31 anos - a se tornar  bilionário.&lt;br /&gt;
&lt;br /&gt;
Bill manteve a posição de homem mais rico do mundo –  segundo a revista Forbes – por aproximadamente 13 anos, porém hoje ocupa  a terceira posição do ranking. A queda de faturamento da Microsoft pode  ser explicada pela explosão da internet, o início dos aplicativos  online e as generosas doações de Gates para instituições de caridade.&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;b&gt;&lt;span style=&quot;color: green;&quot;&gt;DE EXECUTIVO BILIONÁRIO À APOSENTADO BILIONÁRIO&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;hr style=&quot;margin-left: 0px; margin-right: 0px;&quot; /&gt;&lt;img alt=&quot;Gates está de férias.&quot; border=&quot;0&quot; class=&quot;img_esq&quot; height=&quot;194&quot; src=&quot;http://ibxk.com.br/materias/gatepolar.jpg&quot; width=&quot;164&quot; /&gt;Depois  de tanto dinheiro, intrigas, dinheiro, idéias geniais e mais dinheiro, a  vida de Bill Gates entrou para a história. Mesmo com tantas críticas  sobre sua personalidade forte e questionamentos sobre sua genialidade,  Bill Gates conseguiu provar que é extremamente competente no que faz. &lt;br /&gt;
&lt;br /&gt;
Como  ninguém é de ferro, no dia 27 de junho de 2008, Gates deixa a direção  da Microsoft para cuidar da sua fundação de caridade, “Bill e Melinda  Gates”. Com 6 bilhões de dólares a menos e muito tempo livre, Gates diz  que vai disponibilizar 20% do seu tempo no comando da Microsoft e o  restante curtindo sua vida filantrópica.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.tecmundo.com.br/1132-quem-e-bill-gates-.htm#ixzz1Ql6QzOt8&quot; style=&quot;color: #003399;&quot;&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/3999075548458351162/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/06/quem-e-bill-gates.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/3999075548458351162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/3999075548458351162'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/06/quem-e-bill-gates.html' title='Quem é Bill Gates?'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-6973467658573279275</id><published>2011-06-30T04:18:00.000-07:00</published><updated>2011-06-30T04:18:10.855-07:00</updated><title type='text'>As 11 regras de Bill Gates</title><content type='html'>&lt;h1&gt;&lt;/h1&gt;&lt;span class=&quot;informacoes&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;img align=&quot;left&quot; alt=&quot;Bill Gates&quot; class=&quot;alignleft&quot; id=&quot;image1149&quot; src=&quot;http://macmagazine.com.br/wp-content/uploads/2007/02/25-gates.jpg?cda6c1&quot; /&gt;As 11 regras a seguir são atribuídas a Bill Gates.&lt;br /&gt;
Segundo uma das &lt;a href=&quot;http://macmagazine.com.br/goto/fontes/1135/1&quot; target=&quot;_blank&quot;&gt;fontes&lt;/a&gt;  que achei: Bill Gates foi convidado por uma escola secundária para uma  palestra. Chegou de helicóptero, tirou o papel do bolso onde havia  escrito onze itens.&lt;br /&gt;
Leu tudo em menos de 5 minutos, foi aplaudido por mais de 10 minutos sem parar, agradeceu e foi embora em seu helicóptero.&lt;br /&gt;
Sendo boataria de internet ou não (só 5 minutos? uia), achei interessante postar aqui as famosas regras.&lt;br /&gt;
&lt;br /&gt;
&lt;span id=&quot;more-1135&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;A vida não é fácil — acostume-se com isso.&lt;/li&gt;
&lt;li&gt;O  mundo não está preocupado com a sua auto-estima. O mundo espera que  você faça alguma coisa útil por ele ANTES de sentir-se bem com você  mesmo.&lt;/li&gt;
&lt;li&gt;Você não ganhará R$20.000 por mês assim que sair da  escola. Você não será vice-presidente de uma empresa com carro e  telefone à disposição antes que você tenha conseguido comprar seu  próprio carro e telefone.&lt;/li&gt;
&lt;li&gt;Se você acha seu professor rude, espere até ter um chefe. Ele não terá pena de você.&lt;/li&gt;
&lt;li&gt;Vender  jornal velho ou trabalhar durante as férias não está abaixo da sua  posição social. Seus avós têm uma palavra diferente para isso: eles  chamam de oportunidade.&lt;/li&gt;
&lt;li&gt;Se você fracassar, não é culpa de seus pais. Então não lamente seus erros, aprenda com eles.&lt;/li&gt;
&lt;li&gt;Antes  de você nascer, seus pais não eram tão críticos como agora. Eles só  ficaram assim por pagar as suas contas, lavar suas roupas e ouvir você  dizer que eles são “ridículos”. Então antes de salvar o planeta para a  próxima geração querendo consertar os erros da geração dos seus pais,  tente limpar seu próprio quarto — &lt;em&gt;adorei essa!&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Sua  escola pode ter eliminado a distinção entre vencedores e perdedores, mas  a vida não é assim. Em algumas escolas você não repete mais de ano e  tem quantas chances precisar até acertar. Isto não se parece com  absolutamente NADA na vida real. Se pisar na bola, está despedido…  RUA!!! Faça certo da primeira vez!&lt;/li&gt;
&lt;li&gt;A vida não é dividida em  semestres. Você não terá sempre os verões livres e é pouco provável que  outros empregados o ajudem a cumprir suas tarefas no fim de cada  período.&lt;/li&gt;
&lt;li&gt;Televisão NÃO é vida real. Na vida real, as pessoas têm que deixar o barzinho ou a boate e ir trabalhar.&lt;/li&gt;
&lt;li&gt;Seja  legal com os CDFs (aqueles estudantes que os demais julgam que são uns  babacas). Existe uma grande probabilidade de você vir a trabalhar PARA  um deles.&lt;/li&gt;
&lt;/ol&gt;Falou o Tio Bill.&lt;br /&gt;
&lt;div style=&quot;background-color: transparent; border: medium none; color: black; overflow: hidden; text-align: left; text-decoration: none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/6973467658573279275/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/06/as-11-regras-de-bill-gates.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/6973467658573279275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/6973467658573279275'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/06/as-11-regras-de-bill-gates.html' title='As 11 regras de Bill Gates'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-1975085045333091696</id><published>2011-06-24T19:34:00.000-07:00</published><updated>2011-06-24T19:34:45.153-07:00</updated><title type='text'>7º Concurso de Monografia CBTU 2011</title><content type='html'>Caros alunos,&lt;br /&gt;
&lt;br /&gt;
Gostaria de informá-los que estão abertas as inscrições para o 7º Concurso de Monografia CBTU 2011&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp;Tema: “Desenvolvimento de um novo padrão urbano sustentável: o papel do sistema de transporte de passageiros sobre trilhos”.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Inscrições até 4 de setembro de 2011.&lt;br /&gt;
&lt;br /&gt;
O Concurso de Monografia CBTU tem a finalidade de estimular o estudo e o desenvolvimento de projetos, na área de transporte urbano de passageiros sobre trilhos, colaborando para a discussão do papel desse meio de transporte no processo de crescimento e ampliação das cidades brasileiras.&lt;br /&gt;
&lt;br /&gt;
HABILITAÇÃO: candidatos de qualquer formação acadêmica e nacionalidade, que possuam diploma de nível superior, além de estudantes que estejam cursando os dois últimos anos da graduação.&lt;br /&gt;
&lt;br /&gt;
PREMIAÇÃO: Os cinco primeiros colocados são contemplados com certificado, publicação da monografia e participação no Congresso de Pesquisa e Ensino em Transportes da ANPET, com passagens aéreas e hospedagens incluídas.&lt;br /&gt;
&lt;br /&gt;
Aos três primeiros ganhadores são concedidos prêmios, em espécie, de acordo com a seguinte classificação: 1º prêmio – R$10.000,00; 2º prêmio – R$6.000,00; e 3º prêmio – R$3.000,00.&lt;br /&gt;
&lt;br /&gt;
Os trabalhos são avaliados por uma Comissão Julgadora, obedecendo aos seguintes critérios: ideia central, clareza, qualidade e contribuição. Com base nesses critérios, são consideradas a relevância e originalidade do trabalho, a estrutura e a qualidade do texto, as referências bibliográficas e a análise dos resultados.&lt;br /&gt;
&lt;br /&gt;
HISTÓRICO DO CONCURSO: O Concurso de Monografia teve seu inicio em novembro de 2004, quando foi apresentado no XVIII ANPET - Congresso de Pesquisa e Ensino em Transporte, realizado em Florianópolis. Desde então, já foram promovidas sete edições do concurso, sempre lançadas durante os Congressos anuais da ANPET, assim como as solenidades de premiação, realizadas em Recife, Brasília, Rio de Janeiro, Fortaleza, Vitória e Salvador. &lt;br /&gt;
&lt;br /&gt;
O tema das edições tem sido o transporte de passageiros sobre trilhos, possibilitando o desenvolvimento de trabalhos que envolvam várias áreas e assuntos como: planejamento urbano e transporte; mobilidade e acessibilidade; uso e ocupação do solo; operações urbanas e empreendimentos associados; cidadania e inclusão social; consumo de energia e meio ambiente; integração entre os modos de transporte; transporte de média e alta capacidade; desenvolvimento tecnológico e do conhecimento em transportes. &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Gerência Técnica de Marketing e Comunicação Institucional - GEMAK&lt;br /&gt;
&lt;br /&gt;
21- 3733-3164&lt;br /&gt;
&lt;br /&gt;
monografia@cbtu.gov.br</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/1975085045333091696/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/06/7-concurso-de-monografia-cbtu-2011.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/1975085045333091696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/1975085045333091696'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/06/7-concurso-de-monografia-cbtu-2011.html' title='7º Concurso de Monografia CBTU 2011'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8645301107796132245.post-2121183632586693741</id><published>2011-03-03T13:08:00.000-08:00</published><updated>2011-06-24T18:41:01.168-07:00</updated><title type='text'>Corriculum</title><content type='html'>&lt;m:smallfrac m:val=&quot;off&quot;&gt;    &lt;m:dispdef&gt;    &lt;m:lmargin m:val=&quot;0&quot;&gt;    &lt;m:rmargin m:val=&quot;0&quot;&gt;    &lt;m:defjc m:val=&quot;centerGroup&quot;&gt;    &lt;m:wrapindent m:val=&quot;1440&quot;&gt;    &lt;m:intlim m:val=&quot;subSup&quot;&gt;    &lt;m:narylim m:val=&quot;undOvr&quot;&gt;   &lt;/m:narylim&gt;&lt;/m:intlim&gt; &lt;/m:wrapindent&gt;  &lt;/m:defjc&gt;&lt;/m:rmargin&gt;&lt;/m:lmargin&gt;&lt;/m:dispdef&gt;&lt;/m:smallfrac&gt;&lt;br /&gt;
&lt;div style=&quot;border: 3pt solid windowtext; padding: 1pt 4pt;&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm; text-align: center;&quot;&gt;&lt;span style=&quot;background: none repeat scroll 0% 0% silver; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 22pt;&quot;&gt;Charles Eugenio de Oliveira&lt;/span&gt;&lt;br /&gt;
contato: charlesbhmg@hotmail.com&lt;span style=&quot;background: none repeat scroll 0% 0% silver; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 22pt;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border: 3pt solid windowtext; padding: 1pt 4pt;&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Formação&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Curso Superior - &lt;i&gt;Universidade Norte do Paraná&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;b&gt;&lt;i&gt;TI - ANÁLISE E DESENVOLVIMENTO DE SISTEMAS (&lt;span style=&quot;color: black;&quot;&gt;ANALISTA DE SISTEMAS&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;Formatura em Julho/2011&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;Colação de grau 20/agosto/2011&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&amp;nbsp;&lt;b&gt;Perfil:&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;Analisar, projetar, documentar, especificar, testar, implantar e manter o sistema de informação. Trabalhar também com ferramentas computacionais, equipamentos de informática e metodologia de projetos na produção de sistemas. Com raciocínio lógico, emprego de linguagens de programação e de metodologias de construção de projetos, e preocupação com a qualidade, usabilidade, robustez, integridade a segurança de programas computacionais.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;b&gt;Conhecimento:&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;Levantamento de requisitos; Orientação a objeto e modelagem de dados; análise e desenvolvimento de sistemas; suporte a usuários; publicação de sites; Conhecimento em rede estruturada e equipamentos, sistemas operacionais; sistema de gerenciamento de banco de dados; conhecimento em sistemas de Gestão; Metodologia de desenvolvimento de sistemas, banco de dados relacional, lógica de programação, Internet e gerenciamento de projetos, linguagem, c#; .net, visual Studio 2008, SQL Server 2000/2005 e 2008, modelagem dados UML; Interne Explorer 5 e superior; Sistema Operacional Windows DOS ao Windows Seven; Visual Studio 2008, SQL Server Management Studio, UML, Jude, Word, Excel, Power point, internet Explorer&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&amp;nbsp;&lt;b&gt;Especialização:&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;- &lt;b&gt;GERENTE DE PROJETOS&lt;/b&gt; &amp;nbsp;- &amp;nbsp;PMBOK : Otimização de projetos com SCRUM para times de TI; &lt;b&gt;Desenvolvimento - &lt;/b&gt;C#, Web - &lt;a href=&quot;http://asp.net/&quot; target=&quot;_blank&quot;&gt;ASP.NET&lt;/a&gt; 2.0 e 3.5, &lt;a href=&quot;http://ado.net/&quot; target=&quot;_blank&quot;&gt;ADO.NET&lt;/a&gt;, VISUAL STUDIO 2008, AJAX, MVC, JQUERY; &lt;b&gt;Processo Leon -&lt;/b&gt; Conceitos Fundamentais; &amp;nbsp;&lt;b&gt;Gerenciamento de Risco&lt;/b&gt;; &lt;b&gt;Fundamentos de Projetos&lt;/b&gt; de acordo com o PMI; &lt;b&gt;Gestão de Projetos&lt;/b&gt; &lt;b&gt;Ágeis&lt;/b&gt; com SCRUM.&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;&lt;b&gt;Meu perfil comportamental:&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;border: medium none; padding: 0cm;&quot;&gt;Analista de Sistemas; Analista de Suporte Técnico; Programador de Linguagens Computacionais; Gerente de Projetos de Sistemas de Informação; Administrador de Bancos de Dados; Administrador de Redes de Computadores; Consultor de Sistemas e Tecnologias de Informação; Docente.&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;center&gt; &lt;/center&gt;</content><link rel='replies' type='application/atom+xml' href='http://charlesanalistasistemas.blogspot.com/feeds/2121183632586693741/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/03/blog-post.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/2121183632586693741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8645301107796132245/posts/default/2121183632586693741'/><link rel='alternate' type='text/html' href='http://charlesanalistasistemas.blogspot.com/2011/03/blog-post.html' title='Corriculum'/><author><name>Charles</name><uri>http://www.blogger.com/profile/07746876128534743575</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>