Recordes de lojas E-Commerce

O e-commerce têm quebrado vários recordes de vendas. O aumento no faturamento das empresas já é exponencial. Em 2009 17 milhões compraram pela internet e em 2010 já são 23 milhões de pessoas que fizeram ao menos uma compra online. Se pararmos pra pensar que são 77 milhões de usuários na internet no Brasil esse número é espetacular.
Os segmentos que mais crescem ainda são os de livros, eletrônicos e cosméticos.
Um fator que está possibilitando esse crescimento é que a classe C está pouco a pouco familiarizando e aprendendo a utilizar a rede.
A concorrência é outro fato que chama a atenção. Lojas virtuais como Submarino.com. Americanas.com, Shoptime.com que antes dominavam completamente estão sendo alcançadas por empresas menores. Quem ganha com isso, logicamente, é o consumidor pela gama de promoções que poderão acontecer.
Para termos um crescimento ainda maior o importante são os lojistas começarem a educar seus clientes à comprar online. Convencer de que é seguro esse método de compra, incentivar e oferecer vantagens e promoções é uma ótima maneira para redução de custos e aumento das vendas de uma loja virtual.

Posted in Uncategorized | Leave a comment

Criando um PMO

Ao projetar a criação em sua empresa de um PMO (Escritório de Gerenciamento de Projetos) devemos levar em consideração vários itens que poderão levar ao fracasso do projeto. A escolha de um software para gestão que agregue os objetivos e perfil da empresa é fundamental para controlar os processos. (Dica: Não adquira um software CARO e sim um que consiga atender as necessidades dos projetos). Independente do uso de metodologia ágil ou não é preciso, também, conceituar em que níveis de suporte o PMO poderá atuar.

Por definição todos os projetos são diferentes um do outro. O alinhamento com os envolvidos no projeto sobre o tamanho, os padrões e metodologias a serem seguidos, além de análise dos impactos ambientais que poderão acontecer força a lógica da construção de um PMO sólido. Cada projeto deveria ser tratado de uma maneira diferente pelo PMO. A verificação se as rotinas estão rígidas e bem definidas é o seu maior objetivo.  Se uma mudança ocorrer em torno da cultura organizacional o PMO deve estar preparado. (Mudança de cultura organizacional: http://migre.me/UNZR).

Encontrei um artigo bastante interessante escrita pelo Adriano Martins da PMG Solutions que descreve como fracassar um PMO: http://migre.me/UO47

Me lembrou bastante o processo Go Horse: http://gohorseprocess.wordpress.com/

Posted in PMBOK, PMO | Leave a comment

PHP – 15 anos

Há 15 anos (e 1 dia) atrás Rasmus Lerdorf anunciava a versão 1.0 do PHP. Hoje já estamos na 5.3.2 e a linguagem se transformou em uma das linguagens mais utilizadas no mundo pela sua facilidade, rapidez e vasta documentação na internet.

Fiz uma rápida pesquisa pelo Wikipedia para verificar o ano do surgimento das linguagens de programação mais utilizadas. Perceba que 1995 foi um ano bastante revolucionário ;)

Linguagem Ano
Assembly Década de 40
Fortran 1950
Lisp 1958
Cobol 1959
Pascal 1970
C 1972
Prolog 1972
Objective C 1980
C++ 1983
Perl 1987
Erlang 1987
Haskell 1990
Python 1990
Visual basic 1991
LUA 1993
PHP 1995
Java 1995
Delphi 1995
Ruby 1995
Javascript 1995
C# 2001

Abraços

Posted in Linguagens, PHP | Leave a comment

Programação Orientada a Sobrinhos

Por diversas vezes, como freelancer, fechei com alguma empresa para desenvolver ou corrigir bugs por um valor exorbitante que me fazia pensar só no dinheiro vindo na minha conta. Você fica contente e animado até abrir o código fonte. Você analisa e procura entender como que esse desenvolvedor @#$@ conseguiu tanto POG em um único projeto. Você analisa e descobre que ele fez uma bagunça na arquitetura do projeto e verifica que o dinheiro não vai compensar essa correção. Acho que todos freelancers já passaram por isso. Daí você já tenta achar alguma desculpa para passar para o cliente, ou então diz que não está com tempo no momento para desenvolver a correção (essa é a desculpa mais comum). O dinheiro é muito alto? Você está devendo até a alma? Você tem certeza de que não ficará estressado com o desenvolvedor FILHODA&#$@ ?

Depois de vários anos trabalhando em projetos desse tipo resolvi parar de me estressar. Mas hoje o tempo é curto e o foco é outro. Abaixo listo algumas dicas de boas práticas que um freelancer deve seguir para a entrega ser um sucesso.

Dicas:

1 – Antes de iniciar qualquer projeto (falo também de demanda) você precisa ter uma motivação. Então procure saber quem é o seu cliente. Ele é um designer ou um dono de alguma agência que sempre tem novos projetos e é tudo que você estava procurando? O projeto vai agregar valor no seu currículo?

2 – Entenda o projeto e veja funcionando em produção. Faça várias perguntas ao seu cliente a fim de sanar dúvidas do que o projeto tem de funcionalidade.

3 – Espere que ao abrir o código você não entenda nada do que está ali codificado. Logicamente que com algumas horas você vai pouco a pouco entendendo e aquilo começará a fazer algum sentido.

4 – Além de programador você deve ser antes de tudo Analista de Sistemas. Então pegue um lápis e um papel e desenhe a arquitetura, colocando exemplo de algum módulo que está descrito no projeto. Isso vai facilitar o seu aprendizado da arquitetura e consequentemente a sua motivação aumentará.

5 – Leia todas as documentações que o desenvolvedor deixar no código. Chingue ele se necessário (acredito que vai ser necessário), mas não perca a calma.

6 – Se tiver dúvida com relação a algo no código verifique se o desenvolvedor deixou documentado o email para contato. Não hesite em escrevê-lo. Explique que você está mexendo no código e que tem algumas dúvidas. Seja educado e acredito que se ele for um bom profissional te responderá com prazer.

7 – Deixe claro com o cliente sobre o seu plano. Se cobrar por hora (acredito que seja mais viável cobrar por hora nessa abordagem) verifique o tanto de horas que você demorará pra entender a arquitetura do projeto, o tanto de horas que vai gastar pra desenvolver e em quantas horas você gastará pra testar o sistema. Dessa forma você está mostrando ao cliente que entende do ciclo de um projeto.

8 – IMPORTANTE!!! Não acorde nenhum valor antes de analisar o código. Não deixe o cliente impor o valor/hora. Isso virá depois de sua análise inicial.

9 – Codifique pensando que se o cliente estiver satisfeito com a demanda ele com certeza vai te procurar em outras ocasiões.

10 – Seja honesto e sempre deixe o cliente saber o que você está fazendo, mesmo que ele não entenda nada tecnicamente. Dê feedback a ele e deixe parecer que você está tranquilo.

11 – Não terceirize o serviço, a menos que você confie nesse terceiro. Se algo sair como não planejado você facilmente queimará com o cliente.

12 – Teste e reteste a demanda. A distância da satisfação e insatisfação do cliente é pequena.

Deixo minha última mensagem nesse post dizendo aos programadores: programem para você e para seu companheiro de trabalho. Programe de forma organizada, use CODING STANDARDS e faça com que o próximo programador a visualizar seu código veja que você é uma pessoa que entende de qualidade e de arquitetura, independente da linguagem. Qualidade e resolução de escopo caminham juntas. Qualidade é inegociável. Documente seu código de forma simples. Todo projeto tem um ciclo e uma das etapas do ciclo é a manutenção e pode ser que não seja você (e não será) que fará.

Boa Sorte!

?

Posted in Boas Práticas de Desenvolvimento, Engenharia de Software, XP - Extreme Programming | Leave a comment

Ambientes: Teste – Homologação – Produção

A divisão em alguns ambientes que um projeto passará tem implicação direta com a melhoria do processo de qualidade de software. Separando em ambientes distintos têm-se menos riscos que ao chegar ao servidor de Produção aconteça algum tipo de problema. O fato de passar por vários testes anteriores em outros ambientes não garante que o projeto não vá estar livre de algum tipo de problema, mas diminui bastante esse risco. O processo de desenvolvimento passará pelos ambientes de Teste e Homologação até chegar ao objetivo principal que é o servidor de Produção.

Ambiente de Teste: é o ambiente responsável para realização dos primeiros testes funcionais e de integração. Ao finalizar uma demanda de alguma parte do projeto os desenvolvedores precisarão realizar um deploy (implantação) das builds (pacotes de entrega) nesse servidor. Qualquer tipo de problema relacionado à aplicação deve ser corrigida nesse ambiente. Nesse estágio leva-se, também, pouco a consideração de teste de performance de servidor, deixando essa questão para o ambiente de Homologação.

Ambiente de Homologação: é um espelho do ambiente de Produção. Esse ambiente deve ser o mais semelhante possível do ambiente de Produção, no que diz respeito à parte de hardware e componentes de software. É um ambiente em que se leva em consideração parte de Testes de Performance, junto com testes de integração.

Ambiente de Produção: é o ambiente final em que o projeto “rodará”. Nesse ambiente estão suspensas qualquer tipo de testes.

Logicamente, que esse processo poderá ser adaptado às culturas de uma empresa. Se tratando de projetos pequenos pode ser inviável o custo/benefício ao utilizar esse modelo de ambientes.
Um software de Integração Contínua (Ex: Cruise Control) poderá ser implantado em algum desses ambientes, afim de varrer todo o sistema em busca de erros no código. Caso encontre envia-se uma notificação por e-mail ou SMS para os analistas.

Posted in Boas Práticas de Desenvolvimento, MPS.Br, Qualidade de Software, Testes de Software | Leave a comment