Engenharia de Software, CREA, SBC, ACM e ENADE

Posted in Ensino de engenharia de software on July 4, 2014 by José Augusto Fabri

O Conselho Regional de Engenharia e Agronomia (CREA) é uma autarquia responsável pela regulamentação das empresas e profissionais da área das engenharias clássicas, suas ramificações, como tecnólogos, técnicos industriais. É importante salientar que todo conselho regional é subordinado ao conselho federal – CONFEA.

O CONFEA surgiu em 11 de dezembro de 1933, por meio do Decreto nº 23.569, promulgado pelo presidente, Getúlio Vargas.

Atualmente, o CONFEA é regido pela Lei 5.194 de 1966, e representa também os geógrafos, geólogos, meteorologistas, tecnólogos dessas modalidades, técnicos industriais e agrícolas e suas especializações.

O objetivo do CREA e do CONFEA é:

Resguardar o interesse público e a ética no exercício das profissões das Engenharias, da Agronomia, das Geociências, das Tecnológicas e Técnicas, buscando sua valorização, através da excelência na regulamentação, organização e controle destas profissões” (fonte CREA-PR e CONFEA).

O curso de Engenharia de Software não é regulamentado pelo CREA.  É importante salientar que o referido curso é relativamente novo – a proposta pedagógica do curso é direcionada pela Association for Computer Machinery (ACM) e pelas diretrizes curriculares MEC desenvolvida em sua grande parte pela Sociedade Brasileira de Computação.

Outro fato de extrema importância, destacado neste texto, é a regulamentação da profissão na área de Informática (incluindo a Engenharia de Software).

A comunidade científica da computação vem trabalhando na regulamentação da profissão de Informática desde a década de 70.

Fruto dos debates ocorridos ao longo dos anos, nos diversos encontros de sua comunidade científica, em relação às vantagens e desvantagens de uma regulamentação da profissão de informática, a Sociedade Brasileira de Computação consolidou sua posição institucional em relação a esta questão pela formulação dos seguintes princípios, que deveriam ser observados em uma eventual regulamentação da profissão:

Exercício da profissão de Informática deve ser livre e independer de diploma ou comprovação de educação formal.

Nenhum conselho de profissão pode criar qualquer impedimento ou restrição ao princípio acima.

A área deve ser Auto-Regulada.

Os argumentos levantado junto à comunidade da SBC e que nortearam a formulação dos princípios acima estão detalhados na Justificação que acompanha o PL 1561/2003, o qual é integralmente apoiado pela Sociedade de Brasileira de Computação.

Fonte: homepage da SBC:

http://www.sbc.org.br/index.php?option=com_content&view=category&layout=blog&id=324&Itemid=964

Desconheço qualquer regulamentação para Engenharia de Software em outros países.

Outro fato que direciona inúmeros questionamentos é Exame Nacional de Desempenho dos Estudantes (ENADE) do curso Engenharia de Software. Neste ano serão avaliados os cursos de:

Arquitetura e Urbanismo; Sistema de Informação; Engenharia Civil; Engenharia Elétrica; Engenharia de Computação; Engenharia de Controle e Automação; Engenharia Mecânica; Engenharia Química; Engenharia de Alimentos; Engenharia de Produção; Engenharia Ambiental; Engenharia Florestal; Engenharia; Ciência da Computação; Ciências Biológicas; Ciências Sociais; Filosofia; Física; Geografia; História; Letras-Português; Matemática; Química; Artes Visuais; Educação Física; Letras-Português e Espanhol; Letras-Português e Inglês; Música; Pedagogia e os de Tecnologia em Análise e Desenvolvimento de Sistemas; Automação Industrial; Gestão da Produção Industrial e Redes de Computadores.

Perceba que o curso de Engenharia de Software não faz parte da lista, neste caso os formandos de 2014 estão isentos de participar do ENADE.

Por fim, em relação às questões que compõem o ENADE, tenho a plena convicção que teremos questões direcionadas a Engenharia de Software, assim como ocorre com os cursos de Licenciatura em Computação, Ciência da Computação, Engenharia da Computação e Sistemas de Informação – vide prova de 2011.

Qualquer dúvida sobre o curso por favor me escrevam.

José Augusto Fabri – fabri@utfpr.edu.br

A importância do estágio na vida profissional

Posted in off topic on June 10, 2014 by José Augusto Fabri

