sexta-feira, 19 de setembro de 2008

Vaga para Estágio

A ACROSS-IT (www.across-it.com.br), empresa especializada no desenvolvimento de soluções focadas em CRM e PRM, está contratando estagiários com conhecimentos básicos em programação web para atuar com ASP.NET.

Requisitos:

- Cursando: Informática, Sistemas de Informação, Análise de Sistemas, Processamento de Dados entre o 4º semestre e o penúltimo semestre;
- Conhecimentos básicos em desenvolvimento web (ASP.NET, PHP, JAVA ou similar), HTML, CSS, SQL;
- Comprometimento com as atividades;
- Vontade de aprender novas tecnologias;
- Proatividade.

Carga Horária: 20h / semana
Bolsa: R$ 450,00 + auxílio transporte

Interessados enviar currículo para curriculo@across-it.com.br

sexta-feira, 12 de setembro de 2008

Scrum: Uma metodologia para agilizar nossos processos

Vamos a mais um post.

Acho que estou bem empolgada.
Hoje aqui na Across-it começaremos uma nova etapa. A cada dia que passa estamos inovando na área de tecnologia, começamos desenvolvendo objetos com padrão MVC, como não tinhamos documentação, implantamos o uso de comentários bem detalhados nos métodos para gerar a documentação dos nossos arquivos, ai tivemos o problema de controle de versões e começamos a usar o SVN (como já mostrei a instalação), mas como nosso sistema é um sistema que sofre muitas mudanças e elas precisam ser feitas rapidas nosso Gerente de TI propôs a implantação de uma metodologia ágil e a escolhida foi Scrum.

Scrum é um método ágil para gerenciamento de projetos, na minha opinião é bem parecido com o XP mas não tem a programação em par.

Quem usa scrum: Microsoft, Yahoo, Google, Philips, Siemens, Nokia, BBC, Salesforce.com.
Muita gente conhecida né pessoal!!!

Metodologia ágil
São métodos, práticas e técnicas para o desenvolvimento rápido de projetos que prometem aumentar a satisfação do cliente (BOEHM, 2003)

Scrum
É um método ágil que vem ganhando visibilidade nos últimos 5 anos, em projetos de desenvolvimento de software. Os benefícios apontados são: comprometimento da equipe; motivação; colaboração; integração e compartilhamento de conhecimento (Pereira, et al, 2007).

O Scrum é bastante objetivo, com papéis bem definidos, de fácil adaptação. O Scrum não é um processo previsível, ele não define o que fazer em toda circunstância. O Scrum não vai dizer exatamente o que fazer, não irá resolver todos os seus problemas, mas com certeza os problemas serão mais facilmente identificados (Pereira, et al, 2007). Ou seja, temos flexibilidade para fazermos como nossa equipe achar melhor.


Primeiro vou mostrar uma imagem de como é organizado o scrum e vou explicando aos poucos


Papeis e responsabilidades
É importante seguir o que propõe o scrum em relação a papeis, responsabilidades e documentos a ser gerados.

Product Owner
Define os requisitos do produto, data de release e o que deve conter nela.
Responsável pelo retorno financeiro do produto.
Prioriza os requisitos de acordo com o seu valor de mercado.
Pode mudar os requisitos e prioridades a cada Sprint.
Aceita ou rejeita o resultado de cada Sprint.

ScrumMaster
Garante que o time esteja totalmente funcional e produtivo.
Facilita a colaboração entre as funções e áreas e elimina os impedimentos do time.
Protege o time de interferências externas.
Garante que o processo está sendo seguindo.

Scrum Team
Multi-funcional, entre 5-9 membros.
Seleciona, entre os itens priorizados, os que irão ser executados durante a Sprint.
Tem todo o direito de realizar o que quiser dentro da Sprint

Outros conceitos
Sprint
São iterações realizadas no projeto, essas iterações são bem definidas e cada uma com duração de 2 a 4 semanas.

Product Backlog
uma lista de itens priorizados que incluem tudo o que precisa ser realizado, que possa ser associado com valor de negócio, para a finalização do projeto, sejam requisitos funcionais ou não.

Planning Poker
É uma forma de estimativa em conjunto, podendo ser feita como um jogo, a itenção é chegar a um consenso de estimativa, para cada item do Backlog, de forma objetiva e divertida.

BurnDown
É um gráfico muito simples que indica o consumo de horas diárias.


Quadro de atividades
Onde organiza as atividades, dos itens de Backlog da Sprint. Esse quadro é muito produtivo, pois basta olhar para ele para realizar a leitura do progresso da Sprint,


Reuniões Diárias
É a resposta de 3 perguntinhas: O que fiz ontem? O que vou fazer hoje? Quais obstáculos encontrados?
Não é para a solução de problemas, duração de 15 minutos e todos em pé, todos são convidados, mas apenas os membros da equipe, ScrumMaster, dono do produto podem falar, ajuda a evitar reuniões adicionais desnecessárias.

Revisão e Retospectiva
Ao final de cada Sprint, acontece a reunião de revisão. E uma retrospectiva que será observado o que funciona e o que não funciona.

Bom já dá pra começar o scrum, até a próxima galerinha


Onde pesquisei
Pereira, Paulo, et.al. Entendendo Scrum para Gerenciar Projetos de Forma Ágil.
Uma Introdução ao Scrum.

quarta-feira, 10 de setembro de 2008

Aprenda como fazer Controle de Versões com SVN

Voltando um pouco ao foco de desenvolvimento, hoje vou falar sobre uma dificuldade que tivemos para desenvolver o Customer Bridge com uma equipe de 4 pessoas e como conseguimos resolver esse problema.
Começamos aqui na Across-it com uma equipe de tecnologia formada apenas por 2 pessoas, o Gerente de TI e eu, alterávamos o código sem problemas algum, não tinha conflitos, nem erros, mas a equipe foi aumentando e hoje nossa equipe tem mais 2 pessoas e começou a ficar problemático todos programarem em um código locado na mesma pasta. Então procuramos algumas soluções.
A solução encontrada foi usar um Sistema de controle de versão que tem a finalidade de gerenciar diferentes versões no desenvolvimento de um documento qualquer. Eu sugeri que usássemos um controle de versões, já conhecia bem o CVS desde que trabalhei na Novatec, mas não sabia como configurar, então pra mim seria um bom desafio implantar o CVS no nosso projeto.
Então comecei a minha busca pela configuração...
Primeiro
Eu descobri que para a nossa aplicação em dot.NET a melhor solução seria implantar o SVN. O SVN conhecido também como subVersion era melhor para nosso ambiente, inicialmente pensei que fosse uma limitação minha mas descobri um comentário de um post desse link log4dev que pontuava algumas coisas as quais senti dificuldade, então vamos lá:
  • O SVN possui suporte para versionamento de para pastas, arquivos e meta dados, ou seja, tudo no repositório se resume a cópias de arquivos com históricos;
  • É muito complicado configurar permissões de acesso no CVS;
  • Todo mundo que eu conheço que usa CVS usa como plugin do eclipse, então não consegui configurar ele para Visual Studio;
  • Como o SVN é o concorrente direto do CVS a tendência é que ele evolua para se tornar estavel.
Segundo
Achei um pouco difícil encontrar um bom tutorial que me auxiliasse na instalação de SVN aqui para meus projetos. Mas eu consegui achar um ÓTIMO e vou explicar como configuramos SVN para nossos documentos, ta um pouquinho diferente de como o tutorial explica mas funciona tudo certinho.
Vamos lá:
Passo1: Baixar e instalar o SVN (servidor) e o Tortoise (front)
Passo2: Cria a pasta do repositório (Eu crie em C:\Inetpub\wwwroot\Repositorios);
Crie uma pasta para cada projeto (Eu criei para o customer Bridge C:\Inetpub\wwwroot\Repositorios\Bridge)

Depois vai na opção TortoiseSVN – Create repository Here


Ai ele vai montar uma estrutura de pastas como a imagem abaixo

Passo3: Criar uma pasta temporária (Eu crie em C:\Inetpub\wwwroot\Temp)
Crie uma pasta para cada projeto (Eu criei para o customer Bridge C:\Inetpub\wwwroot\ Temp\Bridge)
Pegue a pasta de cada projeto e faça um backup delas e guarde, pois se ocorrer algum erro estaremos seguro dos arquivos;
Depois de feito o backup pegue todos os arquivos da pasta do projeto e copie na pasta temporária e delete-os da pasta do projeto.
OBS: A pasta do projeto precisa esta completamente vazia para versionarmos ela.
Vá na pasta temporária do projeto e selecione a opção TortoiseSVN - Import

Quando aparecer para dizer qual pasta vai a importação você seleciona a pasta do Repositório que criamos (C:\Inetpub\wwwroot\Repositorios\Bridge)
Pronto ele vai fazer toda a importação para o Repositório.

