Uma direção Y. Ou 2.0

Posted on timeSeptember 3rd, 2008 by userMarcio Francisco in catEmpreendedorismo    flagNo Comments


Eu sempre me perguntei porque algumas pessoas mudam tanto de empresa. Porque eu mudo muito de empresa.

Durante as aulas do MBA fui apresentado ao McGregor e sua Geração Y. Logo de cara pensei: Sou Y demais.
Dentre todas as outras questões que vêm a tona, continuei com um problema fundamental: Porque me movimento tanto?

Deixemos isso de lado por um momento. Muitos artigos sobre a Geração Y tem aparecido por ai, parece que está na moda.
Sim, é importante mostrar a todos a importância do novo modelo de profissional, que começa a remodelar as empresas de hoje em dia.
Parece que empresas do antigo modelo, do “trabalhe por dinheiro”, não conseguem manter seus “Y”s motivados e, constantemente, sofrem com a baixa desses profissionais.

Bem, eu não trabalho apenas por dinheiro. Sempre que sinto que o emprego atual não me agrega muito, eu troco.

Entendi então a minha necessidade de mudança.

Comecei a perceber que precisava de algo diferente. Precisava de algo com objetivos parecidos com os meus. O caminho mais correto me pareceu então a MFCO. Criar uma empresa para agregar valor da minha maneira.

Esse é a minha Empresa 2.0.

Precisamos de empresas 2.0. Empresas Y. Empresas que partilhem da nossa visão, do nosso way of life. Empresas que tenham objetivos como os nossos.

tagTags:



Effective Scaffold for Rails

Posted on timeSeptember 3rd, 2008 by userFelipe in catRuby on Rails    flagNo Comments


Generators são importantes ajudantes na maneira como desenvolvemos aplicações Ruby on Rails. Facilitam muito o trabalho, além de agilizar tarefas repetitivas.

Scaffold é um generator bastante conhecido, principalmente por railers iniciantes. Através deste é possível criar toda a sistemática de um CRUD para a sua aplicação

Algum tempo atrás, o script padrão foi alterado para o scaffold RESTful, que quando utilizado gera toda a estrutura para um CRUD RESTful.

Porém, nem todo o código gerado é utilizado. Um bom exemplo disso são as chamadas RESTful envolvendo XML. Caso os recursos da sua aplicação devam se comunicar em XML pode ser interessante utilizar o scaffold para gerar este código, porém a grande maioria das aplicações utilizam somente a interface HTML. Não oferecem nenhum tipo de API de acesso aos dados. Com isso o código gerado pelo scaffold - para comunicação via XML - fica inutilizado, porém ativo. Servindo apenas para cair no esquecimento e servir de acesso a usuários maliciosos atrás de alguma vulnerabilidade do seu sistema.

Nos meus últimos projetos em Ruby on Rails, percebi que eu já não utilizava mais o scaffold, para evitar o excesso de código gerado e diminuir as minhas preocupações com segurança.

Resolvi então criar o meu próprio generator, baseado nas minhas necessidades. E só agora tive tempo para publicá-lo no Github.

Para instalar é muito simples:

script/plugin install git@github.com:felipemesquita/effective_scaffold.git

Para utilizar o generator:

script/generate effective_scaffold MODEL

Espero que possa ser útil a você. Sinta-se a vontade para adaptá-lo conforme suas necessidades.


tagTags: , , ,



Pilares para o sucesso de aplicações web

Posted on timeAugust 21st, 2008 by userFelipe in catUncategorized    flagNo Comments


Saber o que faz com que alguns produtos tenham mais sucesso que outros não é das tarefas mais simples. Na maioria das vezes, eles possuem basicamente as mesmas características, parecem oferecer as mesmas sensações, mas mesmo assim, uns são mais aceitos que outros.

São pequenos detalhes que passam despercebidos que fazem a diferença entre a receptividade de um produto ser maior entre os demais concorrentes.

Usuários quando questionados do porquê utilizam um produto e não outro, muitas vezes se encontram sem respostas para tal.

Posso me tomar como um exemplo. Utilizo aplicações web diariamente para gerenciar projetos, para me comunicar, para me organizar sobre o que será feito no meu dia-a-dia e para diversas outras coisas. E afirmo, existem excelentes opções de aplicações web para todas essas necessidades.

Elas não possuem muitas funcionalidades diferentes entre si. Basicamente fazem o que se propõem a fazer, variando apenas na maneira como fazem. Se é uma aplicação de gerência de projetos, controla tarefas, o que foi finalizado, o que está em andamento, etc. Todas fazem isso, variando apenas no como fazem.

Então o que leva a uma aplicação web ser tão mais divulgada do que outras do mesmo contexto? O que possuem de tão diferente dos seus concorrentes, que faz com que grande parte dos usuários as prefiram?

Jesse James Garrett escreveu um bom livro onde ele cita os elementos básicos da experiência do usuário. Ele menciona que o sucesso do produto não está só relacionado ao exterior, a como ele se apresenta. O autor defende que o processo de desenvolvimento de um produto é tão importante para o sucesso do mesmo, quanto o trabalho após o lançamento. O sucesso começa internamente, dentro da própria equipe que o constrói, que o elabora.

E para isso, ele defende que 9 disciplinas são de extrema importância para o desenvolvimento de aplicações web de sucesso.

1 - User Research: Projetar focado no seu usuário significa entender o que o seu usuário precisa, como pensa e se comporta. É importante também incorporar o que foi aprendido, sobre os usuários, dentro de todos os aspectos do seu processo.

2 - Site Strategy: Aqui é sobre definição de metas. Sobre a importância de possuir metas para sua aplicação web e sobre saber medir corretamente para que possa ser avaliado se a aplicação está cumprindo ou não com as metas pré-estabelecidas. Essa tarefa pode ser extremamente complicada.

3 - Technology Strategy: Aplicações web são tecnologicamente complexas. É importante estabelecer uma estratégia de tecnologia para sua aplicação, como: plataforma, padrões, tecnologias e como estas podem trabalhar em conjunto.

4 - Content Strategy: Conteúdo é a razão principal pelo que o usuário utiliza a sua aplicação web. Mas qual conteúdo oferecer para satisfazer as expectativas dos usuários? Quanto de conteúdo? E de que forma? Antes de você produzir conteúdo você precisa fazer esses questionamentos.

5 - Abstract Design: Arquitetura de Informação e Design de Interação são disciplinas importantes para expressar em um framework conceitual, a experiência final do usuário. Essas duas disciplinas já possuem seu valor reconhecido dentro de um processo de desenvolvimento de uma aplicação web.

6 - Technology Implementation: Desenvolver sistemas é uma tarefa dificil e envolve muito trabalho. Linguagens, protocolos, bancos de dados, testes, tudo precisa bem trabalhado. Quanto mais complexo for sua aplicação web, mais complexo será sua plataforma tecnológica.

7 - Content Production: Saber qual conteúdo você precisa não é o suficiente. Você precisa saber como produzi-lo.

8 - Concrete Design: Aqui você precisa determinar os detalhes específicos da interface, navegação, posições, disposição das informações e o design. Isso é fundamental para o produto final.

9 - Project Management: Esta disciplina é um elo de ligação para todas as outras. É importante manter em dia o gerenciamento de projeto para o desenvolvimento de sua aplicação web. Assim como manter atualizada técnicas de gestão.

Raramente dentro das empresas possuímos profissionais diferentes para cada disciplina, geralmente possuímos profissionais que ficam responsáveis por mais de uma disciplina. Não há problema nisso. Mas precisamos estar atentos se estamos aplicando essas disciplinas no desenvolvimento de nossas aplicações web.

Independente do tamanho da empresa, se é uma grande empresa de Internet ou uma startup, o mínimo de planejamento é necessário para que seja bem aproveitado o investimento para o desenvolvimento de um novo produto.

tagTags:



Bootstrap. Again.

Posted on timeAugust 19th, 2008 by userMarcio Francisco in catEmpreendedorismo    flagNo Comments


Bootstrapping tornou-se um termo relativamente comum hoje em dia, mas ainda está dificil de o encontrar sendo utilizado. Vivemos em um país extremamente burocrático, o que dificulta nossa vida como micro empresários, onde estatísticas mostram que 95% das empresas morrem em 3 anos. Diante disso porque bootstrapping caminha tão devagar por aqui?

Sem o menor incentivo que temos, gastar pouco dinheiro obtendo rapidamente algum tipo de retorno e trabalhando sempre com foco em resultados rápidos parece tão lógico que fica dificil imaginar porque não fazemos isso desde a década de 50.

Basicamente esse é o pensamento das nossas (e de muitas outras em diversos países) startups:
“Se obtivermos somente 1% do mercado, abrangeremos 5000 pessoas que comprarão nossos produtos e, assim, teremos lucro. Então eu só preciso de dinheiro pra investir na minha idéia.”

Por que não ter 100% do mercado? Porque é dificil! Isso nos faz criar um mercado. Criar um nicho. E isso é dificil.
Iniciar um projeto dessa maneira é complicado. São muitas incertezas. É mais fácil correr pro 1% de um grande mercado existente. Muito mais seguro, afinal 95% das empresas morrem mesmo, então vou “arriscar” menos.

Mas porque morrem? Porque seguem um mercado saturado, cheio de concorrentes que vão te engolir. Morrem porque começam a brigar pelo preço. Para nós, isso ai que é arriscado.

Qualidade não tem preço. Diferencial não tem preço. Estamos saturados de saber disso para nosso lado profissional, mas não aplicamos quando vamos iniciar uma empresa.

Mas, onde diabos Bootstrapping entra nisso tudo?

Se repararmos a principal questão que precisamos para entrar num mercado saturado e competitivo no preço, é que precisamos de dinheiro para iniciar.
Vamos precisar de dinheiro porque precisaremos de marketing! Precisamos alcançar nosso público alvo! Precisamos fazer isso logo, e com comerciais de TV, e um escritório na Rio Branco! Precisamos parecer grandes para sermos grandes!

Isso tudo atrapalha o desenvolvimento de algo diferente. Isso só atrai o mais do mesmo. Mais empresas iguais, mais produtos iguais.
Para começarmos algo diferente, melhor que seja sem capital.

Sim, você leu direito. Melhor sem dinheiro.
Se você não tem dinheiro, seu trabalho fica focado em terminar rápido. Menos entregas. Menos serviços. Vá direto ao ponto. Assim você vai conhecer mais rapidamente seus clientes, e vai poder fazer exatamente aquilo que seus clientes precisam. Eles vão amar seu produto e, esperamos, pagar por ele.

Caso isso esteja errado, caso falhemos, caso façamos parte do “95%” pelo menos não gastamos muito. Não iremos precisar vender nossas casas, nem nossos carros.

Na nossa cabeça isso é bootstrapping. Sem dinheiro, direto ao ponto, e rápido para sobreviver. Dure o suficiente e você terá um serviço ou produto de sucesso, pois todos clientes falam bem daquele produto que ama.

Para nós isso é bootstrapping. E para você? Comente!

tagTags: