Boa tarde!!
Bom da uma olhada na materia que este cara postou ai....muito engraçado.
http://www.ricardoaccioly.com.br/carreira-em-y-para-os-que-sao-profissionais-da-area-de-informatica-humor/
Engenharia de Software
quinta-feira, 19 de agosto de 2010
quarta-feira, 28 de julho de 2010
RUP X SCRUM
Bom mais um tema que gera muita polêmica no meio da área de TI. RUP ou SCRUM? O que voce analista, gerente de projetos prefere?
RUP(Rational Unified Process) da IBM um modelo muito utilizado em grandes equipes, grandes projetos hoje muito utilizado em fabricas de software. Método da engenharia de software que utiliza abordagem da Análise Orientada a Objetos, a UML é utilizada como base para sua documentação de software. O ciclo de vida do Software é um espiral, sendo assim Iterativo, onde pode-se determinar o tamanho das iterações. Voce poderá ter em um periodo uma release do soft.
No RUP prevalece a documentação, controle de Escopo, Requisitos, Qualidade e equipes bem definidas, seus papeis. O RUP é pesado, mas pode ser utilizado em projetos de menor porte, porém não é aconselhável.
Baseado em métodos ágeis o SCRUM preza pelo software acabado, pois software acabado é software rodando. A documentação não tem muita ênfase, pois no SCRUM o código pronto e rodando. Não utilizei o SCRUM, mas cheguei a ver que nele os papeis não são bem definidos como no RUP, pois no SCRUM só temos 3 papeis e estes assumem tudo são eles: Scrum Master(SM), Product Owner (PO) e o Team (Equipe). Apesar de usar o ciclo em espiral as Iterações do Scrum são bem definidas as Sprint´s que podem ter até no máximo 4 semanas. Olha é uma metodologia ágil, portanto tudo é muito rápido e isto facilita o desenvolvimento, pois ele é o foco, produto pronto, código, software rodando. No RUP existe a liberdade para definir o tamanho da iteração.
Minha opinião:
Bom, o RUP é iterativo seu ciclo é espiral, pesado, enfase na documentação, equipes com papeis bem definidos e hoje utilizo o RUP, pois ja trabalhei em 2 projetos diferentes com RUP e apesar de achar pesado, gostei achei interessante, pois a questão documentação do Software é sempre muito importante.
O SCRUM nunca utilizei, mas ja vi equipes trabalharem nele e os resultados foram bons, apesar de não ter um papel bem definido, seu time é bastante determinado e isto é muito válido. A codificação é pesada e se estiver tudo certo....é isso ai, software pronto é software rodando. Em projetos pequenos ele é muito bom, porém se a documentação for importante no SCRUM isso vai atrapalhar um pouco.
Não sei ao certo, mas hoje, ja que trabalhei no RUP, poderia recomenda-lo, porém o SCRUM me atrai e acho que o XP deve ser sim utilizado. Bem, quero a opinião de voces. Valeu!
RUP(Rational Unified Process) da IBM um modelo muito utilizado em grandes equipes, grandes projetos hoje muito utilizado em fabricas de software. Método da engenharia de software que utiliza abordagem da Análise Orientada a Objetos, a UML é utilizada como base para sua documentação de software. O ciclo de vida do Software é um espiral, sendo assim Iterativo, onde pode-se determinar o tamanho das iterações. Voce poderá ter em um periodo uma release do soft.
No RUP prevalece a documentação, controle de Escopo, Requisitos, Qualidade e equipes bem definidas, seus papeis. O RUP é pesado, mas pode ser utilizado em projetos de menor porte, porém não é aconselhável.
Baseado em métodos ágeis o SCRUM preza pelo software acabado, pois software acabado é software rodando. A documentação não tem muita ênfase, pois no SCRUM o código pronto e rodando. Não utilizei o SCRUM, mas cheguei a ver que nele os papeis não são bem definidos como no RUP, pois no SCRUM só temos 3 papeis e estes assumem tudo são eles: Scrum Master(SM), Product Owner (PO) e o Team (Equipe). Apesar de usar o ciclo em espiral as Iterações do Scrum são bem definidas as Sprint´s que podem ter até no máximo 4 semanas. Olha é uma metodologia ágil, portanto tudo é muito rápido e isto facilita o desenvolvimento, pois ele é o foco, produto pronto, código, software rodando. No RUP existe a liberdade para definir o tamanho da iteração.
Minha opinião:
Bom, o RUP é iterativo seu ciclo é espiral, pesado, enfase na documentação, equipes com papeis bem definidos e hoje utilizo o RUP, pois ja trabalhei em 2 projetos diferentes com RUP e apesar de achar pesado, gostei achei interessante, pois a questão documentação do Software é sempre muito importante.
O SCRUM nunca utilizei, mas ja vi equipes trabalharem nele e os resultados foram bons, apesar de não ter um papel bem definido, seu time é bastante determinado e isto é muito válido. A codificação é pesada e se estiver tudo certo....é isso ai, software pronto é software rodando. Em projetos pequenos ele é muito bom, porém se a documentação for importante no SCRUM isso vai atrapalhar um pouco.
Não sei ao certo, mas hoje, ja que trabalhei no RUP, poderia recomenda-lo, porém o SCRUM me atrai e acho que o XP deve ser sim utilizado. Bem, quero a opinião de voces. Valeu!
Em tempo.....
Bom, quero aqui publicamente reparar um erro que cometi e que realmente julguei como Gravissimo. Quando publiquei NESTE ESPAÇO a materia sobre Mercado de Desenvolvimento, infelizmente não citei a Conhecimento Digital, aonde eu fiz os cursos de JAVA e C#.
Bom ao Ednaldo, quero pedir desculpas pelo acontecido, mas em tempo cito o centro de treinamento Conhecimento Digital que realmente, hoje em Alagoas, é o único que temos com a qualidade e o compromisso com o mercado de TI. Parabéns Ednaldo, seu trabalho é excelente e realmente quero dizer que nosso mercado está bem servido.
Bom ao Ednaldo, quero pedir desculpas pelo acontecido, mas em tempo cito o centro de treinamento Conhecimento Digital que realmente, hoje em Alagoas, é o único que temos com a qualidade e o compromisso com o mercado de TI. Parabéns Ednaldo, seu trabalho é excelente e realmente quero dizer que nosso mercado está bem servido.
terça-feira, 27 de julho de 2010
TI - Inglês, Pós ou Certificação
Bom, o assunto é um tanto polemico, mas resolvi abordar. Hoje em um mercado muito competitivo como o de TI temos que aprender todos os dias e principalmente fazer uma coisa chamada "Learning to Learn", voces sabem o que é? Pois bem, isto significa aprender a aprender. Hoje os profissionais são cadas vez mais dinâmicos... Java, .Net, GWT, Delphi, C#... são algumas das linguagens, plataformas, framework que existem no mercado. São muitas e muitas opções, porém na hora de entrar no mercado bate aquela dúvida, o que devo fazer primeiro, cursar uma pós, certificação ou um curso de Inglês? Bom, com certeza Inglês, depois certificação e por ultimo a Pós. Hoje as empresas de TI, as grandes, estão também no mercado internacional, a globalização, isso exige cada vez mais dos profissionais de TI que o inglês esteja afiado e assim poder fazer trabalhos lá fora. Existem empresas, ja trabalhei em uma, que tem vaga em NY e não consegue preencher porque não acha profissional com ingles fluente, nivel avançado. Bom em segundo com certeza vem a Certificação, pois com ingles e certificado dificilmente voce vai passar desapercebido no mercado, pois a certificação hoje é quase um item obrigatório para muitas empresas. Existem empresas que incentivam a certificação, pois é importante para a empresa que também busca sua certificação. Em um mercado voraz a certificação é uma espécie de solução mágica da longa vida, voce com certeza vai ficar mais tempo empregado e caso saia, ela vai ajudar a abrir novas portas. Bom, por ultimo a Pós, mas esta é importante também porque ja é item obrigatório em várias empresas, pelo menos cursando elas cobram e quando voce ja é pós-graduado eles valorizam. Então, na ordem 1º Ingles, 2º Certificação, 3º Pós mas lembrem-se não é 1 ou 2 ou 3....tem que cursar tudo, conseguir os 3, pois ai voce fica por muito mais tempo no mercado, mas também não esquecer do "Learning to Learn", pois saber aprender é super importante, atualização, upgrade na carreira é sempre necessário.....então....Vamos estudar mais e mais.
sexta-feira, 21 de maio de 2010
Volta ao Blog.
Olá, tudo bem?!?! Bom depois de um bom tempo fora, estarei retornando aos comentários no meu blog. Em breve farei mais um post e espero que todos voltem a visitá-lo. Abraços.
terça-feira, 17 de junho de 2008
Desenvolvedor, Como fazer para não parar no tempo
Existem vários caminhos a serem seguidos e um profissional tem que se especializar sempre, tem que estar sempre aprendendo. Nós que somos profissionais de tecnologia não podemos de forma alguma estar acomodado, acho que uma grande virtude de qualquer proficional é o Learn to Learn, aprender a aprender. Nó temos o compromisso de sempre estar buscando novos caminhos, novas tecnologias e soluções. Com base nisso é que eu vejo que a pergunta acima, titulo deste post, torna-se dificil de se responder quando o proficional se acomoda e deixa o tempo passar.
Os caminhos que podem ser seguidos por profissionais desenvolvedores podemos citar como exemplo uma especialização em Área de negócios agregando conhecimentos em um segmento vertical da empresa adicionando a sua habilidade técnica o conhecimento de processos. Quanto mais você conhece o negócio da empresa mais fácil de solucionar os problemas. Um desenvolvedor pode se especializar em um segmento vertical e isto é muito interessante. Outro caminho é o desenvolvedor melhorar mais ainda seus conhecimentos na área em que atua, pois se você não quer abandonar o desenvolvimento pode fazer uma especialização técnica se aprofundando em outras linguagens aprender design, criação de interfaces, etc. Uma boa opção é especialzação em engenharia de software e trabalhar com desenvolvimento ágil, SOA entre outros. UML e Design de projetos em JAVA é um caminho muito promissor. Bom, particularmente tem uma área que acho muito interessante e quepode render uma boa grana para os desenvolvedores, é a do Gerenciamento de Projetos e que está em alta no mercado. O ponto alto é a certificação PMI que tem suas camadas, CAPM, PgMPSM e PMP. Este mercado é muito interessante, pois um projeto para ser bem executado precisa de um ciclo de vida muito bem elaborado e gerenciado.
Em 2008 os investimento em TI devem chegar proximo dos R$ 70 bilhões e muitos projetos podem atrasar ou até mesmo chegar ao ponto de não serem entregues. A falta de um profissional pode detonar um projeto e atrapalhar as empresas do segmento de TI. nós temos que ficar atento, pois se você acha que o desenvolvimento não vai muito longe pra você, então arrisque em umas destas áreas.
Os caminhos que podem ser seguidos por profissionais desenvolvedores podemos citar como exemplo uma especialização em Área de negócios agregando conhecimentos em um segmento vertical da empresa adicionando a sua habilidade técnica o conhecimento de processos. Quanto mais você conhece o negócio da empresa mais fácil de solucionar os problemas. Um desenvolvedor pode se especializar em um segmento vertical e isto é muito interessante. Outro caminho é o desenvolvedor melhorar mais ainda seus conhecimentos na área em que atua, pois se você não quer abandonar o desenvolvimento pode fazer uma especialização técnica se aprofundando em outras linguagens aprender design, criação de interfaces, etc. Uma boa opção é especialzação em engenharia de software e trabalhar com desenvolvimento ágil, SOA entre outros. UML e Design de projetos em JAVA é um caminho muito promissor. Bom, particularmente tem uma área que acho muito interessante e quepode render uma boa grana para os desenvolvedores, é a do Gerenciamento de Projetos e que está em alta no mercado. O ponto alto é a certificação PMI que tem suas camadas, CAPM, PgMPSM e PMP. Este mercado é muito interessante, pois um projeto para ser bem executado precisa de um ciclo de vida muito bem elaborado e gerenciado.
Em 2008 os investimento em TI devem chegar proximo dos R$ 70 bilhões e muitos projetos podem atrasar ou até mesmo chegar ao ponto de não serem entregues. A falta de um profissional pode detonar um projeto e atrapalhar as empresas do segmento de TI. nós temos que ficar atento, pois se você acha que o desenvolvimento não vai muito longe pra você, então arrisque em umas destas áreas.
quarta-feira, 4 de junho de 2008
SOA - Arquitetura Orientada a Serviço
Muito se fala em criar aplicações, nesta ou naquela linguagem, muitos defendem seu ponto de vista e defendem também a linguagem que usa e que as outras não prestam. Porém alguns pontos deveriam ser questionados, será que o desenvolvimento do seu software seguiu padrões? Será que o seu software foi testado? Que metodologia voce usou?
Bom, voce ja tentou responder estas perguntas? Caro analista, não ha mais espaço para softwares que não seguem padrões e não são testados. Para isso é que a Engenharia de software existe. Hoje em dia a exigencia é muito grande, os resultados podem definir se a empresa sobreviverá ou não no mercado, um erro pode custar a vida útil de uma empresa.
É por este motivo que venho abordar o assunto e levantar a seguinte situação: Que metodologia utilizar? Qual a melhor metodologia de testes?
Hoje se fala muito em desenvolvimento ágil como XP, Scrum, FDD, Crystal etc. Agora a nova onda é o SOA que é Service Oriented Architecture ou arquitetura orientada a serviço. O termo descreve duas coisas muito diferentes onde as duas primeiras palavras expressam metodologia para desenvolvimento de software e a terceira é um panorama de todos os ativos de software de uma empresa. E o que é um serviço em tecnologia? São porções, componentes de software construidas de forma que possam ser facilmente vinculadas a outros componentes de software. Um exemplo de SOA é a integração do sistema de call center com o sistema de gestão empresarial para saber se determinado pedido será entregue no prazo. A arquitetura orientada a serviço permite a integração dos vários componentes fazendo com que os resultados sejam muito precisos determinando uma boa prestação de serviço e aumento de receitas. SOA não é modismo e vc pode utilizar seu desenvolvimento ágil da melhor forma possível, testar seu software exaustivamente.
SOA e WEB SERVICES - SOA é a arquitetura abrangente para criar aplicações dentro de uma empresa — pense em um projeto arquitetônico — mas, neste caso, a arquitetura demanda que todos os programas sejam criados com uma metodologia de desenvolvimento de software específica, conhecida como programação orientada a serviço. Web services são um conjunto de mecanismos-padrão de comunicação criados sobre a World Wide Web. Ou seja, os web services são uma metodologia para conectar e comunicar. Enquanto SOA é uma estratégia de TI.
Uma das grandes vantagens do SOA é o desenvolvimento de aplicações customizadas para seu negocio com mais facilidade para responder as demandas do mercado em uma aconomia globalizada. O SOA ta na pauta de todos os CIO´s de grandes empresas e veio para ficar não será mais uma modinha. Observem esta tendência.
Bom, voce ja tentou responder estas perguntas? Caro analista, não ha mais espaço para softwares que não seguem padrões e não são testados. Para isso é que a Engenharia de software existe. Hoje em dia a exigencia é muito grande, os resultados podem definir se a empresa sobreviverá ou não no mercado, um erro pode custar a vida útil de uma empresa.
É por este motivo que venho abordar o assunto e levantar a seguinte situação: Que metodologia utilizar? Qual a melhor metodologia de testes?
Hoje se fala muito em desenvolvimento ágil como XP, Scrum, FDD, Crystal etc. Agora a nova onda é o SOA que é Service Oriented Architecture ou arquitetura orientada a serviço. O termo descreve duas coisas muito diferentes onde as duas primeiras palavras expressam metodologia para desenvolvimento de software e a terceira é um panorama de todos os ativos de software de uma empresa. E o que é um serviço em tecnologia? São porções, componentes de software construidas de forma que possam ser facilmente vinculadas a outros componentes de software. Um exemplo de SOA é a integração do sistema de call center com o sistema de gestão empresarial para saber se determinado pedido será entregue no prazo. A arquitetura orientada a serviço permite a integração dos vários componentes fazendo com que os resultados sejam muito precisos determinando uma boa prestação de serviço e aumento de receitas. SOA não é modismo e vc pode utilizar seu desenvolvimento ágil da melhor forma possível, testar seu software exaustivamente.
SOA e WEB SERVICES - SOA é a arquitetura abrangente para criar aplicações dentro de uma empresa — pense em um projeto arquitetônico — mas, neste caso, a arquitetura demanda que todos os programas sejam criados com uma metodologia de desenvolvimento de software específica, conhecida como programação orientada a serviço. Web services são um conjunto de mecanismos-padrão de comunicação criados sobre a World Wide Web. Ou seja, os web services são uma metodologia para conectar e comunicar. Enquanto SOA é uma estratégia de TI.
Uma das grandes vantagens do SOA é o desenvolvimento de aplicações customizadas para seu negocio com mais facilidade para responder as demandas do mercado em uma aconomia globalizada. O SOA ta na pauta de todos os CIO´s de grandes empresas e veio para ficar não será mais uma modinha. Observem esta tendência.
Assinar:
Postagens (Atom)