Agora vem a parte de criar as pastas dos projetos em cada Máquina
Passo4: Como no exemplo acima tiramos tudo de dentro da pasta do projeto, vamos usar essa pasta, ou então crie uma nova pasta caso esteja em outras máquinas.
Selecione a pasta e a opção SVN Checkout

Pronto seu projeto esta versionado em sua máquina
Agora é só fazer Updates e Comits.
Aqui eu sempre faço um Update antes de dar comit para evitar conflitos.
Espero ter ajudado com esse artigo.
Até a proxima !!!

Onde pesquisei
Subversion for CVS Users
Practical guide to subversion on Windows with TortoiseSVN

terça-feira, 9 de setembro de 2008

Software como serviço - Vantagens e Preacauções

Olá pessoal,

Estou de volta mais uma vez e vou falar mais um pouquinho sobre a aplicação que estamos desenvolvendo aqui na empresa que trabalho o Customer
Bridge®.
Desde o inicio desse ano estamos tentando chegar ao mercado e vimos que nosso sistema ainda não esta como deveria, apesar de uma ótima aceitação dos Leads notamos que os módulos do sistema estavam amarrados. Visualizamos que deveria ter a possibilidade do usuário escolher os módulos mais importantes para a sua empresa e assim reduzir o custo de aquisição Então foi criado o Customer Bridge BOX®, que será disponibilizado como SaaS (Software as a Service).
A primeira pergunta que nos vem à cabeça é: "Quanto vale e quanto custa ser dono dos códigos fontes?"
Para muitos a resposta é: "Custam mais que valem”.

E porque isso? Primeiro nem sempre um software adquirido contempla todas as necessidades da empresa. E com a evolução muitos desses softwares se tornam obsoletos.
Por esses motivos que um software acaba custando mais do que eles valem, empresas investem fortunas em sistemas que ao terminar sua implantação ele pode não condizer com suas normas ou até mesmo não ter atualizações suficientes para seu cenário atual.
Existem muitas siglas na área de tecnologia e agora vou falar de mais uma

SaaS – Software as a service / Software como serviço
Vamos conceituar essa sigla ...
- Serviço é o ato ou ação útil aos interesses de alguém
- Software é qualquer programa ou grupo de programas que instrui o hardware sobre a maneira como ele deve executar uma tarefa.

Então SaaS nada mais é que um modelo de disponibilizar uma aplicação. As vantagens do SaaS é tempo e custo de implantação menor, não há necessidades de investimentos em infra estrutura, treinamento de usuário mais simples e não pagar por atualizações nem licenças às vezes não utilizadas.

Outras Vantagens focando o ponto de vista do:
Consumidor
  • Alta disponibilidade
  • Redução de dependência do departamento de TI
  • Baixo custo de manutenção
  • Uso descentralizado (Informações não ficam presas - Conhecimento)
e Desenvolvedor
  • Maior eficiência
  • Maior produtividade
  • Agilidade no atendimento do cliente
  • Atualizações centradas
  • Compatibilidade entre versões

Porém como tudo nessa vida precisa de precauções não seria diferente com o SaaS, segue a lista de algumas precauções a serem tomadas ao adquirir um SaaS:
  • O acesso precisa ser rápido e estável no servidor do fornecedor
  • Verificar se sua aplicação é recomendada para SaaS, pois algumas aplicações não são recomendadas para SaaS como frente de loja e estoque, pois são sistemas críticos, ou aplicações robustas que precisam de desempenho de hardware
  • Um SaaS não é muito personalizado, então se sua empresa deseja um produto completamente customizado o SaaS não seria uma boa opção.
  • Verificar como é feita a integração com outros sistemas na maioria a troca de informações é manual.
Observando essas precauções a ser tomadas que a Across-IT ao desenvolver o Customer Bridge® como um SaaS se preocupou em:
  • Desenvolver uma ferramenta de administração de campos dinâmicos, assim a empresa poderá optar por quais campos desejar em seus cadastros;
  • Integrar com alguns ERPs comercializados atualmente, e exemplo do Sapiens.
Em outro post vou descrever passo a passo as atualizações do Customer Bridge BOX.

E para finalizar vou citar alguns exemplos de SaaS, assim ficará mais claro em nossas mentes o que é um SaaS.
  • Google Docs e Office Live – Gerenciamento de documentos, planilhas e apresentações
  • Conta Ouro e Spesa - Controles financeiros
  • Aprex: Escritório on line, e-mail marketing e apresentações (vários serviços)
  • Zoho Office (varias ferramentas) associado ao google e yahoo
É isso ai galerinha, espero ter ajudado quando o assunto é SaaS.

Onde pesquisei: