Adwords

Interessado em fazer dinheiro anunciando no Google?

Celular

Produtos do Google para seu celular favorito ou para o iPhone? Você encontra tudo aqui!

Gmail

Considerado um dos melhores Webmails do Mundo, o Gmail não pára de inovar!

Opensocial

Tudo sobre a plataforma de aplicativos para Redes Sociais do Google!

Orkut

Tudo sobre a Rede Social do Google, a mais popular no Brasil!

Início » Geral

Como é o desenvolvimento de um novo serviço?

Enviado por em terça-feira, 8 maio 2007Um Comentário
Nos últimos quinze anos, a computação evoluiu muito em termos de hardware e software. O surgimento da multimídia e da Internet gerou um aumento no uso de PCs. Os aplicativos voltados ao uso em empresas, também auxiliaram no aumento do uso de computadores. O desenvolvimento arquitetural de computadores avançou tanto, que o fator custo-benefício está muito melhor.

Com este desenvolvimento, serviços online também avançaram consideravelmente. Os serviços na Internet são praticamente softwares rodando no browser. São tantas as capacidades que linguagens de programação para Web e máquinas virtuais possibilitam, que muitas vezes, apenas o browser nos permite realizar várias tarefas simultaneamente. Exemplo destes avanços são os ótimos serviços oferecidos pelo Google, pelo Yahoo! e por tantas outras empresas do ramo.


Pergunta: Você já imaginou como é a projeção de um novo serviço ou de um novo software para estas grandes empresas do mundo da informática? Vamos para um passo-a-passo.

1. Concepção e Análise: avaliar o “terreno” e as necessidades existentes – Em primeiro lugar, informação. Uma empresa inteligente está sempre antenada nos lançamentos da concorrência, buscando inovações e procurando satisfazer seus clientes da melhor maneira possível.

Levantar as necessidades e decidir pela criação de um novo serviço é o ponto de partida. Aqui surge a criatividade, qualidade essencial para os envolvidos.

2. Projeto: criação da “planta” do novo serviço/software – Parte essencial, o projeto será o guia durante a implementação. Nele estarão especificados as peculiaridades e o comportamento do produto, detalhe por detalhe.

Com tudo devidamente esquematizado em modelos, fica mais viável a separação em partes. Um modelo muito complexo fica humanamente impossível de ser implementado e a solução mais óbvia é a divisão em pequenas partes. Implementando uma a uma, basta juntá-las ao fim e adequar alguns pormenores.

Em seguida, o projetista define ferramentas, linguagens e quaisquer recursos necessários para a implementação.

3. Programação: implementando o projeto – Chegado o momento da implementação, o programador vai codififcar e dar o “sopro da vida” ao projeto. A etapa de programação é igualmente importante e qualquer mudança necessária que não tenha sido especificada no projeto, deverá ser comunicada às partes antecessoras. Todas as alterações deverão fazer parte da documentação do produto.

4. Testes: a famosa fase beta – Uma equipe ou um conjunto seleto de pessoas experimentam o novo produto, encontram bugs, sugerem adição de funções e dão um parecer. Com base nisso, há um aprimoramento do projeto, influenciando na implementação e gerando outra versão para testes.

5. Prototipação: a divisão em previews – Segundo Pressman*, a prototipação “é um processo que capacita o desenvolvedor a criar um modelo do software que será implementado.” Seria como uma pré-visualização do produto.

No mundo dos serviços Web, essa técnica é um pouco diferente. Podemos assumir como primeiro protótipo, a primeira versão Beta lançada. As subseqüentes seriam os novos protótipos. Essa prototipação só tem fim quando o serviço/software deixa de ser Beta.

6. Manutenção: nada dura para sempre – Manutenção é fundamental à vida do produto. Serviços Web e softwares não envelhecem, ficam obsoletos. Adicionar capacidades, corrigir erros básicos ou graves, modificar funções ou reformular interfaces são algumas formas de manutenção.

Como é corriqueiro encontrarmos em noticiários online, no mundo virtual, falhas graves não faltam. Semanalmente são lançados updates para os já difundidos serviços e softwares, muitas vezes recebendo correções urgentes de vulnerabilidades descobertas.

7. Metodologias de Desenvolvimento – Cada empresa tem seu estilo de organização. Seja lá como for, é fundamental que exista um, de fato. Uma empresa que define padrões, agiliza a união das partes e ganha em qualidade e produtividade. Em menos tempo, teremos resultados mais satisfatórios.

Grandes empresas conhecidas da Web seguem padrões próprios de trabalho, envolvendo técnicas procedimentais e organizacionais eficientes. Os resultados? Estão aí para serem vistos e experimentados!

8. Documentação – Um produto sem documentação tende a trazer problemas sérios para o desenvolvedor. Imagine que em uma empresa, novos programadores são contratados a cada mês. Se um destes novos colaboradores precisar prestar manutenção para um produto desenvolvido pela empresa antes de sua chegada nela, basta pegar a documentação, estudá-la e com o conhecimento necessário em recursos como linguagens de programação empregadas, fazer as alterações necessárias. Se essa documentação não existir, tudo fica mais difícil, até mesmo para quem desenvolveu que poderá ter esquecido detalhes importantes de um produto.

Documentação escrita traz a segurança de entendimento para diversas gerações de programadores da empresa. Assim, ela não fica depende de alguns colaboradores. Além do mais, ela pode servir como guia quando direcionada ao usuário final e, no caso de serviços Web, pode ser oferecida também em linguagem acessível, nas Centrais de Ajuda ao consumidor.

Parece simples, mas a complexidade é no mínimo assustadora. Quando utilizamos um software ou serviço, não imaginamos que por trás dele houve um trabalho minucioso e que demandou tempo e conhecimento para torná-lo tão acessível a nós. Quando estudamos e investigamos este “underground”, assustar-se é comum.

*Roger S. Pressmann em seu livro “Engenharia de Software”.

Daniel Fernando Pigatto cursa bacharelado em Ciência da Computação na Universidade Regional Integrada de Erechim/RS, reside na mesma cidade e é editor de dois blogs: Ponto Flutuante – página pessoal, com artigos de classificação geral; e Wekta – página colaborativa voltada ao underground da tecnologia.

Popularity: 2% [?]

Um Comentário »

  • Ivan disse:
    Duvido muito que grandes empresas trabalham neste fluxo Watherfall. Este foi um erro dos primeiros fabricantes de software descoberto no início dos anos 80. Não dá certo fazer um software grande com etapas que “terminam” em certo momento. O que foi criado então foi um modelo de desenvolvimento circular, onde tudo é revisto em determinados milestones.
    As informações contidas no artigo são boas para se ter uma vaga idéia do que é uma fase de teste, ou uma fase de implementação, porém está errado a metodologia aplicada!