Posts com a Tag ‘Desenvolvimento’

Identificando oportunidades – o diferencial do analista de requisitos

Neste artigo:

Adriano Lages defende que o analista de requisitos deve se portar também como analista de negócios, criando oportunidades de negócio para sua empresa ao mesmo tempo e propondo soluções em sistemas e software que gerem valor para seu cliente. Leia mais.

Tags / Palavras-Chaves:
, , ,

Eu considero que um analista de requisitos faz um bom trabalho não somente quando ele realiza bem seu trabalho técnico, e sim quando ele faz um papel de analista de negócio. É como se ele agisse ao mesmo tempo como um advogado de defesa e criador de novas oportunidades.

Existem situações de projetos que já possuem um cronograma fechado sem nenhuma possibilidade de alteração do mesmo. Nesses casos o cliente pode solicitar funcionalidades que podem levar ao atraso do projeto, talvez uma consulta ou uma inclusão a mais ou outros “enfeites” no sistema, que não estavam previstos na proposta técnica do sistema, mas que o cliente acha que não “custa” nada para desenvolver.

É então que o analista precisa agir como advogado de defesa. Quando em situações de levantamento de requisitos de negócio ele deve mostrar de maneira clara e com argumentos convincentes, que determinado pedido do cliente não é necessário para aquela fase de desenvolvimento do sistema. Ou seja, aquilo é algo cosmético que irá gerar mais custos de desenvolvimento para a fábrica de software, lembrando que mesmo se o cliente quiser determinado item, este pode ser adicionado ao escopo do projeto. Claro, com um aumento do prazo do cronograma e gerando atrasos na entrega do projeto. É bem provável que o cliente vai pensar duas vezes antes de querer adicionar algum outro requisito desnecessário.

Leia o restante deste post »

 

Contratos e Desenvolvimento Ágil no Brazil Scrum Gathering 2009

José Papo, responsável pela área de automação da BRQ IT Services, foi convidado a palestrar no evento internacional Brazil Scrum Gathering 2009, que ocorrerá em São Paulo nos dias 12 e 13 de maio. O próprio Ken Schwaber (criador do processo Scrum e mentor da Scrum Alliance) estará no País, além de outras feras do Brasil e do mundo.

O tema da apresentação de Papo é “Contratos e Scrum: The Good, the Bad and The Ugly”, que trata sobre a questão de contratação de projetos de software do ponto de vista de um processo ágil e iterativo, inclusive tratando de uma solução interessante utilizando pontos de função. A apresentação será realizada no dia 12 de maio, a partir das 10h45.

Mais informações no site do evento: www.scrumalliance.org/events/57-brazil-scrum-gathering

Confira!

 

Mono Framework – Desenvolvimento .NET em Unix, Linux e MacOs

Neste artigo:

Com a demanda crescente por aplicativos iPhone e a migração mais freqüente de usuários para ambientes MacOs e Linux levou Willian Leite, gerente do Centro de Competência de Arquitetura da BRQ a experimentar o Mono Framework para desenvolver aplicações .NET fora do Windows. Saiba como foi a experiência.

Tags / Palavras-Chaves:
.NET, Mono Project, desenvolvimento, MacOS, Unix, Framework

Após o Lotusphere 2009, em janeiro deste ano, comecei a observar mais de perto a atenção dada à Apple no evento e resolvi começar a usar um MacOs como ambiente de trabalho.

Como muito foi falado no evento, o iPhone não é considerado a melhor alternativa para rodar aplicações corporativas, porém, devido ao seu apelo e a facilidade de uso, todo mundo acaba tendo um iPhone, e em virtude da exigência dos usuários, muitas aplicações corporativas acabam sendo criadas para o aparelho e em cima da mesma dinâmica – de facilidade e apelo ao usuário final - resolvi testar o MacOs nesse cenário.

