|
01 de setembro de 2010, por Denis Ferrari em Metodologias Olá Pessoal! Não escondo que sou “meio” viciado em quadrinhos, games, filmes, etc. Pois bem, depois de algum tempo parado decidi voltar a jogar um dos games mais viciantes da minha adolescência: O Counter-Strike. Voltei a jogar somente para dar uma surra no pessoal do escritório (@hrosko e @andrepiresmct), mas acabei deixando-o instalado e jogando eventualmente. Apensar das coisas não terem muito a ver uma com a outra, comecei a traçar uma linha entre Counter-Strike e Desenvolvimento de Software, uma espécie de “boas práticas” comuns para ambos. Pensei muito antes de escrever esse post, depois desencanei e vi que o máximo que pode acontecer é que essas dicas ajudem vocês a desenvolver melhor ou a jogar melhor, então vamos lá:
Não adianta ser estrela em time que está perdendo: Mesmo com o melhor jogador no seu time, não há garantias de que o mesmo será campeão. É muito mais efetivo ter membros de nível mediano e bem entrosados em um time do que ter várias “estrelas” jogando no estilo cada um por si. Evite ser herói: Quando damos de cara com vários membros do time adversário, a melhor estratégia é “correr”. Correndo você poderá enfrentar cada adversário separadamente. Alguns desenvolvedores/times trabalham com várias estórias em simultâneo, o que dá uma falsa impressão de produtividade. Quando falamos em requisitos, a melhor estratégia também é dividir para conquistar, ou seja, ao invés de “atacar” várias ao mesmo tempo, podemos atacá-las uma de cada vez (Imagine todo o time atirando em um único membro do time adversário 90% não é 100%: É sempre melhor tirar 100% de um adversário do que 70% de dois. Um adversário com 1% de life ainda atira, e com ajuda da Lei de Murphy ele pode levar vários membros do time antes de morrer. Em uma Sprint temos que nos concentrar em terminar cada estória antes de passar para próxima, assim, ao final da Sprint mesmo que não tenhamos concluído todas as estórias teremos algumas concluídas ao invés de todas em 90% (e nada efetivo para entregar). Ao final de um round, devemos nos preparar para o próximo: Fases rápidas não habilitam a compra de itens no início do round, porém, ao final podemos ir a pontos específicos do mapa e comprar coletes e granadas. Estar preparado no início de uma Sprint pode fazer tanta diferença quanto lançar uma granada no início do round, mas, afinal de contas o que seria estar preparado? Poderia ser a obtenção de um conhecimento específico que adiantaria todos os requisitos em 50% de todas as estórias por exemplo. Ser efetivo e econômico traz grandes vantagens: Se você pode acabar com um adversário com uma única bala (Headshot), por que usar 10? Quanto menos balas você gastar menos terá que recarregar durante o round, o que pode salvar sua vida. Ninguém começa no CS conseguindo 100% de Headshots, esse número vai crescendo com o tempo e experiência (pelo menos com os jogadores normais). Na área de desenvolvimento, ninguém nasce extremamente produtivo, porém, é nossa obrigação buscar aumentar a produtividade através de novos conhecimentos e/ou novas ferramentas. Quem fica parado morre: Preciso argumentar? Adaptabilidade é crucial: Você pode ter sua arma predileta, mas ela pode não ser a mais efetiva em algumas fases ou em algumas situações. Na área de desenvolvimento temos cada desenvolvedor tem sua ferramenta preferida, pode ser um linguagem, um framework, uma IDE, etc. O ideal no ramo de desenvolvimento é não ficar preso as coisas somente pela predileção, mas sim pela sua efetividade no contexto em que será aplicada. Poderia enumerar aqui várias outras práticas que ajudam em ambas as partes, mas prefiro deixar vocês pensarem no assunto e quem sabe compartilharem aqui os seus pensamentos. Para variar, vou jogar um pouquinho. Abraços!
Comentários:
24 Comentários postados em "Counter-Strike e Desenvolvimento de Software"
cadu on setembro 1st, 2010 at 10:47 #
Cara ficou muito maneiro!!! até pq tb gosto de cs, apesar de ter um tempo que não jogo rsrsr !!! dênis abração continue assim!!!
Felipe on setembro 1st, 2010 at 11:01 #
Grande pst, Denis!
Paulo Pellucci on setembro 1st, 2010 at 11:38 #
Muito bacana seu post. Você sempre posta conteúdo bem interessante e tem consciência do que está escrevendo. Parabéns.
Mark on setembro 1st, 2010 at 12:24 #
Muito bom, Sempre gostei de CS também, apesar de ter um bom tempo que não jogo. E está de parabéns, conseguiu relacionar bem as duas coisas!!
Tweets that mention Counter-Strike e Desenvolvimento de Software -- Topsy.com on setembro 1st, 2010 at 12:47 #
[...] This post was mentioned on Twitter by Juan Lopes, gyncowboy. gyncowboy said: http://www.heroisdati.com/counter-strike-e-desenvolvimento-de-software/ [...]
Pablo Cardoso on setembro 1st, 2010 at 14:28 #
Não me lembro de onde abri esse seu post, eu o carreguei em um momento qualquer na hora do trabalho, deixei meu PC em stand by na hora do almoço e quando retornei gostei muito, me identifiquei com alguns e outros serviram de puxão de orelha… hehehe.. parabéns pelo post! Estou o repassando para todos do meu trabalho!
Rodrigo Macedo on setembro 1st, 2010 at 16:18 #
Interessante a comparação. E confesso, também fui um viciado em CS. Um forte abraço!
Pedro Mariano on setembro 2nd, 2010 at 11:50 #
Opa muito legal seu post, eu como um “ex viciado” em cs (não acho que existam ex viciados, apenas jogo eventualmente, mas continuo amando esse jogo). Eventualmente pode me adicionar na STEAM (shoko). Existem alguns outros pontos que lembro agora: Sempre compre defuse: se você não se preparar no inicio do sprint pode ter uma surpresa, algo que parece não tão importante pode definir o sucesso ou não do sprint. Nem sempre maior é melhor: a história do programador preguicoso, sempre tente escrever menos código possivel. A mesma coisa com CS, não adianta você compra a RAMBO que é gigante, e que provavelmente não vai te ajudar em rounds decisivos. E como você disse, existem inumeros.
Cesar Scur on setembro 2nd, 2010 at 12:21 #
Não sou fã de CS, mas tenho que admitir que a comparação é no mínimo divertida =). Util? Claro! Tenho certeza q daria uma dinâmica de grupo esse tema, hehehe.
Robson Ricardo on setembro 3rd, 2010 at 9:31 #
Realmente, a comparação é interessante e muito realista.
Tomás Vásquez on setembro 3rd, 2010 at 16:22 #
Moral da história: a organização é sempre um caminho mais seguro, independente da “aventura”. Aplicável a qualquer área da vida.
Emerson Macedo on setembro 6th, 2010 at 18:06 #
Deu vontade de voltar a jogar CS hehehehe. Achei que ficou bem legal sua comparação. Eu joguei CS por muitos anos no esquema de Teamplay (5 membros), participando de diversos torneios. É exatamente o que você falou. Um time entrosado, com estratégias e táticas bem planejadas e com capacidade de adaptação é muito mais eficaz e eficiente que um time com alguns muito acima da média mas sem esses atributos. Certo torneio meu time de CS jogou contra um time muuuuito melhor, mas como estavamos muito unidos e haviamos traçado uma estratégia boa conseguimos vencer com maestria. Resumindo, acho que tem tudo a ver mesmo. Grande Abraço
Lelis718 on setembro 7th, 2010 at 20:56 #
Muito bom Denis… É excelente ver um post que consegue passar de forma extremamente simples as regras que todo programador (ou time de programação) deve seguir. Parabéns
Freis on setembro 8th, 2010 at 10:49 #
Parabéns pelo Post…muito inteligente..
Barroso on setembro 9th, 2010 at 15:22 #
Show de bola, e se encarar a vida profissional como um jogo, com certeza a regra funciona. Afinal jogo é jogo, regras e praticas devem ser aplicadas em qualquer um.
leandro on setembro 10th, 2010 at 23:11 #
cara, to lendo ainda, mas a primeira ñ é verdade, pelo menos no counter strike. um fera derruba pelo menos uns 6 medianos.
Denis Ferrari on setembro 11th, 2010 at 14:20 #
Só se os seis medianos não souberem jogar juntos ou não forem medianos, forem noobs.
André Pires on setembro 21st, 2010 at 21:04 #
Camarada vc é mentiroso heim! Quando foi que vc me deu uma surra no CS? A gente nunca jogou!!!
Denis Ferrari on setembro 22nd, 2010 at 0:15 #
Eu disse que tinha instalado para isso, não disse que tinha feito. Agora, na boa, você sabe que iria apanhar feio.
Rodrigo Nunes on outubro 4th, 2010 at 23:33 #
Denis.
Counter Strike e o Desenvolvimento de Software | Leandro Braçaroto on novembro 10th, 2010 at 12:44 #
[...] Descobri hoje através do podcast do .net Architects o blog HeroisdaTI e de cara gostei de um post falando sobre Counter Strike e Desenvolvimento de Software, que vou reescrever aqui com minhas opiniões, mas para quem quiser ler o original está aqui [...]
Counter-Strike e Time de TI- Gustavo Caloi on dezembro 20th, 2010 at 10:45 #
[...] Retirei este Post do blog Herois da TI. Para ler o post original clique aqui. [...]
Paulo on fevereiro 7th, 2011 at 13:30 #
Muito inteligente,parabéns.
Múcio on março 4th, 2011 at 18:36 #
Boa! “Dividir para conquistar”. (MERGESORT) Deixe um comentário
|
|