Desenvolvimento

Ξ 1 comentário

Processo de software sua real utilização

publicado por Polyana S. Rodrigues

Processo de software sua real utilização1- Informações Gerais

Quando voltamos nosso olhar para o ato de construir ou até mesmo fabricar não existe forma de se faze-lo sem seguir passos, etapas ou processos. O desenvolvimento de software não foge desta realidade, o uso de um sistema de busca online serve como exemplo que antes de estar “Pronto” antecedeu um processo que no mínimo responda as seguintes perguntas pra que? pra quando? pra quem ? como? quem vai utilizar?  e qual é o prazo?

2 – Processo

Inconscientemente estamos pré disposto a em qualquer situação mais simples que seja seguir uma sequencia “passos” então na Ciência da computação encontramos verdades palpáveis para a execução de processos. O seguir um processo de desenvolvimento de software se torna natural e rotineiro.  Podemos assim exemplificar, que até mesmo o ato de fazer um bolo necessita de sequencia e passos, caso se esqueça de alguma etapa ou mude a ordem o resultado esperado que fosse um bolo pronto e gostoso será duvidoso. Processo (do latim procedere) é um verbo que indica a ação de avançar, ir para frente (pro+cedere) e é um conjunto sequencial e particular de ações com objetivo comum,  podendo ter os mais variados propósitos: criar, inventar, projetar, transformar, produzir, controlar, manter e usar produtos ou sistemas.

Não depende da regra de negócio para qual o software será desenvolvido, mas como este projeto de desenvolvimento de software será seguido. Atente-se que a qualidade, custos e prazo estão diretamente ligados a um planejamento ou estratégia,  logo a um processo. É na engenharia de software onde estudamos como e ainda todas as formas de processos existentes para melhor nos adequarmos aos projetos por nos vivenciados.  Abaixo um exemplo genérico de processo independente para qual finalidade demostra que as pessoas envolvidas estão trabalhando mutuamente e dá a ideia de entendimento do processo.

Figura 1 - exemplo de processo

Figura 1 – exemplo de processo

 

Por que se faz necessário a utilização de processo para o desenvolvimento de um software ? Segundo (Filho, 2011) à medida que tamanho e complexidade dos sistemas de software aumentam, o problema de projeto extrapola as estruturas de dados e algoritmos de computação. Ou seja, há necessidade considerar o projeto da arquitetura (ou estrutura geral) do sistema, exigindo também um processo de desenvolvimento de software. Desta maneira podemos utilizar como afirmação que conforme se dá a evolução da sociedade, esta acaba se tornando mais exigente e os softwares esperado por ela mais complexos e os processos para o desenvolvimento do produto imprescindível.

Entramos então na engenharia de software nos mostrando os ciclos de vida do software e desmistificando cada pedacinho da computação atrelado a analise do processo que deverá ser seguido.  Se estivermos cada vez mais buscando softwares mais complexos e robustos por que não existe conscientização por parte da maioria das empresas que documentar e implantar um processo nas fabricas de software não é tão necessário assim?

A meu ver está afirmação é um tanto quanto redundante, pois hoje se espera que um desenvolvedor seja um analista, que por sua vez seja um tester, que por sua vez seja um suporte ou seja “Bombril”. A hipocrisia no ato de ganhar dinheiro está escondendo a função de analista e compactando para o desenvolvedor, juntando os papéis e como podemos então garantir uma boa análise e desenvolvimento. Lógico que para ter um bom resultado de desenvolvimento de software se despende tempo e das definições corretas dos papéis (com pessoas diferentes).

E ainda assim esse “Tempo” na maioria das vezes é visto como perca de dinheiro. E no fim das contas na entrega final do produto conseguimos mensurar a qualidade e o retrabalho gasto, neste ponto é avaliado se o processo é falho ou não.

Independente do tamanho da empresa ou da complexidade do software o uso de um processo de desenvolvimento de software se torna indiscutivelmente obrigatório por mais simples ou singelo que seja.

3 – Scrum

Uma nova abordagem para desenvolvimento de software tem despertado grande interesse entre as organizações de todo o mundo. Estamos vivendo uma tendência para o desenvolvimento ágil de aplicações devido ao ritmo acelerado de mudança na tecnologia da informação, pressões por constantes inovações, concorrência acirrada e grande dinamismo no ambiente de negócios (BOEHM, 2006).

No contexto de processos chegamos até o SCRUM, que é uma metodologia onde se estabelece conjuntos de regras e práticas de gestão que devem ser adotadas para garantir sucesso de um projeto. Segundo FERREIRA (2005), as principais características do SCRUM são:

  • é um processo ágil para gerenciar e controlar o desenvolvimento de projetos;
  • é um wrapper para outras práticas de engenharia de software;
  • é um processo que controla o caos resultante de necessidades e interesses

conflitantes;

  • é uma forma de aumentar a comunicação e maximizar a cooperação;
  • é uma forma de detectar e remover qualquer impedimento que atrapalhe o desenvolvimento de um produto;
  • é escalável desde projetos pequenos até grandes projetos em toda empresa.