Após a instalação dos softwares básicos Office 2008 for Mac e o cliente de e-mail Lotus Notes 8.5, fui buscar minha alternativa para desenvolvimento .NET. Muito comentado no seu lançamento, o Mono Framework é uma iniciativa para desenvolvimento .NET para ambientes UNIX. Por isso, fui testá-lo pela primeira vez.

Leia o restante deste post »

 

Técnica de Estimativa Baseada em Use Case Point (UCP)

Neste artigo:

Use Case Point (UCP) é uma técnica para medição do tamanho funcional de sistemas de informação. Tal técnica pode auxiliar nas diversas fases do ciclo de vida de desenvolvimento de software, inclusive na etapa comercial. Saiba como empregá-la.

Tags / Palavras-Chaves:

UCP, gerenciamento de projetos, técnica de estimativa, project management, RUP

Use Case Point (UCP) é uma técnica para medição do tamanho funcional de sistemas de informação proposta por Gustav Karner, em 1993, como tese na universidade de Linköping, na Suécia. A técnica foi publicada em um paper denominado Resource Estimation for Objectory Projects [KAR93]. Karner conclui em seu paper que não é possível afirmar que a técnica para estimativa baseada em Use Case Point realmente funciona, em função de ter sido fundamentada na observação e medição de apenas três projetos. Apesar disso, a técnica de UCP se tornou parte integrante da metodologia de desenvolvimento Rational Unified Process (RUP) que originalmente foi baseada na metodologia de desenvolvimento de software orientado a objeto, denominada Objectory, que foi concebida por Ivar Jacobson. O trabalho completo desenvolvido por Karner não está disponível como domínio público, pois se tornou copyright da empresa Rational Software, que foi posteriormente adquirida pela IBM [BAN01]. A técnica de estimativa baseada em UCP se tornou popular juntamente com a adoção de UML como padrão de linguagem de modelagem visual pela OMG (Object Management Group) [OMG07], grupo que define padrões mundiais relacionados à tecnologia de objetos. Isto se deve principalmente ao fato de que a técnica utiliza Use Cases como entrada para medição do tamanho funcional de sistemas de informação. Leia o restante deste post »

 

José Papo apresenta palestra no 2º Seminário Brasileiro de Teste de Software

Neste artigo:

Quer saber mais sobre teste de software? Confira a palestra “Behaviour-Driven Development: A nova Era do Test-Driven Development e Acceptance Test-Driven Development” apresentada por José Papo, um dos integrantes do Centro de Competência de Arquitetura da BRQ, no 2º Seminário Brasileiro de Teste de Software.

Tags / Palavras-Chaves:
qualidade de software, ALATS, teste de software, desenvolvimento, aplicações

Com o intuito de disseminar as melhores práticas para teste de software no país, a ALATS (Associação Latino-Americana de Teste de Software), entidade sem fins lucrativos originada para estimular a melhoria dos processos de teste das aplicações, realiza o 2° Seminário Brasileiro de Teste de Software (BRATESTE). O encontro acontece entre os dias 12 e 13 de março de 2009, no Renaissance São Paulo Hotel.

O tema da apresentação de José Papo, um dos integrantes do Centro de Competência de Arquitetura da BRQ, é “Behaviour-Driven Development: A nova Era do Test-Driven Development e Acceptance Test-Driven Development”, com exemplos em Concordion e JBehave 2.

A apresentação será realizada no dia 13 de março, às 16h00.

Vale a pena conferir!

 

Windows Azure, um novo conceito de desenvolvimento na nuvem

Neste artigo:

O Windows Azure, novo pacote de serviços oferecidos pela Microsoft, possibilitará o desenvolvimento na nuvem. Uma plataforma de serviços na nuvem permite a integração de cenários de SOA (Service Oriented Architecture), hoje dispersos entre várias empresas. Confira aqui uma análise desse novo conceito.

Tags / Palavras-Chaves:
Windows Azure, SOA, cloud computing, desenvolvimento de software, aplicações

Olá pessoal, vamos iniciar uma série de posts para abordar o novo pacote de serviços oferecidos pela Microsoft que irá possibilitar o desenvolvimento na nuvem. Esse pacote de serviços foi nomeado Windows Azure.

O Ponto Inicial – Multi-Enterprise Business Application (MEBA)

Para começar a falar sobre o Azure ea razão desse serviço, vamos entender o MEBA. O Multi-Enterprise Business Application é um conjunto de padrões para a integração de arquiteturas de serviços de empresas, que usam o .NET Services.

Quando pensamos no mundo enterprise, com software on-premise e hardware local, como aplicar uma abordagem SOA (Service Oriented Architecture – Arquitetura Orientade à Serviços) de sucesso vem sendo bastante discutida. Entende-se por sucesso a correta seleção de funcionalidades das aplicações de linhas de negócios (Line of Business ou LOB) como serviços, obtenção de SLA’s (Service Level Agreement) aderentes às necessidades de negócio, facilidades de administração, uso de protocolos abertos, reuso, boa governança de serviços, entre outros.

Leia o restante deste post »

 

JavaServer Faces Technology – Técnica demais para o designer, visual demais para o desenvolvedor

Neste artigo:

O desenvolvimento web orientado a componentes vem ganhando espaço na comunidade Java e a especificação JavaServer Faces Technology tem sido muito discutida. A pergunta que se faz é: quanto a JSF é produtiva no mundo real do desenvolvimento de software?

Tags / Palavras-Chaves:
JavaServer Faces Technology, frameworks, paper prototyping, interface, desenvolvimento

O desenvolvimento web orientado a componentes vem ganhando espaço na comunidade Java, vide RichFaces, Facelets, IceFaces, MyFaces, ADF, Seam, etc. Aqui, irei resumir tudo isso à JSF – JavaServer Faces Technology. A especificação JSF e todas as consequências e discussões que ela traz junto estão em alta nos fóruns. Mas a pergunta importante que devemos fazer é: o quanto isso tudo é produtivo no mundo real do desenvolvimento de software?

Pensando em sistemas de interface web, sempre vi o desenvolvedor como a figura responsável por codificar a inteligência desse sistema, e o web designer responsável pela identidade visual. Porém, quando trabalhamos com JSF, as decisões de interface estão na mão do desenvolvedor, pois ele é quem conhece os componentes de interface possíveis de serem utilizados.

Pesquisando sobre o assunto, encontrei o post  Utilizando AJAX com JSF de maneira eficiente, onde podemos observer um código “HTML“. O curioso é que a única tag HTML utilizada no exemplo é a <body>, as demais são tags do JSF, que normalmente o web designer não conhece.

E o que isso implica para a produtividade no processo de desenvolvimento? Como trabalhar o desenvolvedor e o designer em conjunto, neste modelo?

Leia o restante deste post »

 

Desenvolvendo aplicativos para iPhone

Neste artigo:

Diante do sucesso do lançamento do iPhone e do iPod Touch, a Apple desenvolveu aplicativos para potencializar o uso dos aparelhos. Porém, alguns processos de licença, homologação e validação, como o EULA, limitam seu desenvolvimento. Dessa forma, como fica a evolução desses aplicativos?

Tags / Palavras-Chaves:
iPhone, iPod Touch, framework, telefonia móvel, aplicações, desenvolvimento

Todos conhecem a Apple por sempre tentar inovar e quebrar os padrões existentes fornecendo uma experiência nova e agradável para o usuário final. O lançamento do iPhone agitou o mundo da telefonia trazendo um aparelho elegante, com funcionalidades inovadoras , mudando para sempre o conceito de aparelhos móveis e reaquecendo um mercado que estava carente de novidades, pois os fabricantes líderes estavam acomodados com as poucas “inovações” que seus lançamentos apresentavam.

Apple iPhone especificações de tamanho
O iPhone (e posteriormente o iPod Touch) chegaram gerando uma movimentação em usuários, blogs, fóruns e comunidades de uma forma que eu não via a muito tempo,  pois, além de um excelente hardware, trazia um design moderno:  era fino (aproximadamente 12 milímetros), tinha um display grande (aproximadamente 62 milímetros de largura por aproximadamente 115 milímetros de altura), pesava impressionantes 90 gramas, câmera de 2 megapixels e contava com wi-fi, bluetooth. Além disso, foi lançado em duas versões, com HD interno de 4GB (já extinta), e a popular versão com 8GB. Todos os concorrentes se apressaram em apontar a impossibilidade de aumentar a capacidade de armazenamento, por se tratar de um HD interno, mas isso não chegou a ser uma ameça ao sucesso do aparelho.

Leia o restante deste post »

 

Melhorando a qualidade e a testabilidade de um sistema com técnicas para quebra de dependências

Neste artigo:

Técnicas como refactoring, Test-Driven Development e Design Emergent, e design patterns apropriados podem evitar um projeto ruim. Mas como melhorar a testabilidade de sistemas que não foram implementados dessa forma?

Tags / Palavras-Chaves:
teste de software, qualidade de software, refactoring, refatorações, desenvolvimento

Em código de sistemas legados (e mesmo os que não deveriam ser tão legados assim!) encontramos módulos, classes ou métodos muito acoplados entre si, difíceis de serem testados unitariamente. Como os grandes papas do desenvolvimento de software explicam, esse tipo de dificuldade de testar possui forte ligação com um design ou arquitetura ruim. Portanto: Código com alto nível de testabilidade é código bem projetado. E, código difícil de testar é mal projetado. Usando técnicas (como Refactoring, Test-Driven Development e Design Emergente) e design patterns apropriados é possível evitar um projeto ruim. Mas, como melhorar a testabilidade de classes orientadas a objeto que não foram implementadas dessa forma? Para isso podemos usar algumas técnicas e refatorações (refactorings) apropriados. Isso facilitará os testes unitários de classes críticas de seu sistema e ainda, por tabela, melhorará o design de parte de seu sistema. Leia o restante deste post »

 

Artigos sobre desenvolvimento ágil em publicações do PMI

Neste artigo:

Publicações ligadas ao PMI (Project Management Institute) trazem artigos sobre o desenvolvimento ágil e a gestão ágil e enxuta de projetos, possibilitando, por exemplo, o aumento do número de projetos de desenvolvimento de software entregues no prazo, no custo e com os requisitos necessários. Veja aqui alguns artigos.

Tags / Palavras-Chaves:

Agile, gerenciamento de projetos, PMI, desenvolvimento

Alguns artigos tratando sobre o desenvolvimento ágil e gestão ágil e enxuta (lean) de projetos apareceram em publicações ligadas ao PMI (Project Management Institute).

Leitura interessante, para reforçar o que está perceptível nos países desenvolvidos: O desenvolvimento ágil virou mainstream e, apesar de percalços e erros de adoção, já é discutido por uma grande fatia do mercado de lá. É interessante notar também que muitos dos gerentes de projeto que estão adotando processos ágeis são PMPs.

No artigo Agile Software Development Projects Enable Adaptability and Success (subtítulo: Agile may be the cure for overdue, high-cost software development projects) o PMI descreve como o número de projetos de desenvolvimento de software entregues no prazo, no custo e com os requisitos necessários aumentou graças à maior adoção de processos ágeis. Eles utilizam o Chaos Report como evidência desse aumento de projetos bem sucedidos.

O outro artigo pode ser encontrado na revista PM Network, que é distribuída para os associados do PMI. Ele pode ser encontrado online na edição de janeiro de 2009. Procure, clicando em Contents, pelo título do artigo: The Incredible Shrinking Team.