Revista Active Delphi
terça-feira, 9 de fevereiro de 2010
Busca  
Porta 80 Web Hosting
 :: Acessibilidade
Ir para conteúdo principal: ALT + 1
 :: Participe
Seja um autor de CD/DVD de Treinamento
Publique um artigo
Publique uma oportunidade
Publique uma notícia
Publique um curso
Publique uma dica
Publique um código
 :: Informativo
Receba nossos informativos por e-mail.
E-mail:   
 
Digite a palavra abaixo:  
 
 
 :: Oportunidades
Cadastrar oportunidades
Gerenciar suas oportunidades
Cadastrar nova empresa
 :: Especiais
Básico de C++
C++ Builder
Curso ASP.NET 3.5 em VB.NET e C#
Guia Prático de HTML
Testes com Visual Studio Team System 2008
 :: Desenvolvimento
ActionScript
ADO.NET
ASP
ASP.NET
Automação Comercial
C#
C/C++
Coldfusion
CSS
Delphi
Disp. Móveis
HTML
Java
Javascript
LSL (Second Life)
Modelagem
PHP
Python
Sharepoint
Silverlight
SQL
VBA (Office)
Visual Basic
Visual Basic .NET
Visual Fox Pro
WCF/WPF
Web Services
XML
 :: Infra
BizTalk Server
CRM
Exchange Server
ForeFront / Antigen / IAG
Interoperabilidade
ISA Server
Linux
MOF
MS Dynamics CRM
Network
OCS / LCS
Outlook
Powershell e Scripts
Redes
Segurança
System Center e Gerenciamento
Virtualização
Windows
Windows Server
 :: Banco de Dados
Access
Caché
Firebird
Interbase
MySQL
Oracle
SQL Server
Sybase
 :: Gerência
Arquitetura
Ciclo de Vida de Desenvolvimento
Controle de Versão
Estimativas
Metodologias
MOF
Qualidade e Testes
 :: Design
Corel
Flash
Photopaint
Photoshop
 :: Livros
Análise Sistemas
Aplicativos
Banco de Dados
Certificação
Design e CAD
Gerência
Hardware
Internet
Programação
Programação Web
Rede
Segurança
Servidores
Sistemas Operacionais
 :: CDs/DVDs
Desenvolvimento
Infra
Design
 :: E-Books
.NET 2.0 (VS 2005)
.NET 1.1 (VS 2003)
SQL Server
Excel 2007
Excel 2003
Access 2003
ASP 3.0
Delphi
Java
Artigos


MVP Profile
Quem mexeu no meu código?
Por: Fabio Camara
MVP VSTS, MCT, MCP, MCSD, MCTS, MCPITP, MCPD, MSF Practitioner, Certified SCRUM Master, Certified ITIL Foundations. Escreveu mais de 15 livros nesta última década. Atua como consultor de produtividade em desenvolvimento de projetos e professor de disciplinas ágeis de engenharia de software. Pode ser localizado no site http://www.fcamara.com.br.
Feed de artigos.
Feed de artigos deste autor.
Gere seu feed personalizado  
Quem mexeu no meu código?
Publicado em: 23/08/2005

Nas aventuras e desventuras por projetos de tecnologia da informação Brasil a fora, constatamos que uma porcentagem desprezível de empresas sabem trabalhar projetos com times de desenvolvimento. Na gigante maioria dos casos estudados, os projetos são executados por uma ou duas pessoas de ato, apesar que no fato existem mais técnicos envolvidos.

A desculpa padrão é a tecnologia disponível, por exemplo: o Visual SourceSafe é uma ferramenta limitada para compartilhar e gerenciar códigos fontes. Na afirmativa que acabei de escrever, concordo apenas que é fundamental para o sucesso de um time de desenvolvimento uma ferramenta para compartilhar e gerenciar código. Sobre a limitação, ela é nossa e não da ferramenta. Nós é que não sabemos usá-la porque simplesmente não sabemos trabalhar em times.

A questão comportamental

Os seres humanos podem ser divididos em 3 grupos: os iniciativos, os acabativos e os empreendedores.

•  Iniciativos são criativos, têm mil idéias, mas abominam a rotina necessária para finalizar estas idéias, em outras palavras, colocá-las em prática. São cientistas, professores, intelectuais e a maioria dos técnicos de desenvolvimento.

•  Acabativos são aqueles que gostam de implantar projetos. Olham mais para o detalhe na prática do que para a teoria. Não se preocupam com o tédio da repetição do dia-a-dia. Neste grupo estão os executivos, administradores e uma minoria dos técnicos de desenvolvimento.

•  Empreendedores são aqueles que possuem iniciativa e acabativa. É um grupo que não fica só na idéia, vai a campo implantá-la. Normalmente implanta idéias suas e de outros iniciativos. Neste grupo estão os ricos, os milionários e os bilionários.

Nota 1 – Acabativa: Acabativa é um neologismo que significa a capacidade que algumas pessoas tem de terminar aquilo que começaram ou que os outros começaram.

Esta singela classificação explica muita coisa sobre o mundo dos projetos. Empreendedores descobrem rapidamente que implantar somente suas próprias idéias limita o crescimento. Por exemplo: se Bill Gates tivesse se restringido a implantar somente suas idéias a Microsoft hoje teria apenas um produto, o Visual Basic.

Essa classificação explica porque os intelectuais não ganham dinheiro e invejam os empreendedores por isso. Há sem dúvida uma enorme diferença na medida de lucros que fluem para quem implanta as idéias e comparando com quem as teve.

No mundo dos programadores, temos ambientes e dinâmicas que nos proporcionam incentivos e orientações para nos formarmos iniciativos.

Começamos pelo academicismo, estudamos em universidades em que os professores nos pregam que devemos odiar a Microsoft e amar o software livre ou qualquer coisa que não seja Microsoft. Depois nos ensinam a usar OOP em sistemas com banco de dados relacionais e outras coisas incríveis, mas não ensinam a importância de entregar projetos.

Paralelo ou após o academicismo, vivenciamos uma realidade de mercado que um garoto qualquer compra um livro de uma linguagem de programação e já se lança no cenário de trabalho como programador sem ter a menor idéia do que é um projeto – um “especialista” iniciante em conversar com os computadores.

Nota 2 – O diploma de programador: Programador, na minha leitura, deveria ser um diploma emitido por uma empresa regulamentada como implementadora de software e que só seria entregue ao mesmo após a conclusão completa de um projeto de desenvolvimento de software. Programadores que nunca entregaram um projeto não são programadores, são técnicos iniciativos.

Vivenciamos também outra realidade no cenário mercadológico que os desenvolvedores são cobiçados por muitas consultorias e pulam entre projetos a cada 6 meses. Em outras palavras, não finalizam os projetos em que participam.

Constatamos, perigosamente, que os sites de Internet e outros meios de informação estão repletos de artigos técnicos escritos por pessoas que não realizaram ainda o aprendizado de vida que é entregar um projeto. São talentosos intelectuais iniciativos que ainda estão em formação e já começam a formar outros em estágio diferente. Os iniciativos almejam ser famosos e acham que isso será lucrativo.

A grande pergunta que nos fazemos é: Quem forma nossos aspirantes a serem acabativos? Há um ditado chinês, “Quem sabe e não faz, no fundo, não sabe”. Se afirmamos que somos programadores e sabemos entregar um projeto, mas não realizamos, é porque no nosso íntimo não sabemos. E o pior é que somos nós, iniciativos, que formamos os novos aspirantes a programadores – que seguirão nossos modelos.

Não é um defeito ser iniciativo, vários consultores, professores e cientistas são felizes e ricos como iniciativos. Inclusive algumas pessoas tem mais iniciativas que outras, e isso permite o destaque. O preocupante é se você não tem nem iniciativa e tampouco acabativa.

A realização do projeto

Se seu time está repleto de iniciativos e não possui acabativos, o que sinceramente você está esperando como resultado?

Percebo times de desenvolvimento que tornam a vida de um projeto emocionante simplesmente esperando com os braços cruzados até que os prazos estejam vencendo. Esperar de braços cruzados é, em outras palavras, passar o dia “chateando” no Messenger, é escrever componentes ao invés de codificar os casos de uso, é qualquer coisa diferente do foco total na entrega.

Existe um direito que eu não concederia a ninguém: o direito de ser indiferente. Temos que aprender nossos papéis em um projeto e responsabilizarmo-nos por ele. Sejamos sérios, sejamos sérios e sejamos sérios.

As atitudes passivas que aprendemos nos projetos são frutos de papéis apenas envolvidos e nada comprometidos. O problema sempre é o outro que está nos devendo algo. Verificamos empresas de desenvolvimento contratadas que justificam seus atrasos e prejuízos afirmando que o problema é o contratante.

Quando sou contratado como consultor para resolver conflitos em projetos de desenvolvimento, sempre afirmo que estou partindo para o “resgate do soldado Ryan”. Pois a primeira coisa que notamos é que as pessoas do projeto não querem salvar o projeto e sim determinar quem está certo ou errado.

Em um projeto, prevalece a seguinte dinâmica: _ “Falem-me e eu esquecerei. Mostrem-me e poderei lembrar. Participem, comprometam-se, e aí sim farei o mesmo”. O desafio é ter um primeiro comprometido que implantaria a dinâmica aos demais.

E o mais interessante, no final de toda esta história, a culpa é da ferramenta que não me mostra quem mexeu no meu código e estragou tudo!

Ativando o log automático do Visual SourceSafe

Quero contribuir ao seu time de desenvolvimento eliminando a possibilidade desta desculpa para os problemas do projeto. Não vamos nos iludir, existem milhões de outras que serão utilizadas quando for necessário.

O Visual SourceSafe possui como a maioria das ferramentas de SCM (Software Configuration Management) um sistema de palavras chaves para os cabeçalhos de arquivos fontes serem atualizados nos momentos de “checkin”.

Para habilitar esse suporte, é necessário especificar previamente quais extensões de arquivos no campo “Expand keywords in files of type” no menu Options de qualquer versão do Visual SourceSafe (6.0 ou 2005 foram as que testamos). Verifiquem a figura 1.


Figura 1

A tabela abaixo demonstra as palavras chaves suportadas para a composição de cabeçalhos:

Veja alguns exemplos de cabeçalhos definidos a partir das palavras chaves suportadas pelo Visual SourceSafe.


Exemplo 01:
//$Author: Fabio.Camara $ 
//$Date: 13/12/04 10:16 $ 
//$Revision: 9 $ 
//$Archive: /ProjetoTeste/Segunda - Manha.txt $


Exemplo 02:
/*
$History: Segunda - Manha.txt $ //
 * 
 * *****************  Version 12  *****************
 * User: Fabio.Camara      Date: 13/12/04   Time: 10:20
 * Updated in $/ProjetoTeste
 * *****************  Version 11  *****************
 * User: Fabio.Camara      Date: 13/12/04   Time: 10:19
 * Updated in $/ProjetoTeste

*/


Exemplo 03:
/******************************** I.T.S.A. ******************************
* $Author: Zezinho Junior $
* $Date: 2/08/05 21:03 $
* $Modtime: 2/08/05 18:35 $
*************************************************************************/

A implementação é muito simples, como podem comprovar, e exige apenas que você saiba como são os comentários na linguagem utilizada por seu compilador e use alguma formatação em conjunto com as palavras chaves.

Uma prática recomendada é substituir os templates que sua ferramenta utiliza em todas as estações de desenvolvimento, garantindo assim que todos os novos arquivos já sejam iniciados com estas determinações.

Se você utiliza o Visual Studio 2005, os templates serão localizados no caminho C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplatesCache\CSharp\1033

Concluindo, possua times com iniciativos e acabativos, faça-os entender seus papéis no projeto e controle, se possível, automaticamente como demonstramos neste artigo, tudo o que acontece no seu projeto.

Este artigo foi inspirado em um projeto real que atualmente estou gerenciando e no livro escrito por Stephen Kanitz intitulado “As 50 melhores”.


 

Conheça os produtos do autor Fabio Camara

Inclua um comentário sobre o artigo Topo
Elogios e críticas são muito bem vindos, porém o comentário deve ter referência ao artigo em pauta.
O portal e o autor agradecem.
Nome:    
E-mail:      
Comentários:    
Digite a palavra abaixo:  
Para dúvidas técnicas, NÃO UTILIZE ESTE ESPAÇO, utilize nosso fórum de discussão.
http://linhadecodigo.com.br/cs2/forum
 
Comentários sobre o artigo Ver Todos comentários
Bom demais...
Quem enviou: Gabrielle
Postado em: 28/01/2008 00:00:00
Legal o artigo steven seagal
Quem enviou: André
Postado em: 28/06/2007 00:00:00
Achei excelente o artigo, principalmente a parte que antecedeu a exploração dos recursos do VSS. Muito concisa a abordagem, explorando bem os problemas relacionados ao foco no trabalho... parabens
Quem enviou: Luiz Antonio Garcia
Postado em: 08/08/2006 00:00:00
Sou estudante de programação, achei interessante o artigo, mas discordo com o termo de jovens programadores não saberem o que estão fazendo, acho que os jovens que contribuem com grandes idéias no mundo do desenvolvimento.
Outra questão é sobre a informação na internet, realmente, uma grande parte de artigos não ajudam em nada, além de serem cópias uns dos outros, eu mesmo procuro a mais de 3 dias algum tutorial que explique a utilização do Visual SourceSafe fora do Visual Studio.
Quem enviou: Samuel R. Toaldo
Postado em: 18/05/2006 00:00:00
Fábio, eu achei o seu artigo muito interessante pois eu vivo este problema na empresa em que trabalho. Sou professor universitário e irei trabalhar esse texto com os alunos.
Adorei o título "Quem mexeu no meu código"
Quem enviou: Luciano Côrtes
Postado em: 30/03/2006 00:00:00
Um dos melhores artigos que já li em minha vida. Simplesmente inteligente!
Quem enviou: Glaucimara Luca
Postado em: 12/10/2005 00:00:00
Excelente o artigo.
Quem enviou: Celso Redes
Postado em: 02/09/2005 00:00:00
Bom Dia Fábio ! Aqui no RS muito frio e chuva a mais de semana! Gostei muito do artigo, e concordo plenamente com você em relação a material pobre na internet, a não entrega de projetos e a falta de eficiência e a morosidade em encontrar soluções rápidas, criativas e principalmente SIMPLES. Eu penso que um projeto completo (Inicio/Meio/Fim) que leve mais do que 3 meses para ser realizado, para uma empresa de médio porte (100 Empregados), é um projeto suspeito. Outra observação que gostaria de colocar é que os iniciantes se preocupam tanto com botões e efeitos especiais, que o usuário final tem vontade de quebrar o computador. Outra, o projeto desde o início deve ser montado de uma forma clara e organizada para que seja fácil desmontá-lo e montá-lo novamente sempre que tiver atualizações ou manutenção, como numa equipe de formula um. Não sei bem o qual minha profissão mas estudo programação de computadores e desenvolvimento de sistemas a mais ou menos uns 20 anos, com não tenho títulos acadêmicos fico no desconhecido. Um grande abração a todos. Claudio Becker.
Quem enviou: Claudio Becker
Postado em: 01/09/2005 00:00:00
Fábio, eu gostei do artigo, levando em consideração que ele teve como referência as idéias do autor Stephen Kanitz, publicadas no livro: Os 50 Melhores Artigos [KANITZ, STEPHEN. 50 Melhores Artigos. 1 ed. Campus Elsevier,2005]

Se os professores ensinam aos seus alunos que devem odiar a Microsoft e amar o software livre, como mencionaste, considero isso, como um dos maiores erros dos cursos de graduação de computação, pois eles deveriam trabalhar em um nível mais abstrato e não muito específico, aliás, os alunos deveriam repudiar professores com essa postura, pois a academia deve ser formadora de opinião, mas laico o suficiente para que os alunos formem as suas próprias opiniões a respeito dos mundos que o circunde-iam. Mas também, não devemos condenar os que são contra o capitalismo selvagem adotado por algumas empresas.

