quinta-feira, 16 de agosto de 2012


Tópicos avançados
A profissão de engenheiro de software
Introdução
O Engenheiro de Software é uma das profissões de maior demanda nas áreas de alta tecnologia, todas grandes consumidoras de Tecnologia da informação como rede bancárias, automobilismo, petrolíferas, logística, comercio em geral e empresas de softwares.Na economia e na politica, vemos o papel importante desempenhado pela indústria de softwares. A indústria de softwares é um dos maiores produtos exportados pela Índia. Também vemos a importância desta indústria quanto a contribuição para a economia e a renda per capta da Irlanda ,antes considerado um pais pequeno e pobre da Europa. Dado um ambiente social em que não existam disparidades sócio econômicas, o uso de tecnologias de informação e comunicação parece ser promissor e possuir um potencial fantástico. Mas sabe-se que na realidade de países como o Brasil a exclusão digital  deve ser considerada ao se pensar no uso de novas tecnologias para que estas não venham a perpetuar a exclusão e criar um abismo ainda maior entre os que têm e os que não têm acesso às inovações tecnológicas, por isso o conceito de combater a exclusão digital faz parte de muitas politicas de distribuição de renda  no mundo globalizado, apesar de no Brasil ainda se pode dizer que a não é real a inclusão digital.
Formação e Certificação
De hoje em dia o número de cursos com titulo “Engenharia de Software” Ainda é precário em todo mundo, a maioria dos profissionais são formados por cursos derivados com nomes diferentes como Ciência da Computação que é o conjunto de técnicas e conhecimentos que possibilitam a criação de programas de informática. O bacharel em Ciência da Computação analisa as necessidades dos usuários, desenvolve programas e aplicativos, gerencia equipes de criação e instala sistemas de computação. É ele quem elabora softwares, desde programas básicos de controle de estoque até os mais complexos sistemas de processamento de informações, como os utilizados nas pesquisas espaciais e na medicina genética. Presente em todos os setores da economia, também dá assistência aos usuários, mantém redes de computadores em funcionamento e assegura as conexões com a internet. Em indústrias e institutos de pesquisa, implanta bancos de dados e instala sistemas de segurança para as operações de compra e venda pela rede. e Sistemas de Informação é a administração do fluxo de informações geradas e distribuídas por redes de computadores dentro de uma organização. O bacharel em Sistemas de Informação planeja e organiza o processamento, o armazenamento e a recuperação de informações e disponibiliza esse material para usuários. Cria, adapta e instala programas para facilitar as consultas e administra redes de computadores. Nas redes internas das empresas e outras instituições e na internet, monta e gerencia bancos de dados e ainda desenha páginas de sites, que devem ser funcionais e elegantes, trabalho que exige versatilidade e criatividade. Pode atuar em qualquer tipo de empresa, pública ou privada, de quase todos os setores - comércio, indústria ou de serviços. É fundamental que esse profissional tenha domínio do idioma inglês, já que praticamente todos os programas o utilizam. Em poucos países do mundo pode se dizer que há a profissão regulamentada de Engenheiro de Software o caso mais conhecido deste fato é no estado americano do Texas. Há vários programas de certificação em tecnologias especificas como de fabricantes famosos como IBM, Microsoft e Sun, em técnicas de áreas especificas oferecidos por sociedades como:
·         IFPUG (International Function Point Users Group) (http://www.ifpug.org) é uma entidade sem fins lucrativos com a finalidade de os processos de desenvolvimento e manutenção de aplicações com o uso de pontos de função. Os seus membros são voluntários e o corpo diretivo é eleito pelos filiados;
·         PMI é a sigla em inglês para Instituto de Gerenciamento de Projetos. Trata-se de uma organização internacional com sede nos Estados Unidos voltada para melhorar o desempenho de profissionais nessa área. O método tem recebido cada vez mais aceitação por parte de empresas nacionais.
Project Management Institute (PMI), com mais de 200.000 membros, é hoje a maior entidade mundial sem fins lucrativos voltada ao Gerenciamento de Projetos. O Chapter São Paulo, Brasil do PMI (PMI® - SP), primeiro estabelecido no Brasil, compartilha dos mesmos padrões, princípios e ideais que norteiam a atuação global da entidade na busca pelo aprendizado e desenvolvimento do profissionalismo do Gerenciamento de Projetos como ciência e arte.
Administração de Projetos, Gerência de projetos ou gestão de projetos é a aplicação de conhecimentos, habilidades e técnicas na elaboração de atividades relacionadas para atingir um conjunto de objetivos pré-definidos. O conhecimento e as práticas da gerência de projetos são melhores descritos em termos de seus processos componentes.
·         O Simulador ISTQB (International Software Testing Qualifications Board) toma como base possíveis questões para os exames ISEB/ISTQB/BSTQB, além de possuir uma interface intuitiva e próxima a do exame. Com ele, você terá mais de 350 questões aleatórias para testar o seu conhecimento para o exame. No resultado final será exibido o total de questões certas e erradas com a possibilidade de impressão.
·         Certificação ASQ (Qualidade de Software) Preparação para os exames de certificação "Quality Engineer" da American Society for Quality "Refresher Course"
Este " refresher course" é baseado no modelo americano de preparação de profissionais da Qualidade para certificação de ampla aceitação internacional.
A certificação é concedida pela própria American Society for Quality - ASQ, através de exames realizados no Brasil, coordenados pela International Member Unit - IMU, sob a responsabilidade de grupo de profissionais detentores de uma ou mais certificações ASQ. É programa de auto-estudo com acompanhamento, que sempre obteve resultados significativos, em termos de aprovação. Nas últimas provas aplicadas , o índice alcançado por treinandos preparados pela ABCQ superou 70%.
O material didático em que as sessões se apóia foi desenvolvido especialmente, alternando textos em português e em inglês. Dá ênfase a questões que se assemelham às do exame, trabalhadas no decorrer do treinamento e em simulações da prova oficial da American Society for Quality, em inglês, com duração de 5 horas e 160 questões de múltipla escolha. É, portanto, imprescindível agilidade no idioma, para leitura e interpretação.
·         O único programa engenharia software de Certified Software Development professional para grande difusão internacional, se encontra  informações sobre este programa no sitio que também são oferecidos no Brasil e possui recursos de preparação e uma amostra das questões do exame.
Carreira
Muitas organizações se denomina o Engenheiro de Software como analista de sistemas, o restante praticado nos anos 70, analise disciplina que geralmente representa uma parte do esforço de um projeto de software. Desde essa época tentou-se varias vezes de alterar o nome da profissão gerando-se polemica visando de a reserva de mercado de trabalho para pessoas qualificadas nessa especificação na área e não proteger o interesse do publico sendo objetivo da regulamentação em outros países.
A SBC fez o seguinte  levantamento:
·         O exercício do profissional de TI deve ser livre – sem depender de diploma (Comprovante de Curso)
·         Nenhum conselho pode impedir ao critério anterior
·         A autoregulação

Para chegar ao nível 3 a organização deve dominar a área de desenvolvimento de carreiras  que terão como meta oferecendo oportunidades de carreira á força de trabalho, seguindo o regimento com o auxilio do plano de carreira. Outras formas relacionam as carreiras com a gestão de competências e planejamento da organização, com analise de competências, o desenvolvimento de competências e o planejamento da força de trabalho. O modelo de carreiras Construx de Steve Mcconnell descreve uma forma de desenvolvimento da empresa dele, podendo assim servir de referencia para as carreiras de uma organização tendo os seguintes elementos:
·         Conjunto de áreas de conhecimento baseadas no Swebok que é SWEBOK (Guide to the Software Engineering Body of Knowledge) é o documento técnico desenvolvido com o apoio do IEEE (Instituto de Engenheiros Elétricos e Eletrônicos, também popularmente chamado de I3E). Esse documento estabelece uma classificação hierárquica dos tópicos tratados pela Engenharia de Software, onde o nível mais alto são as Áreas do Conhecimento. As dez Áreas do Conhecimento tratadas pelo SWEBOK são: Requisitos de Software, Projeto de Software, Construção de Software, Teste de Software, Manutenção de Software, Gerência de Configuração de Software, Gerência da Engenharia de Software, Processo de Engenharia de Software, Ferramentas e Métodos da Engenharia de Software e Qualidade de Software. É importante ressaltar as diferenças entre o SWEBOK e o PMBOK, enquanto o SWEBOK é dirigido especificamente para a Engenharia de Software.

·         Quatro Níveis de Capacidade conforme tabela a seguir:

Nivel de capacidade
Descrição
Introdutório
Executa tarefas básicas, sob supervisão e ações eficazes para o próprio desenvolvimento profissional.
Competencia
Executa trabalho eficaz e independente; serve de modelo para profissionais menos experimentos, a quem ocasionalmente orienta
Liderança
Executa trabalho exemplar; orienta outros profissionais; exerce liderança de projetos e possivelmente em nível da organização.
Mestria
Desempenha trabalho de referencia em uma área e tem profunda experiência em múltiplos projetos. Geralmente ensina e escreve artigos ou livros. Exerce liderança em nível da industria, inclusive fora da organização

·         Niveis de Carreira numeradas de 9 a 14, na tabela a seguir:

Nível
Descrição
Requisitos
9
Recém formado trabalho sob supervisão
-
10
Alguma formação de engenharia de software; menos de dois anos de experiência; trabalha sob supervisão limitada.
Introdutório: todas as áreas competência: 3 áreas
11
Formação solida de engenharia de software; trabalha de forma independente; experiente em pelo menos um projeto, em todas as etapas do ciclo de vida.
Introdutório: todas as áreas; competência: 6 áreas;
Liderança: 1 área
12
Participação essencial em projetos de sucesso; capacidade de decidir e resolver problemas rotineira e consistentemente; capaz de inovação, contribuições originais e orientação de outros.
Introdutório: Todas as áreas
Competência: 8 áreas
Liderança: 3 áreas
13
Capaz de tratar corretamente e decidir bem sobre todos os aspectos internos e externos de um projeto, contribuindo significativamente para lucratividade e a qualidade da organização.
Introdutório: Todas as áreas
Competência: 8 áreas
Liderança: 5 áreas; Mestria: 1 área
14
Capaz de vencer desafios técnicos muito difíceis e tomar decisões chaves para a organização. Conhecido dentro e fora da organização, com contribuições para o estado da arte. Longa carreira em engenharia de software
Intencionalmente não definidos.
15
Líder dentro da area de engenharia de software, capaz de desenhar e produzir em nível internacional. Responsável por definição de práticas da organização. Realizações reconhecidas em nível da industria
Intencionalmente não definidos.

Considerando a opinião deste autor, seria a Carreira em Y. muitas organizações só é possível progredir acima de certo grau da carreira assumindo funções gerenciais. Podendo assim ser considerado um erro este fato, devido a falta de personalidade e motivação por parte do profissional sendo assim dividida este tipo de carreira em duas partes
·         Técnicos
·         Gerenciais

Para se tornar do ramo gerencial um individuo tem que adquirir uma vasta esperiencia técnica exercendo papeis como:
·         Engenheiros de Requisitos: área de conhecimento fundamental para a construção de software.
·         Analista: profissionais da área que geram softwares.
·         Desenhista
·         Programador
·         Desenhista de testes
·         Programador de testes
·         Engenheiro de processos
·         Engenheiro da qualidade

A partir desta divisão pessoas que buscam pelo gerenciamento fazem cursos e treinamentos para capacitação, cursos denominados MBA, ou PMI, geralmente pessoas que já tem habilidades de gerenciamento de pessoas, sendo de dirigir e orientar pessoas da área técnica. Sendo exercido em cargos como Gerente de Projeto e Gerente de Produto, ou em cargos de duplo significado no caso do Gerente da Qualidade, Gerente de processos e o mais elevado seria Engenheiro de requisitos.
Profissionais que procuram por cargos técnicos será graduados que procuram pelo menos por uma formação acadêmica de nível de Mestrado, um exemplo desse caso seria os arquitetos e em níveis mais elevado o engenheiro de processos.

Código de ética  
Toda profissão tem um código de ética, visando assim proteger a profissão, o publico diante de ações do profissional o descumprimento deste código pode acarretar punições de proporção que pode levar a perda do direito de ser um profissional.
A ACM e IEEE formularam um código que será apresentado abaixo:
1)    Publico – engenheiros de software agirão de forma condizente com interesse publico
2)    Cliente e empregador – os engenheiros de softwares agirão de acordo com os melhores interesses de seus empregadores, desde que sejam de interesse do publico
3)    Produto – engenheiros darão garantia de seus produtos atenderão os requisitos solicitados pelo cliente
4)    Julgamento – os engenheiros de software manterão a integridade e independência em seu julgamento profissional
5)    Gestão – abordarão eticamente o desenvolvimento e manutenção do software realizada pelos engenheiros de softwares
6)    Profissão – os engenheiros promoverão a integridade e reputação da profissão de acordo com o publico
7)    Colegas – os engenheiros serão justos e darão apoio aos colegas
8)    Para Si – os engenheiros manterão para toda vida o aprendizado da profissão, promovendo e abordando eticamente na pratica da profissão.  

Fonte de IFPUG: carloscamposinfo.com
Fonte de: Engenheiro de Requisitos - livrodeengenhariaderequisitos.blogspot.com