A palavra estágio tem origem Latim medieval stagium. Stagium significa período preparatório, etapa do ciclo vital de plantas ou animais. Dada a origem latina da palavra, a língua francesa cunhou a palavra stage (cujo o registro é de 1630), essa palavra tinha como objetivo designar as etapas que um cônego deve concluir durante um certo tempo antes de desfrutar das honras e da sua renda prebenda. No início do século XIX, o francês incorporou em seu dicionário a palavra stagiaire designando o profissional ou estudante, que durante um período pré-determinado, executa um conjunto de tarefas, com o objetivo de internalizar novas habilidades. Por fim, no início do século XX a palavra foi incorporada na língua portuguesa com a grafia de estagiário.

Dentro da esfera universitária, o estágio caracteriza-se como um processo educativo e supervisionado. É de extrema importância que ele seja desenvolvido no ambiente de trabalho, visando à consolidação dos conceitos apresentados ao estudante durante o curso de graduação.

O estágio se configura como uma ferramenta facilitadora para o ingresso de profissionais recém-formado no mercado de trabalho. Dentro deste contexto é importante salientar que o estagiário estará preparado para assumir o seu papel como um profissional com as competências pertinentes a sua atividade. O estágio é um meio eficiente de acompanhamento de avanços conceituais.

De posse da etimologia da palavra estagiário e dada sua definição, é possível perceber a importância, deste processo educativo, na preparação profissional de um estudante universitário.

O que é um bom estágio?

O estágio ideal deve ser realizado em entidade que cumpre o papel de supervisão do estudante. Promover oportunidades de crescimento profissional também é algo de suma importância dentro deste contexto.

A realização de um bom estágio está intimamente ligada à preparação do estudante. Oportunizar ou reforçar os conhecimento dentro da área escolhida, conhecer a realidade mercadológica, cultivar um bom relacionamento interpessoal e trabalhar em equipe são características de extrema relevância para se obter sucesso no estágio.

Procedimentos para a dos melhores estagiários.

Atualmente, 1 em cada 3 empresas (no mundo) encontram dificuldade no preenchimento de seus cargos. O Brasil é o segundo país no qual este tipo de problema é mais acentuado, perdemos apenas do Japão. Um dos problemas que agrava esta situação e o baixo índice de formação universitária, somente 7% da população brasileira, entre 25 e 34 anos, possui ensino superior (Fonte INEP 2014).

Dentro deste contexto as empresas buscam estudantes em plena condição de estagiar, a vontade de aprender e cursos de qualidade reconhecida são critérios determinantes no processo de seleção. Comunicação, capacidade de adequação a diversas situações também devem ser observadas pelas empresas.

Empresa e Estagiário

Na relação entre empresa e estagiário, é importante que a primeira cumpra com a legislação em vigor e conceba atividades de estágio coerente com o curso do estagiário. Possibilitar a participação do aluno em projetos, analisar a possibilidade de implantar as iniciativas do estudante e buscar a viabilização de sua contratação após a finalização do estágio contribuem para o bom relacionamento entre ambos.

Por fim, é importante salientar que o estagiário deve cumprir o acordado no termo de compromisso, estudar e aproveitar as oportunidades delineadas pela empresa.

Graduação em Engenharia de Software na UTFPR

Posted in Ferramentas, gestão de projetos, gestão do conhecimento, Introdução a Engenharia de Software, mercado produtor de software, processo de produção de software, qualidade de software on June 4, 2014 by José Augusto Fabri

modeloA Universidade Tecnológica Federal do Paraná – Campus Cornélio Procópio oferece, a partir do segundo semestre de 2014, o curso de Bacharelado em Engenharia de Software. Atualmente o profissional desta área é um dos mais procurados no Brasil e no Mundo. Veja o projeto pedagógico do curso neste link.

Na figura ao lado você encontra o modelo que norteou todo o desenvolvimento do projeto pedagógico.

Informações adicionais:
Titulação Conferida: Bacharel em Engenharia de Software.
Modalidade de Curso: Ensino presencial
Local de Oferta: Universidade Tecnológica Federal do Paraná Campus Cornélio Procópio.
Coordenação e Unidade Executora: Coordenadoria de Engenharia de Software
Duração do curso: 08 semestres letivos.
Regime escolar: Semestral, com a matrícula realizada por disciplina.
Número de vagas: 88 vagas por ano, com 44 vagas ofertadas em cada semestre.
Turno previsto: Noturno.

José Augusto Fabri – fabri@utfpr.edu.br

Kanban no desenvolvimento distribuído de software

Posted in gestão de projetos on May 14, 2014 by José Augusto Fabri

kanban ddsKanban é uma palavra de origem japonesa que significa placa ou registro. O Kanban permite agilizar a produção de componentes de software. Originário na indústria automobilística, os Kanbans físicos (cartões – ou post-it) se movimentam ou transitam entre as atividades de um processo de produção, permitindo uma gestão eficaz de um projeto – Esta forma gestão foi conhecida como Sistema Toyota de Produção.

No mês de abril realizei um experimento utilizando o Kanban no desenvolvimento distribuído de software.  O relato do experimento é dividido em 3 partes

1 – Caracterização do problema.

Uma empresa de software recebeu a incumbência de gerir um projeto de software cujo desenvolvimento teria características distribuídas.

Essa empresa fracionou o projeto e subcontratou três sites (outras empresas) para o desenvolvimento.

Cada site recebeu uma fração do projeto a ser desenvolvimento. Esta fração foi dividida em funcionalidades. Importante: O projeto já estava especificado e os sites eram responsáveis somente pela implementação e pelo teste do software.

2 – Princípios da gestão de projeto utilizados.

Ao receber o projeto, a empresa, responsável pela gestão global, consultou a sua base histórica de projetos e delineou as estimativas de custo, prazo e esforço. Estas informações foram consolidadas na Estrutura Analítica do Projeto (EAP) e no Cronograma.

Os pacotes de trabalho da EAP foram distribuídos para os 3 sites.  Os sites de posse destes pacotes consultaram a sua base histórica de projetos e estimaram o custo, o esforço e o tempo. Estas estimativas foram confrontadas com aquelas geradas com as da responsável pela gestão global do projeto. Este tipo de confronto, denomino como equalização do projeto. Realizado o confronto os sites popularam a coluna to do do quadro Kanban.

3 – A execução e o controle do projeto.

Durante a execução do projeto os sites percorreram as atividades de implementação e teste de software. Estas duas atividades caracterizam duas colunas do quadro kanban. É importante salientar que o quadro Kanban estava centralizado na ferramenta kanbanize (kanbanize.com).

É importante salientar que a ferramenta proporciona que todos os sites enxerguem um único quadro Kanban do projeto. Dentro desta ótica, ao movimentar os pacotes de trabalho de to do para implementaçãoe de implementação para teste todos tinham conhecimento sobre o andamento do projeto.

Quando os pacotes atingiram a coluna done do quadro Kanban, as informações sobre tempo, custo e esforço de produção foram caracterizadas pela própria ferramenta. Essas informações foram estruturadas e inseridas na base histórica da empresa responsável pela gestão global do projeto.

A Figura apresentada no início do post tenta resumir o relato do experimento realizado.

Por fim, é importante salientar este relato atenta somente as questões ligadas a planejamento, execução e controle do desenvolvimento distribuído de um projeto de software. Problemas sobre o fracionamento e integração do projeto foram mapeados porém não relatados.

Fabri – fabri@utfpr.edu.br

Requisitos Sistêmicos e a Semiótica

Posted in processo de produção de software on April 30, 2014 by José Augusto Fabri

A Semiótica tem como objetivo mapear conceitos sobre a semiose (fenômenos culturais caracterizados pelo seu significado e significante) e a concepção dos signos. Ambos os conceitos são derivados da palavra grega σημεῖον (sēmeion) – que significa signo. A teoria que alicerça a semiótica foi utilizada pela primeira vez, em 1670, como disciplina de um curso de medicina por Henry Stubbes (físico Inglês) com o objetivo de estudar a interpretação dos sinais.

A semiótica possuir uma maior abrangência quando alinhada a linguística, ciência esta que tem como objetivo estudar o sistema sígnico (de significados) da linguagem verbal.

A semiótica tem como objetivo mapear todo e qualquer sistema sígnico – Artes visuais, músicas, fotografia, cinema, culinária, vestuário, gestos, religião, ciência, etc.

Outro aspecto importante e caracteriza a semiótica por meio da interpretação dos sistemas sígnico em dois planos complementares: 1 – a forma (significante – aquilo que representa algo); 2 – o conteúdo (significado do que é indicado pelo significante).

Se analisarmos os conceitos que alicerçam a semiótica é possível estabelecer uma relação direta com a concepção dos requisitos em qualquer ambiente sistêmico, pois este ambiente, também é caracterizado pela sua forma e pelo seu conteúdo. A forma caracteriza a representatividade do sistema dentro de um, ou mais, contextos. Esta representatividade se traduz em uma série de conteúdos que podem ser materializados por um conjunto de signos pré-estabelecidos.