Foste feliz quando mencionaste a preocupação com o nível dos muitos “artigos” que são disponibilizados diariamente na internet, mas que no fundo não ajudam em nada àqueles que estão à procura de dados para formar, completar uma informação. Na verdade, o nível desses “artigos” é em sua grande maioria pobre, sequer possui uma fundamentação teórica. Eu a considero essencial.

Lendo o seu artigo lembrei de uma reportagem publicada no jornal britânico, Daily Mai, Lêmures, coalas e hienas
(http://www0.bbc.co.uk/portuguese/reporterbbc/story/2005/08/050830_pressreviewro.shtml),
no qual ela compara o comportamento das pessoas que trabalham em escritório com a dos animais
Quem enviou: Alessandro Leite
Postado em: 30/08/2005 00:00:00
Excelente artigo.
Quem enviou: Windson Mateus
Postado em: 29/08/2005 00:00:00
Outros artigos do autor Topo
Introduzindo Conceitos de Testes Comportamentais
A metodologia ideal para projetos de software
Uma metodologia ágil - SCRUM
Dez perguntas sobre MSF
SDLC – Software Development Life Cycle
Eu uso metodologia ágil, e você?
MSF Essentials e MSF Agile
Uma nova ótica para Gerente de Projetos
Experimente um projeto ágil
MSF na prática - Controlando um projeto com bandeiras
Seus problemas acabaram!
Quanto tempo vai durar seu software?
MSF e CMMI não são inimigos
Os princípios de liderança do MSF, em exemplos
TechEd 2006 - Boston / EUA: Acabou o evento, mas as tecnologias continuam...
TechEd 2006 - Boston / EUA: Centro das atenções – Vista, Office 2007, Sharepoint, VSTS...
TechEd 2006 - Boston / EUA: Coisas legais e coisas ruins
TechEd 2006 - Boston / EUA: Não tem feriado aqui – Windows Vista, VSTS e MSF o dia inteiro
TechEd 2006 - Boston / EUA: Tem alguém trabalhando no Delphi?
TechEd 2006 - Boston / EUA: As palestras de VSTS no TechED 2006
TechEd 2006 - Boston / EUA: O jogo do Brasil no TechED Boston
TechEd 2006 - Boston / EUA: Jantar com VSTS Product Manager Team
TechEd 2006 - Boston / EUA: Começou o Tech ED 2006
TechEd 2006 - Boston / EUA: A caminho de Boston – Tech ED 2006
Conhecendo o Visual Studio Team System Source Control
O que há de novo no MSF
Estratégia para Entrevistas - LTI - Levantamento Técnico Inicial
Projeto é amor, metodologia é poesia
Processos Ágeis e MSF
Quando o compilador faz a diferença?
Diagramas de classes - um exemplo funcional com Visio Enterprise Architecture 2003 e C#
Moda ou .NET? - Conheça a opinião do autor
Do Basic ao .NET – uma revisão literária
Independência de Plataforma - Portabilidade a lá .Net
O processo de compilação no C#
Iniciando em boas práticas de programação
A calculadora em C#
Personalizando o Text Editor
Compiladores Alternativos
Comentários XML no Visual Studio.NET
Conhecendo o Visual Studio .NET
Artigos relacionados Topo
Controle de Releases em Equipes Simplificado usando VS 2005/2008 e Tortoise
Controlando Versões: Team Foundation Version Control (TFVC) - Check Out e Workspace
TortoiseCVS + CVSTrac - Controle de versões e Gerenciamento de Bugs
Trabalhando com PHP e CVS no Eclipse
Produtos relacionados Topo
Livro: Gerência de Configuração Técnicas e Práticas no Desenvolvimento do Software
CD/DVD: CD DE TREINAMENTO: VSTS - Visual Studio Team System®
Livro: ASP.NET para desenvolvedores de web sites
© Copyright 2001-2010 Codeline Editora, Comércio e Tecnologia Ltda. | Política de privacidade e de uso | Anuncie | Fale conosco

» Site hospedado na Porta 80 Web Hosting «
Nossos números
Dicas: 1.314
Códigos/scripts: 279
Funções de VBScript : 90
Funções JScript : 05
Livros: 1.805
Notícias: 1.942
Artigos: 2.746
Cases: 14
Oportunidades: 4.185
Publicidade

Conheça a loja do Linha de Código.

Microsoft indica Linha de Código.

Assine a Revista Mundo .NET
Portal de Vídeos .NET - os melhores vídeos .NET estão aqui
Baixe o Visual Studio 2010 Beta
Revista Codificando .Net

Siga-nos no Twitter

Linha de Código no Orkut
Fórum de discussão do portal Linha de Código
Feeds
Oportunidades
Notícias
Artigos
Artigos personalizado
       (Por assunto)
Artigos personalizado
       (Por autor)
Portal Vídeos .NET
Portal Vídeos Delphi
LC Blog
       (Onde você faz a notícia)
Promoções
Promoção Mobile (válido somente para pagamento via boleto bancário)
Promoção Mobile (válido somente para pagamento via boleto bancário)
De: R$ 239,00
Por: R$ 146,00
Promoção: Portal de Vídeos .Net + CD Novidades das Linguagens (válido somente para pagamento via boleto bancário)
De: R$ 162,00
Por: R$ 89,00
Promoção VSTS (válido somente para pagamento via boleto bancário)
De: R$ 219,00
Por: R$ 146,00
Promoção Linq To SQL (válido somente para pagamento via boleto bancário)
De: R$ 249,00
Por: R$ 156,00
Promoção ASP.Net com Banco de Dados (válido somente para pagamento via boleto bancário)
De: R$ 249,00
Por: R$ 146,00
CDs
DVD de Treinamento LINQ TO SQL e Entity Framework Avançado
DVD de Treinamento LINQ TO SQL e Entity Framework Avançado
De: R$ 83,00
Por: R$ 73,00
Curso completo de MySQL
Por: R$ 89,00
DVD de Treinamento - ISA Server 2006 - Implementação
De: R$ 83,00
Por: R$ 73,00
CD de Treinamento Adobe Photoshop CS4 Extended – 3D Arte
De: R$ 83,00
Por: R$ 53,00
DVD de Treinamento - Recursos avançados do Windows Mobile 6
De: R$ 83,00
Por: R$ 73,00
Livros
Aprendendo SQL
Aprendendo SQL
Por: R$ 83,00
Web Services SOAP em Java
Novatec
Por: R$ 42,00
Guia Mangá de Bancos de Dados
Novatec
Por: R$ 39,00
Guia Mangá de Estatística
Novatec
Por: R$ 39,00
Guia Mangá de Eletricidade
Novatec
Por: R$ 39,00
E-Books
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Por: R$ 30,00
Manual de Estudos - Exame 70-291 - Windows Server 2003 (606 páginas) - entrega via download
Por: R$ 30,00
Dominando MS – Visio ® em 20 Passos - Melhores Práticas em Gestão de Projetos (entrega via download)
Por: R$ 30,00
MS-Project® 2007 - Melhores Práticas de Gestão de Projetos - Dominando MS – Project ® em 20 Passos (e-book com entrega via download)
Por: R$ 20,00
Banco de dados com C# e Visual Studio .Net 2005 (entrega via download)
Por: R$ 20,00
Os 10+ | Autores do dia
Israel Aéce
Anderson Patricio
Júlio Cesar Fabris Battisti
Luiz Felipe de Freitas
Ramon Durães
Alfred Reinold Baudisch
Anderson Rutigliani
José Carlos Macoratti
Fernando Amaral
Robert Martim
Os 10+ | Artigos do dia
HTML Básico
SAP Business One - Implementação e Localização para o Brasil – Overview
HTML Avançado
PL/SQL - Procedures e Funções
ASP.NET 2.0 - Explorando o GridView
Aplicando maquiagem facial no Adobe Photoshop Cs 2®
Tutorial de Tabelas Dinâmicas no Excel – Parte 1
Criando uma aplicação Web em C# usando o NHibernate
Usando Address Policy para gerenciar mais de um domínio SMTP baseado em OUs
Criando aplicativos para o Orkut