Segue abaixo a tão famosa ilustração dos processos Scrum:

Figura 2 - Metodologia Scrum

Figura 2 – Metodologia Scrum

 

O Scrum é centrado no trabalho em equipe, melhora a comunicação e maximiza a cooperação, permitindo que cada um faça o seu melhor e se sinta bem com o que faz o que mais tarde se reflete num aumento de produtividade. Englobando processos de engenharia, este método não requer nem fornece qualquer técnica ou método específico para a fase de desenvolvimento de software.

Como visto em rápidas pesquisas realizadas na internet, os métodos tradicionais não lidam muito bem com o risco associado ao desenvolvimento do projeto, pelo que é comum haver organizações a procura de uma ”salvação” quando se percebe que estão no caminho do fracasso. O Scrum consegue avaliar o ambiente regularmente e adaptar-se a ele, minimizando os riscos e produzindo as funcionalidades possíveis em determinado momento. Por esta agilidade que varias empresas estão adotando o Scrum, como podemos notar na ilustração abaixo:

Figura 3 - Empresas que utilizam o Scrum

Figura 3 – Empresas que utilizam o Scrum

É possível verificar a importância do entendimento e adoção das metodologias ágeis para garantir o sucesso nos projetos de desenvolvimento de software. Nelas o foco está em “entregar software funcionando”. E o Scrum permite intervir e melhorar qualquer situação independente de qual fase esteja e ainda adaptar a empresa de qualquer porte.

4 – Considerações Finais

Concluindo que o processo de desenvolvimento de software está voltado ao desenvolvimento cultural da sociedade quando mais exigente, deverá exigir o software, a qualidade e um resultado mais completo. Fazendo necessário a utilização de processos na integra para garantir a sua satisfação. As certificações muitas vezes alcançadas por empresas agregam valor e status aos seus produtos, porém no dia a dia podemos constatar que serve apenas de suvenir por enquanto a conscientização da utilização de um “processo de desenvolvimento de software” não chegar clara e impreterivelmente no consumidor final ainda existira software com qualidade duvidosa e projetos falidos. Prospectamos que a cada dia o mercado está exigindo que empresas sigam um processo de desenvolvimento de software mesmo este sendo burocrático, pois é a única forma de garantir a qualidade do produto e minimizar o custo de trabalho ou retrabalho no processo de desenvolvimento de um software.

5 – Referências

Ken Schwaber e Mike Beedle ; Agile Software Development With Scrum; (2001)

Bibliografia

Filho, S. M. A. (2011) “Desenvolvimento de Software requer Processo e Gestão” Revista Espaço Acadêmico – Nº123, Mensal – ANO XI ISSN1519-6186

(http://www.periodicos.uem.br/ojs/index.php/EspacoAcademico/article/viewFile/14312/7593, consultado em 22/11/2014)

Bissi, Wilson (2007) “Scrum – Metodologia de Desenvolvimento Ágil” Centro Universitário de Maringá (CESUMAR) (http://www.proa.pa.gov.br/bitstream/prodepa/34/1/scrum.pdf, consultado em 22/11/2014)

Ferreira, D.; Costa, F.; Alonso, F.; Alves, P.; Nunes, T. “SCRUM, Um Modelo

Ágil para Gestão de Projetos de Software”.

(http://paginas.fe.up.pt/~aaguiar/es/artigos%20finais/es_final_19.pdf. consultado em 22/11/2014)

Machado, Marcos () “SCRUM – Método Ágil: uma mudança cultural na Gestão de Projetos de Desenvolvimento de Software”, Revista Científica Intr@ciência

(http://www.faculdadedoguaruja.edu.br/revista/downloads/edicao12009/Artigo_5_Prof_Marcos.pdf, consultado em 22/11/2014)

Dicionário Babylon (http://dicionario.babylon.com, consultado em 22/11/2014 )

Ramos, A.(2011) “Processos de Desenvolvimento de Software”,Univasf

(http://www.univasf.edu.br/~ricardo.aramos/disciplinas/ESI2009_2/Aula02.pdf, consultado em 22/11/2014)

[Crédito da Imagem: Processo de Software – ShutterStock]

Autor

Tenho seis anos de experiencia no mercado, focada em gestão publica. Isso me deu uma visão mais ampla de atendimento ao usuário/cliente sendo paciente e atenciosa na hora dos levamento de requisito, reuniões ou treinamento. sou criteriosa quando se trata de documentação e atenta a prazos. Auditora Interna ISO 9001:2008

Polyana S. Rodrigues

Comentários

1 Comment

  • Excelente leitura!

    Utilizamos Scrum na empresa com sprints de duas semanas. Funciona muito bem tanto para o setor de desenvolvimento quanto para os clientes. Aos poucos estamos melhorando o processo com ferramentas como a suite da Atlassian, Jenkins e expandindo os testes funcionais Behat/Mink. A meta final é continuous deployment em todos os projetos. Temos CD em pelo menos um dos projetos com até dois releases diários.

    Obrigado pela artigo!

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes