[quote=josenaldo]O que eu acho lamentável é essa dicotomia analista X programador a essa altura do campeonato. Isso não faz mais sentido!
Graças a Deus isso está acabando e o mercado se tocou que somos todos desenvolvedores. Saber analisar. projetar, especificar, programar e testar são habilidades BÁSICAS que nós devemos ter. Agora, em determinado projeto, pode ser q eu seja um analista, no outro um programador. Não devemos confundir papéis com profissões.
[/quote]
Isso que voce falou é muito bonito em teoria. Na prática uma pessoa que consiga interpretar todos os papeis na profissão de desenvolvedor é raro! Ninguem nasce ensinado e uns tem mais talento para cada fase.
Em uma equipa plana : essas onde todo o mundo sabe fazer tudo mesmo que pouco não tem normalmente um hierarquia profissional. Assim quando dá merda todos são responsáevis. Este é o modelo correto a que você se refere, mas infelizmente ainda não é maioria.
Em equipes hirarquicas ( básicamente chefe-subordinados) a culpa tem que ser de alguem, por isso que a hierarquia existe.
Se o responsável ( chama-se analista, gerente, etc… ) tentar culpa alguem abaixo dele o que deve acontecer é quem está abaixo refilar com quem está acima do responsável. Não aceitável que não seja assim, pois é por isso que a herarquia existe.
Em sistema hierarquicos quem tem a responsabilidade ganha mais. O problema é que quando dá merda o cara não é castigado. É isso que tem que mudar.
Em equipes planas ninguem tem a responsabilidade e portanto toda a equipe tem que ser recompensada e castigada com um grupo.
Isso também não acontece. Na hora do aperto sempre ha um bode espiatório.
Tudo isto é falta de caracter e honestidade das pessoas. Falta de responsabilidade. E por isso essa resposnabilidade é forçada usando o sistema hierarquico.
Agora, como o cara vira responsavel ? Esse é que é o problema. Experiencia comprovada é necessária sim para um cargo de responsabilidade. Vc entregaria a sua vida nas mãos de um médico acabado de sair da faculdade ? Então porque entregaria a concepção de um sistema nas mãos de um aprendiz de programador saido da faculdade ?
Analista é de negocios, não existe outro tipo. O cara que recolhe os requisitos tem que entender o negocio. Mas tem que entender de programação também. Senão ele vai prometer coisas impossiveis, ou não extrair as informações necessárias aos desenvolvedores. O Analista é quem dá a cara pelos Desenvolvedores e é uma relação de simbiose.
Em uma equipe plana pode haver mais do que uma pessoa no papel de analista . Isso é muito importante. (uma especie de Pair Analizis). Mas na prática virtualmente imposivel, mas empresas so seculo passado onde a maioria tem seu emprego.
Portanto , sim, as empresas então invertendo os papeis. Mas isso porque os desenvolvedores deixam. Os analistas do passado ( que acham que analisar é fazer um monte de bonecos) são coniventes com isso porque lhes interessa. A luta é portanto convencer quem manda que uma equipe plana é mais valiosa e mais barata, embora não pareça ( custo é diferente de preço)