Scrup

Na Sofshore, estamos obsecados pela pergunta: “como fazer um projeto de desenvolvimento de software dar certo“. Sem a menor dúvida a questão do processo é central na resposta. Este post introduz então uma série dedicada ao processo de desenvolvimento que usamos.

Ao longo dos projetos temos construído um conjunto coerente de conhecimento baseado em nossa experiencia e em modelos reconhecidos pela profissão:

  • Processos já existentes e bem definidos, Scrum e RUP (Rational Unified Process),
  • Modelos de maturidade de processo, CMMI-DEV (Capacity Maturity Model Integration for Development) e MPS.br (Melhoria de Processo do Software Brasileiro)
  • O padrão internacional em gerencia de projeto, o PMBOK (Project Management Body of Knowledge)

Temos definido assim um processo próprio, “Scrup” (Scrum + RUP), visando ser ágil, centrado na arquitetura e maduro.

Ágil porque reconhecemos a importancia e o valor dos principios do manifesto ágil. Trabalhamos para criar software de valor para os clientes, gerenciar as mudanças, melhorar a comunicação e atingirmos a excelencia técnica.

Centrado na arquitetura porque a arquiitetura de um sistema é a pedra angular do seu sucesso. Por menor que seja o projeto, por melhor que seja o processo, não há sucesso sem uma arquitetura bem definida.

Maduro no sentido dos modelos citados acima. Pretendemos satisfazer minimamente os critérios definidos por esses modelos tal como o GPR13 do MPS.br “O escopo, as tarefas, as estimativas, o orçamento e o cronograma do projeto são monitorados em relação ao planejado”.

Nos próximos posts apresentaremos esse processo em mais detalhes:

  • Como priorizamos a arquitetura (que é implicita no Scrum, embora apareça nos principios ágeis)
  • A implicação no processo de ter fases além de iterações (sprints, para usar a terminologia do Scrum).
  • Quais elementos (artefatos, workflows) selecionamos nos dois processos de base para satisfazer os critérios do MPS.br
  • Como articulamos sprints, fases e artefatos com o resto da organização (clientes externos e internos) com interfaces claras.

Já é bem conhecido, PMEs enfrentam uma barreira na aquisição de sistemas sob medida: o investimento financeiro necessário. Apenas para dar uma ordem de magnitude, desenvolver um sistema novo representa uma carga de trabalho mínima de dois meses/homem para um projeto muito pequeno, de seis meses/homem para um projeto pequeno/medio. E para projetos maiores, simplesmente não tem teto. Anos/homem são fácilmente atingidos.

Um investimento muito pesado para pequenas empresas. E ainda para ter um sistema básico, com funcionalidades limitadas.

Em compensação, e parece ser pouco conhecido, o software livre pode ser uma solução. Quando se fala em software livre, a primeira características mencionada é sempre a ausencia de custo de licenciamento. Mas não devemos esquecer que a principal característica de software livre é de poder ser modificado e extendido. Assim, entre outras modalidades de uso, softwares livres podem ser usados como base para sistemas customizados. Partindo de um sistema próximo do necessário basta integrar, acrescentar ou até remover funcionalidades, sem ter que desenvolver o sistema completo.

Um bom exemplo disso é o softphone para Android que a Hellou disponibilizou para os seus clientes no Android Market. A Hellou precisava de um sistema  com algumas funcionalidades bem específicas, tais como um assistente de configuração próprio. O desenvolvimento “from scratch” de tal sistema teria sido inviavel. Mas, usando um produto já existente com propriedades próximas ao necessário, um mês foi suficiente para adaptar às necessidades específicas do cliente.

Por fim devemos mencionar que existem alguns pre-requisitos para esta solução ser viavel. A existencia de um software livre de qualidade para ser usado como base é a mais óbvia. Outro ponto importante é que modificar um sistema é sempre mais difícil do que criar um novo. Como sempre em software, ter um parceiro de muita experiencia é uma condição sine qua non.

(Você apenas ainda não sabe)

Pressionada pela concorrencia, precisando aumentar sua produtividade e buscando diferenciais, nenhuma empresa, pequena ou grande, vive sem software.

Contudo, muitos empresários e executivos ainda não realizaram a profundidade e a amplitude desse fenômeno. Profundidade porque não se trata mais da importância de apenas usar sistemas tais como ERPs e sim danecessidade de oferecer serviços baseados em software, das empresas integrarem sistemas até se tornarem eventualmente empresas de TI. E Amplitude porque esse movimento atinge todas as empresas, tanto as PMEs quanto as grandes.

Duas matérias recentes, “Now Every Company Is A Software Company” [1] e “Why Software Is Eating The World” [2] ilustram bem essa evolução:

My own theory is that we are in the middle of a dramatic and broad technological and economic shift in which software companies are poised to take over large swathes of the economy. [..] More and more major businesses and industries are being run on software and delivered as online services [2]

Today, the world’s largest bookseller, Amazon, is a software company .. Today’s dominant music companies are software companies, too: Apple’s iTunes, Spotify and Pandora .. Disney— Disney!—had to buy Pixar, a software company, to remain relevant in animated movies [..] Software is also eating much of the value chain of industries that are widely viewed as primarily existing in the physical world. In today’s cars, software runs the engines, controls safety features, entertains passengers, guides drivers to destinations and connects each car to mobile, satellite and GPS networks [2]

Regardless of industry  your company is now a software company, and pretending that it’s not spells serious peril [1]

Não é apenas uma visão macro-economica das têndencias a longo prazo. Podemos citar dois exemplos de clientes do segundo semestre da Sofshore. 

Uma agencia de turismo de São Paulo precisou integrar seus sistemas com grandes provedores internacionais para ampliar a oferta de serviços no seu site.  Substituindo atendentes por sistemas técnicamente complexos, está de fato se tornando uma empresa de TI.

Uma assessoria imobiliária acompanhando o processo de venda de imoveis, pela sua posição central entre os atores (construtoras, bancos e compradores) é na prática um “hub” agregando serviços a fluxos de dados. Nesse caso também, oferecendo serviços baseados em software próprios, essa assessoria pode vir a se tornar uma empresa de TI automatizando e integrando seus sistemas com outras partes.

Importância Estratégica

Essa evolução confere a TI, ainda muitas vezes considerada apenas como um “centro de custo”, uma importância estratégica. 

That leads to an increasingly urgent and overarching mandate: Your company must, using software and technology, become as responsive and agile as your customers [1]

Assim, na ocasião do “Fórum de TI” promovido pela câmara de comercio americana (AmCham) em novembro, foi destacado que “A atuação dos CIOs (Chief Technology Officers) ou diretores de Tecnologia da Informação (TI) [..] passam a ter função estratégica, com foco em inovação [..] Para Marcela Lucchesi Aranha, superintendente de TI da Seguros Unimed, TI [..] ‘É uma área estratégica, não só prestadora de serviços‘ ” [4].

Conclusão

Forçando apenas um pouco: sua empresa também é uma empresa de TI, você apenas ainda não realizou. Na hora das retrospectivas e projetos para o próximo ano, é importante o administrador de empresa refletir a respeito dessa nova realidade. 

Integrar a TI na estratégia da empresa é claramente, um desafio para empresas pequenas e medias.  Em geral PMEs não tem CIO dedicado e essa função cabe ao administrador da empresa, que tem muitas outras responsabilidades e prioridades. 

Uma resposta possivel a esse desafio é contratar um parceiro tecnológico. Porém, essa contratação pode ser apenas deslocar o problema – se não criar um problema adicional. 

Mas esse será o assunto do nosso próximo post

Referencias
[1] David Kirkpatrick, Now Every Company Is A Software Company, 30/11/2011
[2] Marc Andreessen, Why Software Is Eating The World, 20/08/2011
[3] Venkatesh Rao, The Rise of Developeronomics, 15/05/2011
[4] AmCham, CIOs passam a ter função estratégica com foco em inovação, 28/11/2011 
[5] CIO online, Preparado para ser Chief Integration Officer

Ainda precisamos personalizar minimamanete o tema e fazer alguns ajustes.

Mas o blog da Sofshore esta de volta