Vamos a um exemplo prático:

O sistema universitário possui uma representação concreta dentro dos contextos de ensino, pesquisa e extensão. Este sistema pode significar ascensão social, desenvolvimento de uma nação e melhoria contínua de uma determinada região. O referido sistema é composto de vários objetos que norteiam o seu conteúdo, destaco aqui, professores, pesquisadores, teses, dissertações, artigos científicos, projetos de pesquisa, equipamentos, laboratórios, etc. Dentro da engenharia de software esses objetos podem ser representados por um conjunto símbolos pré-estabelecidos. Os símbolos utilizados na representação devem atacar diretamente os dois planos citados – a forma (significante – aquilo que representa algo) e o conteúdo (significado do que é indicado pelo significante).

Enfim, podemos usufruir dos vários pressupostos da semiótica para explicitar requisitos implícitos, este á um assunto para um bom trabalho de pesquisa.

A relação entre a motivação e a expectativa

Posted in gestão de projetos on April 15, 2014 by José Augusto Fabri

Na sua vida, você deve estabelecer uma relação ótima entre a motivação e expectativa.

Na minha singular visão, a motivação é caracterizada como uma força interior com intensidade oscilante. Acredito ainda que não é possível motivar alguém a realizar uma determinada tarefa. Existe sim a possibilidade de criar um ambiente motivador para a execução de um projeto específico. É neste ambiente que as pessoas encontrarão por si só os motivos para executar ações necessárias ao sucesso de um projeto (de trabalho, pessoal …).

A expectativa caracteriza-se como uma condição de quem espera pela ocorrência de algo (bom ou ruim). Esta espera é baseada em comportamentos e probabilidade.

Em seu dia-a-dia você deve possuir expectativas positivas, fato este que irá motivá-lo para que elas ocorram.  Uma expectativa positiva é o fator crítico de sucesso na construção do ambiente motivador.

O quadro abaixo relaciona de uma forma simples a motivação e a expectativa.

motivacao e expectativa

Mantenha-se no quadrante verde. Evite o quadrante vermelho. Se você trabalha muito e não obtém retorno, reveja suas expectativas – quadrante azul. Se você possui boas expectativas e não está motivado, geralmente, você se encontra no estado de comodismo – quadrante laranja.

O lúdico aplicado na melhoria de um processo de software

Posted in processo de produção de software, qualidade de software on March 31, 2014 by José Augusto Fabri

Várias pessoas questionam o motivo que me levou a construir bonecos e pipas durante os programas de melhoria de processo. O texto abaixo justifica a utilização de tais práticas.

Vários programas de melhoria de processo são abortados durante a sua implementação. Este problema é recorrente em empresas do segmento produtivo de software, pois os responsáveis pela implementação dos referidos programas encaram os modelos de qualidade (CMMI e MPS-BR) como uma “camisa de força, ou seja, as formas de implementação das áreas chaves do processo, propostas pelos referidos modelos, são interpretadas como verdade absoluta.

Durante a melhoria de um processo de software os colaboradores de uma determinada empresa devem alterar a sua forma de trabalho. Novas atividades ou tarefas devem ser inseridas na estrutura do processo, formulários que antes não eram preenchidos passam a ser e, principalmente, aspectos ligados à produtividade e qualidade são questões de suma importância.

Algumas empresas alteram a sua cultura de trabalho durante a execução do plano de melhoria de processo. Trabalhar, como consultor, dentro de um ambiente permeado por estas situações requer certo “jogo de cintura”. É necessário sair do trivial, treinamentos e possíveis alterações na forma de trabalho devem ser implementadas com parcimônia. Técnicas diferenciadas, com foco nas áreas chaves do processo, devem ser atacadas com eficiência e eficácia. A motivação dos envolvidos se caracteriza como um fator crítico de sucesso.

Dentro deste prisma acredita-se que os aspectos inerentes à melhoria de processo de software são suportado por questões ligadas ao ensino e aprendizagem. Ambos ocorrem em duas vias, hora os membros de uma consultoria (em melhoria de processo) compartilham o seu conhecimento com os envolvidos no ambiente produtivo – o ensino – em outros momentos são os envolvidos que agregam ao portfólio da consultoria – a aprendizagem.

Para compor um ambiente de ensino e aprendizagem (de mão dupla) altamente motivador, é necessário trabalhar o conceito do lúdico. A motivação tem como foco proporcionar prazer por meio do desenvolvimento de uma determinada atividade, e uma das formas de obter esse prazer é utilizar o referido conceito.

Salienta-se que os envolvidos com o aspecto produtivo de software, na maioria das empresas, são oriundos de vários ambientes. A diversidade na formação, na origem regional, no aspecto cultural e, principalmente, na experiência caracteriza-se como uma constante. Este fato alinha-se diretamente com uma dos principais pressupostos relacionados a aprendizagem.

“a aprendizagem humana pressupõe uma natureza social específica e um processo por meio do qual os aprendizes penetram, de forma diferenciada, dada a sua diversidade, na vida intelectual daqueles que o cercam” (Vygosky (1991)).

De posse do pressuposto destacado e assumindo que todos os envolvidos em um programa de melhoria de processo concebem representações sobre um determinado objeto (forma de trabalho, formulário a ser preenchido, padrão a ser seguido) por meio de suas práticas sociais (a diversidade na formação, na origem, na cultura, na experiência), e essas representações são delineadas a partir do grau de interesse e de qualidade (da informação obtida ou do produto gerado) proporcionadas pelo objeto; concluí-se que os atores sociais imersos no processo de ensino e aprendizagem estabelecem um relacionamento de simbolização/interpretação para com o objeto manipulado. É, justamente, este relacionamento que configura o significante e o significado do objeto.

O significante caracteriza-se como o signo linguístico é uma “imagem acústica” – sua consistência está na forma do objeto. O significado provê ao ator questões relacionadas ao conteúdo – o que eu posso fazer com o objeto.

O significado é assimilado por meio de uma rede de conhecimento pré-estabelecida pelos atores (envolvidos em um programa de melhoria de processo) é, esse tipo de rede que se encontra a origem e a permanência da simbolização/interpretação dos objetos.

Diversos teóricos da área pedagógica (diSessa et. al. (1982, 1983, 1985, 1988, 1993). Smith et. al. (1993), Clement (1983), McCloskey (1983), Resnick (1983)) têm como premissa que as concepções prévias devem ser compreendidas como parte ativa do desenvolvimento da simbolização/interpretação. Durante a institucionalização (ou melhoria) de um processo, para um determinado meio (ambiente produtivo de software), num mesmo tempo e num mesmo espaço (células produtivas do ambiente – por exemplo: célula de teste) teremos, para cada colaborador diferentes formas de simbolização/interpretação.

Dentro do contexto delineado, é possível delimitar a construção do conhecimento nos aspectos primitivos fenomenológicos, estruturas elementares obtidas por abstrações simples, fracionadas, que se relacionam entre si, com o objetivo de promover um determinado significado.

Segundo Kishimoto (1999), as técnicas lúdicas podem se relacionar de forma perspicaz com as estruturas elementares obtidas pelas abstrações. Estas técnicas são criadas com o objetivo de estimular o processo de aprendizagem. De nada adianta institucionalizar, durante o programa de melhoria de processo, questões ligada à produtividade, qualidade e gerência, se estas não se constituem conceitualmente para todos os envolvidos com o ambiente produtivo de software. Não se espera, por parte dos envolvidos, concepções alternativas sobre as questões delineadas, se estes não estiverem engajados no programa de melhoria. É necessário seduzir  o que lhes é apresentado, que encontrem o verdadeiro significado das atividades/tarefas (do processo), para que possam compreender a importância de um programa de melhoria. As práticas lúdicas vão de encontro à sedução supracitada.

É por meio do lúdico que os envolvidos em um ambiente de melhoria de processo são livres para determinar suas ações. A essência do brincar e a criação de uma nova relação entre os objetos, inerente a uma determinada área chave do processo, podem promover um ganho substancial no tempo e na qualidade de todo programa de melhoria. O brincar se constitui em um processo de extrema importância a favorece as transformações internas de um determinado ambiente.

Por fim, é importante discutir o lúdico como ideia de divertimento, um fazer humano amplo, que vai além de brincadeiras e jogos, traduzindo o sentimento, as atitudes de um sujeito envolvido em uma determinada ação, referindo-se ao prazer da celebração em função de envolvimento efusivo, transpondo a sensação de plenitude que acompanha significados verdadeiros dos brinquedos (em nosso caso, os objetos).

É dentro deste panorama que modelo de processo não pode ser encarado como uma “camisa de força”.

J. A. Fabri – fabri@utfpr.edu.br

Follow

Get every new post delivered to your Inbox.

Join 38 other followers