terça-feira, 30 de junho de 2015

Caso Real de Equipe Ágeis e Entrega de Produtos

A postagem de hoje apresente um caso real de aplicação da Metodologia Ágil e após um determinado cescimento da empresa empregou-se a metodologia para a entrega rápida de produtos. A matéria a seguir é extremamente importante para gestores que estão com dificuldades em tornar ágil o negócio principalmente pelo crescimento de seus negócios. O artigo a seguir foi escrito por Fernando de La Riva e Victor Lima, sendo o primeiro Diretor Executivo da Concrete Solutions e o segundo Gerente da área Mobile da Concrete Solutions.

" A Concrete Solutions iniciou suas atividades em 2001. Cinco anos depois, após muito aprendizado e a partir de experiências empíricas e níveis muito baixos de sucesso utilizando o modelo cascata, chegaram à conclusão de que deveriam adotar métodos ágeis para seus projetos ou então seria melhor fechar a empresa. Desde então, aprenderam, evoluíram e iteraram seus conceitos e a prática de ágil muitas vezes, seguindo sempre o que dita a metodologia.

O crescimento

Com o crescimento da empresa nos últimos anos, identificamos a necessidade de realizar algumas alterações em nossa estrutura organizacional. Neste cenário, chegamos ao desafio de como escalar uma estrutura ágil de desenvolvimento de software que consiga abranger mais de 50 equipes, seja auto-organizada e que tenha poucos níveis hierárquicos, sem interferir na qualidade e cultura.

Diante deste cenário, buscamos as opções já estudadas pelo mercado e encontramos algumas iniciativas, como as que foram comparadas por Richard Dolman e Steve Spearman. Dolman e Spearman falam de no mínimo sete métodos: Scrum of Scrums (SoS), Large Scale Scrum (LeSS), Scaled Agile Framework (SAFe), Discipled Agile Delivery (DAD), Drive Strategy Deliver More (DSDM), Recipes for Agile Governande (RAGE), Scrum at Scale e, por fim, o método que mais nos interessou, nomeado de "Spotify Model". Nossa percepção é que os outros seis modelos propostos têm uma teoria bem fundada, mas são pouco práticos. Para a Concrete Solutions, o que serviu de inspiração foi o modelo do Spotify, que explicaremos em detalhes a seguir.

Histórico

Quando iniciamos, nossa prática era baseada em equipes de engenharia que respondiam diretamente a um sócio. Neste experimento, o papel de Product Owner (PO) ficava a cargo dos nossos clientes. Oferecíamos uma equipe multidisciplinar e o cliente coordenava essa equipe e o produto a ser desenvolvido. Entretanto, a falta de uma estrutura de produto formal na maior parte das empresas acabou se tornando um desafio, porque sobrecarregava o sócio que precisava administrar inúmeros backlogs, além de desempenhar o papel de Scrum Master. Neste período, passamos também a ter mais contato com algumas referências de produto e chegamos à conclusão de que a nossa função é a gestão ágil de produtos, não apenas a organização de equipes multidisciplinares.

Era a hora de adotar o papel de PO e trabalhar com ele dentro da equipe. Passamos, então, da prática de engenharia (experimento 1) a uma prática de produto (experimento 2), como exposto na figura a seguir.
Estrutura3.jpg
O modelo funcionou bem até determinado número de pessoas. Com o aumento da equipe e o surgimento novos projetos, as figuras dos POs e dos sócios ficaram sobrecarregadas com tantas referências e com a necessidade de apoiar a melhoria continuada das pessoas e das equipes e tivemos que procurar uma forma de escalar a estrutura até chegarmos no modelo do Spotify.

Em linhas gerais, o experimento 1 mostrou uma escalabilidade de células de até 20 pessoas e o experimento 2 de até 50 pessoas. Uma variável que também foi modificada no segundo experimento foi a quase totalidade de equipes com integração e publicação contínuas e o uso extensivo de testes automatizados. Essa melhoria de fluxo e diminuição do lote também permitiu que a estrutura do experimento 2 escalasse mais.

Visão Geral

As células base da Concrete atualmente são quatro práticas, mostradas na figura a seguir e determinadas por domínio tecnológico ou critério geográfico, uma vez que temos escritório no Rio e em São Paulo. São elas:
  • Cloud;
  • Web/API São Paulo;
  • Web/API Rio e Mobile.
A ideia é que cada uma dessas células tenha uma área de produto e uma área de engenharia. Os integrantes de cada célula não precisam necessariamente estar no mesmo lugar, são razoavelmente autoorganizados e autogeridos e usam as mesmas tecnologias.
Estrutura4.jpg
No contexto atual da Concrete, todas as células têm pelo menos um sócio responsável pela área de produto e/ou engenharia. Note que a célula de "Cloud" não é dividida e isso acontece porque a computação na nuvem não gera um produto, mas ajuda no desenvolvimento dele.

Equipe base

A Concrete Solutions vende equipes multidisciplinares que têm o objetivo de desenvolver e evoluir um produto para um cliente. Para que possamos ser efetivos nesse posicionamento, temos que garantir que um conjunto mínimo de papéis esteja sempre incluído na equipe. Essa equipe pode sofrer algumas variações dependendo da necessidade ou não de desenvolvimento de uma API ou de tecnologias envolvidas. A seguir, temos um exemplo de equipe de desenvolvimento móvel padrão. Dentro do possível, tentamos manter as equipes trabalhando juntas durante um longo período de tempo (equipes estáveis).

3.jpg

Detalhamento da estrutura

Considerando que as práticas são divididas em Produto e Engenharia, (Web e API SP, Web e API RJ e Mobile), surgem dois papéis de gerenciamento para cada uma delas. O primeiro deles é o Product Manager (PM), que é o responsável por gerir todos os POs da prática e a área de produto como um todo. O Chefe de Engenharia cuida do restante da equipe, formado pelos desenvolvedores, Scrum Master, DevOps, UX e o QA. Na figura a seguir, veja a representação gráfica dessa organização:


Estrutura.png


O grupo de pessoas que desenvolvem a mesma função formam um capítulo, grupo horizontal, que também se relaciona entre si e tem seus processos de desenvolvimento. Normalmente temos o capítulo de UX, de QA, de desenvolvedores em geral (Android, iOS, etc), de Scrum Master e de DevOps (este último representado pela prática de Cloud e Devops).

Dentro do capítulo geralmente surge uma ou mais figuras de destaque, chamadas de "chapter leads" ou "líderes de divisão", que são aqueles que têm mais fluência em uma área técnica do domínio do grupo, compartilham conhecimento e nivelam todos os membros. Por exemplo, nas equipes de desenvolvimento móvel temos um líder de capítulo de Android, um líder de capítulo de iOS, etc. Este papel tem um caráter de "professor", mas não de gerente.

Neste ponto, lembramos que existe uma prática de DevOps, que chamamos de "Cloud", na qual o líder de divisão é o Chefe de Engenharia. Uma informação relevante que vale a pena destacar é o papel de UX, que na prática responde tanto para a área de produto (uma vez que participa dos processos de produto e descoberta do cliente) como para a área de engenharia.

No próximo passo, o PM responde para um Chefe de Produto, que fica um nível hierárquico acima, mas comanda também um grupo de POs. Na figura a seguir, destacamos também o surgimento do líder de capítulo, que é o responsável por coordenar e direcionar todos os membros do capítulo do qual faz parte.


5.jpg

 

Visão de escalabilidade

Finalmente, como escalar? Basicamente, a escalabilidade é uma questão simples de números. Com essa estrutura definida, podemos chegar até a 8 POs para um PM. Informalmente, chamamos nossas equipes de "equipes de pizza", aqueles que podemos alimentar com uma pizza (ou seja, oito posições). Se um PM chega até 8 POs, com até 10 pessoas nas equipes abaixo de cada PO, podemos ter até 80 pessoas abaixo de um PM.
Entretanto, destacamos que o número de oito equipes abaixo de um Chefe de Engenharia pode ser um pouco alto. Depende do nível de fluência de cada equipe e do nível de complexidade de cada projeto. Entretanto, nosso cálculo nos leva a até 80 pessoas por prática, o que na Concrete equivale a um total de 240 pessoas.

Quando chegarmos a esse número é a hora de criar novas práticas, novos sites e as figuras de diretor de produto, que será o responsável por todos os PMs, e do diretor de engenharia, que cuidará dos heads de engenharia. Acreditamos que o último nível seria a criação de um VP de produto, afinal nossa preferência é manter poucos níveis hierárquicos.

Fluência das equipes

Com base na evolução e aprendizado das nossas próprias equipes, chegamos a um modelo de maturidade que se aplica na companhia como um todo, equipe a equipe, para tentar manter a garantia de qualidade. Chamamos esse modelo de "4Ps": Práticas, Papéis, Plataformas e Produto e, em resumo, significa que para fazer um produto digital de sucesso é preciso que 7 papéis (PO, Scrum Master, UX, QA, Desenvolvedores, DevOps e Growth Hacker) apliquem 9 práticas (engenharia ágil, user experience, growth hacking, descoberta de produto/cliente, execução de produto, métricas, QA, governança e cultura e organização) usando uma plataforma que envolva as melhores ferramentas para descobrir, desenvolver, entregar, testar, deployar e monitorar. Veja na figura a seguir:


4Ps.jpg

Para medir o nível de fluência das equipes, aplicamos o modelo de maturidade de forma periódica. Primeiro, avaliamos os papéis. A equipe tem todos os papéis? Os papéis têm níveis de senioridade adequados? É um questionário simples e fazemos quase que intuitivamente. Depois, é hora de avaliar se as práticas estão sendo cumpridas, e práticas e plataforma são acertadas ao mesmo tempo, em paralelo. Afinal, não tenho como testar sem saber fazer integração contínua, entrega contínua, etc. Todas essas variáveis geram uma nota, ou um nível de fluência, que vai de zero a quatro.
Mas é claro que cada membro da equipe é avaliado de forma individual, considerando também o modelo de maturidade. Dois exemplos que valem a pena serem ressaltados são: a avaliação do Product Owner, que passa por seis "áreas"; e do Scrum Master, avaliado em cinco instâncias. Enquanto o primeiro é medido pela fluência na área de domínio, marketing / analytics, UX e engenharia, além de ágil e lean, o Scrum Master é avaliado considerando engenharia, capacidade de facilitação do framework Scrum, remoção de impedimentos e governança e política, além, é claro, de ágil, conforme figura a seguir.


Avaliação PO e SM.jpg

Evolução do modelo

Ainda estamos conversando bastante sobre as atividades de sincronização e gestão da interdependência de projetos. Afinal, temos clientes com portfólios de produtos web e mobile, que misturam equipes, POs e Heads de engenharia. No nível em que estamos, ainda conseguimos manter muitas conversas "one to one", tanto entre os mesmos papéis quanto entre os gestores. Mas ao chegar em um número mais elevado de pessoas pode ser que esse esquema não funcione mais.

Também temos uma questão importante de cultura. Quando os capítulos são menores é mais fácil passar conhecimento por meio de Hangouts, eventos, conversas informais e até em happy hours. Conforme a equipe vai crescendo essa facilidade vai diminuindo pouco a pouco e teremos que pensar em novas práticas para compartilhar conhecimento e nivelar as equipes."

Conclusão

Assim como o Spotify anunciou logo no início de seu artigo, evoluímos rápido. Esse texto é uma análise do nosso modo de trabalho atual, que está em constante transformação e aprendizado. Pode ser que quando você leia esse texto alguma coisa já tenha mudado.

Ficou alguma dúvida, tem alguma sugestão ou gostaria de aprender mais sobre esse tema? Fale com a gente! É só deixar a seguir o seu comentário. Até a próxima!

Sobre os autores

Fernando1.jpgFernando de la Riva: Diretor-executivo da Concrete Solutions, consultoria global de TI, engenheiro de computação pela PUC-RJ, especialista pela Coppead, MBA pela universidade de Columbia e mestre pela London Business School, empreendedor serial, ajudou a desenvolver mais de 24 startups de tecnologia. Fundou seis empresas, produziu uma saída, uma cratera lunar, uma aterrissagem suave e três empresas operacionais. Liberal com orgulho, flamenguista, maratonista e apaixonado por Software desde os 10 anos de idade.

Victor Lima1.jpgVictor Lima: Gerente da área mobile da Concrete Solutions e sócio-fundador da CloudRetail, Victor Lima desenvolve produtos digitais desde o século passado. Começou a trabalhar com produtos mobile em 2009 e não pretende parar mais. Acredita que métodos ágeis somados a uma boa gestão de produto podem modificar a vida das pessoas. A liderança no desenvolvimento de mais de 40 aplicativos mobile possibilitou uma boa expertise em engenharia ágil, product / customer discovery e Lean Startup. Músico nas horas vagas e baterista por opção.

Bons estudos gestores e pesquisadores.

Abraço!!!!!!!!!!!!!!!!!!

terça-feira, 23 de junho de 2015

Aprendizagem Ativa em Sala de Aula

A sociedade esta inserida em um momento pós revolução digital, onde os principais objetivos estão ligados a mobilidade das pessoas e a velocidade em se obter informações, seja de qualquer interesse a qualquer momento. Esta realidade pode ser observada em praticamente todos as faixas etárias da sociedade, sendo percebida quando se verifica a grande porcentagem de pessoas que possuem um dispositivo computacional móvel, ou quando se faz pesquisas para verificar a necessidade de se estar conectado na grande rede e também em alguns momentos alguns pais e mães chegam a afirmar que seus filhos já nascem com o domínio do mauseio destes dispositivos computacionais.

Levando em consideração todo este contexto de avanço tecnológico, da grande mobilidade das pessoas e da necessidade de informações a qualquer momento, o processo de ensino-aprendizagem por sua vez se torna obsoleto, pois ainda se pensa em regência de aulas e atividades de ensino na maioria das vezes sem levar em consideração o contexto atual de nossa sociedade. A partir deste momento alguns termos que antes eram poucos discutidos por pesquisadores e estudiosos da área começam a ser pautados em encontros nacionais e internacionais de educação, como por exemplo o termo Aprendizagem Ativa.

Segundo a Professora Liliam Silva, o método de regência de aulas expositivas no modelo presencial mostra-se a cada dia mais problemático, pois possuem como receptor alunos que estão altamente inseridos na cultura digital, sendo que estudos mostram que estes alunos não aprendem somente ouvindo passivamente o professor, mas sim buscando um processo de interação maior seja entre alunos ou com a participação do professor. Ainda voltando ao pensamento da professora Liliam Silva o termo "Aprendizagem Ativa" tem o significado de coisas diferentes para pessoas diferentes.

 A Aprendizagem Ativa é um recurso a ser utilizado tanto para o ensino na modalidade a distância, tanto no modelo presencial, sendo que tem sido aplicado com maior frequência na modalidade a distância, até mesmo por ter uma maior variedade de recursos. A Aprendizagem Ativa quando aplicada é dividade em duas modalidades:
  • Aprendizagem Cooperativa
  • Aprendizagem Colaborativa
A Aprendizagem Cooperativa são contituídas de técnicas que agrupam alunos em grupo, em que há a divisão de trabalhos e uns ajudam os outros em suas tarefas, sendo que esta iteração ocorre nos encontros presenciais dos grupos, fazendo com que há a geração de vários resultados parciais, os quais irão compor o resultado final. O fator fundamental nesta modalidade da Aprendizagem Aplicada é a construção de um conhecimento em conjunto utilizando a comunicação entre os alunos de forma planejada. Exemplos de aplicações são a construção de fóruns de discussão, a qual proporcionará uma maior e melhor interação entre os alunos.

A Aprendizagem Colaborativa também ocorre uma organização grupal, a qual tem o objetivo de estimular uma interdependência no trabalho, gerenciado pelo Professor ou Tutor. Nesta modalidade a figura do moderador(Professor ou Tutor) esta trabalhando conjuntamente com os alunos desenvolvendo um trabalho intelectual, projetando atribuições, pensares, escolhendo materiais de estudo e pesquisas e abrindo questões que devem ser aprofundadas pelo aluno. Exemplos de aplicações são estudos de casos, debates em equipes fazendo uso dos fóruns de discussão, relatórios que são criados coletivamente e avaliação em grupo.

Pode-se perceber que a utilização da Aprendizagem Ativa torna o ensino mais dinâmico, fazendo com que o aluno seja um componente ativo do processo de ensino-aprendizagem e não somente um componente passivo. Também nota-se que as aplicações que envolvem tanto a Aprendizagem Cooperativa, tanto a Aprendizagem Colaborativa há a possibilidade da utilização dos dispositivos computacionais principalmente os móveis, fazendo com que o aluno se sinta motivado e inserido neste processo de ensino. O objetivo sempre será de incentivar o aluno a pensar, dialogar, escrever, criticar e de expressar suas idéias seja de forma verbal ou escrita. No entanto vale ressaltar que todas estas ações apresentadas tem seus benefícios, mas que devem ser planejadas em seus cursos e que sejam pautas de capacitação para tutores e professores.

Para maiores informações acessem o link.

Obrigado!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


terça-feira, 16 de junho de 2015

Linguagem de Programação da Apple: Swift

As tecnologias móveis a cada dia estão presentes de maneira contínua em provavelmente quase todas as atividades desenvolvidas por cada um de nós. Isto reflete drasticamente nas empresas fornecedoras destes produtos, bem como vem aumentando a necessidade da existência de profissionais qualificados que entendam o funcionamento destas tecnologias, bem como de profissionais que consigam desenvolver aplicações principalmente no quesito organizacional, as quais estarão alocadas nestes dispositivos móveis.

Uma das empresas fortes na área de Tecnologias Móveis é a famosa Apple, a qual tem movimentado este mercado a várias anos e sempre trazendo novas tecnologias e tendências para seus apaixonados usuários. Talvez por ter percebido a necessidade existente por diversas organizações, em desenvolver suas próprias aplicações, as quais possibilitariam um melhor acompanhamento do negócio pelos seus diretores e acionistas, a Apple tem trabalhado em um projeto de desenvolvimento de uma Linguagem de Programação, que será capaz de dar uma certa autonomia a estas organizações em desenvolver as suas próprias aplicações de acordo com suas necessidades. Mas fica de alerta a necessidade de capacitação para seus profissionais da área de Tecnologia da Informação.

Na abertura da conferência WWDC2014, a Apple anuncia o desenvolvimento deste projeto de desenvolvimento de uma Linguagem de Programação, a qual será suportada para iOS e OS X, que recebeu a nomenclatura Swift. Swift é uma linguagem de alto nível e será familiar aos desenvolvedores JavaScript, mas é compilada pela LLVM para produzir um código executável de alto desempenho para ambas as plataformas OSX e iOS.
 

O compilador LLVM fornece um conjunto abstrato de instruções, a qual poderá ser convertida em arquiteturas específicas. A apple neste projeto faz uso do Clang para a compilação de aplicações desenvolvidas em C e Objective-C, sendo ambos convertidos para instruçoes LLVM para depois gerarem um executável da plataforma específica.

O Swift possui um ambiente de teste de código no estilo REPL, que normalmente são utilizadas em linguagens interpretadas como JavaScript e Phyton, sendo fornecido um ciclo de leitura-avaliação-impressão para avaliação de expressões individuais ou instruções em linhas de comandos de fácil depuração.

A seguir é apresentado as principais características da linguagem de acordo com Alex Blewitt :

  • "O Swift usa a inferência de tipos para reduzir a quantidade de caracteres digitados pelos desenvolvedores. Tipos podem ser declarados explicitamente, e para tipos numéricos elementos de dimensões específicas como o UInt8 ou Int32 podem ser utilizados. Também é possível usar valores opcionais para tipos. Um valor opcional pode ser usado e referenciado com um ? ou !, dependendo se o tipo esperado existe. As coleções no Swift fornecem suporte literal para arrays (com [ ]) e dicionários/mapas (com [:]), e a tipos genéricos;
  • As funções são elementos de primeira classe na linguagem, e podem ser passadas como variáveis para outros elementos. Os argumentos podem ser nomeados explicitamente (para compatibilidade com nomes dos argumentos do Objective-C), ou passados de forma posicional. Os parâmetros podem ter valores padrões, permitindo a omissão de argumentos.
  • O Swift pode referenciar nativamente objetos Objective-C, tanto em bibliotecas padrões (como a UIKit ou Cocoa), como em tipos definidos pelos usuários. Classes podem ser criadas nativamente (e utilizadas pelo Objective-C); também se pode criar objetos Objective-C, o que é suportado pelo ARC. (A contagem de referência é gerenciada automaticamente pelo runtime; os usuários não precisam se preocupar em fazer o gerenciamento diretamente no Swift).
  • O Swift permite ainda múltiplos tipos de retorno através do uso de tuplas. Essas tuplas podem ser utilizadas através de semântica de correspondências (com o uso da instrução case), ou através da atribuição de variáveis."

A linguagem de programação Swift já se encontra na versão 2.0 e atualmente esta licenciada para código aberto de acordo com uma licença própria para o Swift.

Para maiores informações acesse o link.

Obrigado!!!!!!!!!!!!!!!!!!!!

terça-feira, 9 de junho de 2015

Eficácia de Cursos Online




Atualmente não é novidade para a comunidade acadêmica e civil a permanência em elevado grau da utilização do paradigma de Educação a Distância em vários nivéis da educação, desde cursos técnicos a pós-graduação e não se esquecendo das qualificações coordenadas por empresas aos seus funcionários.

Existe uma grande preocupação principalmente pela comunidade acadêmica, no que diz respeito a qualidade do processo de ensino aprendizagem dos cursos que são ofertados na modalidade de Educação a Distância, pois na maioria das vezes quase todo o esforço fica a cargo do próprio estudante. Neste sentido a concepção de Educação precisa estar clara para os gestores de educação, pois há a necessidade de formar uma equipe qualificada e se possível que tenha alguma experiência no processo de ensino em Educação a Distância.

Um determinado Curso Online deve-se obrigatoriamente passar por um processo de planejamento, pois tem-se alguns componentes que são indispensáveis e que diagnosticarão o sucesso ou fracasso de um Curso Online. Estes componentes são:
A heterogeneidade de discentes é percebida, pois como não há a necessidade do fator presencial portanto tem-se alunos que já tiveram experiência de cursos online até aqueles que nunca tiveram esta experiência e muito menos possui experiência com Tecnologias da Informação e Comunicação. Diante disto pode-se notar que este componente deve ser levado em consideração, com o propósito de tentar fazer com que o curso seja atrativo para o mais variado grupo de alunos, tanto no que diz respeito ao processo de ensino, tanto no ambiente a ser utilizado.

Hoje vive-se a era digital, também denominada a era da Tecnologia da Informação e Comunicação, onde percebe-se que em um período bastante curto há o surgimento de novas Tecnologias de Informação  e Comunicação, as quais tem a finalidade de facilitar determinado processo do dia a dia das pessoas. A partir disto pode-se afirmar com clareza que o principal componente para a eficácia de um Curso Online é a escolha de tais Tecnologias, pois estas terão o objetivo de atrair os discentes para a realização principalmente das atividades, bem como também tornar atrativas e de fácil utilização para os Tutores, os quais estarão em contato permanente com os discentes e também pelo fato de estas Tecnologias serem a ligação entre Tutores e Discentes.

Uma determinada organização seja educacional ou não, que se deseja trabalhar um Curso Online deve-se primeiramente recrutar profissionais qualificados em Tecnologia da Informação, que estão dispostos desde a Infra-Estrutura até a questão de Design dos Sistemas Virtuais de Aprendizagem e de materiais de ensino. Ainda tratando da eficácia de curso online deve-se gerenciar o design, pois este será a única visão e consequentemente gerará um sentimento favorável ou não pelo discente, o que estará favorecendo para a continuidade ou não do discente no curso, bem como na facilidade de executar as atividades pelo ambiente virtual. A professora Liliam Silva discute no artigo "Como Projetar um Curso Online?" a influência que o processo de design pode ter no processo de ensino aprendizagem em Cursos Online.

O processo de Ensino Aprendizagem esta presente tanto em cursos presenciais, tanto nos curso da modalidade de Educação a Distância, em que para os cursos online deve-se planejar em primeira instância os procedimentos de avaliação virtuais e o procedimento da avaliação presencial se houver. Para tanto há a necessidade de se compreender as Tecnologias da Informação e Comunicação adotadas, pois serão com uso e utilização de suas aplicações que serão desenvolvidas estas atividades, bem como a própria leitura textual, auditiva ou até mesmo a visualização de imagens. Lembrando sempre que o objetivo é tornar fácil e atrativa a execução dos cursos online para os discente, talvez seja o maior desafio para a equipe gestora em Educação a Distância.

Obrigado!!!!!!!!!!!!!!!!!!!!!!!!!

terça-feira, 2 de junho de 2015

Redes de Computadores e Comunicação

Atualmente a sociedade esta inserida na chamada "Era Digital", podendo também ser denominada de Sociedade da Comunicação. Pode-se afirmar isto tomando como base o grande avanço da Internet tanto em sua infra-estrutura, tanto em suas aplicações. Um fator positivo para o avanço e popularidade da Sociedade da Comunicação esta ligada diretamente com as novas Tecnologias de Informação e Comunicação, as quais permitem a troca de informação sem se preocupar com tempo e lugar. Exemplos destas TIC's podem ser:
O avanço rápido e crescente destas Tecnologias da Informação e Comunicação possibilita cada vez mais que diversos equipamentos estejam conectados formando vários tipos de redes de comunicação, cujo o objetivo fundamental é permitir a troca de informação. Neste sentido por sua vez há a necessidade de profissionais que seja capaz de auxiliar os usuários de uma rede de comunicação, bem como na sua própria montagem e configuração.

O acesso a informação e aos diversos equipamentos de comunicação faz com que seja necessário que usuários tenham um mínimo de conhecimento possível, pois nem sempre será possível obter auxílio de um profissional qualificado principalmente no que se refere a Rede de Comunicação de Dados. Neste sentido pode-se entender melhor as Redes de Comunicação de Dados respondendo a seguinte questão: "O que é necessário para que uma comunicação possa ocorrer?"

Para que uma comunicação em qualquer Rede de Comunicação de Dados ocorrá é necessário que se tenha a presença de cinco componentes indispensáveis, sendo que a falta de um deles faz com que a comunicação não ocorrá. Os cinco componentes sao:
  • Transmissor  - Componentes responsáveis pelo envio das mensagens em uma comunicação;
  • Receptor - Componentes responsáveis pelo recebimento das mensagens em uma comunicação;
  • Mensagem - Conteúdo a ser enviado na comunicação, podendo ser texto, aúdio, video, imagem;
  • Meio de Transmissão - Representa o meio por onde Transmissor e Receptor são conectados pela Rede de Comunicação;
  • Protocolo - Representa uma convenção que permite aos computadores codificar e decodificar uma dada mensagem 



A comunicação entre dois dispositivos computacionais como os citados anteriormente pode ser realizadas de três formas conforme apresentado na figura abaixo:



A comunicação denominada de Simplex é realizada quando um dispositivo equipado apenas com um transmissor envia a mensagem para outro dispositivo equipado apenas com um receptor. Um exemplo desta comunicação são as rádios AM/FM que transmitem para o rádio de casa ou carro.

A comunicação half-duplex é realizada quando os equipamentos possuem tanto a capacidade de transmitir como de receber, mas só podem transmitir quando nenhum outro equipamento está enviando mensagens, ou seja, o equipamento, ou recebe ou transmite. Exemplos desta comunicação são os controles remotos, Monitor de Computador e etc.

A comunicação duplex ou full-duplex é realizada quando os equipamentos conseguem transmitir e receber ao mesmo tempo, não estando limitados por uma tarefa de cada vez. Um exemplo desta comunicação são as comunicações realizadas entre os dispositivos computacionais que compóe determinada Rede de Comunicação de Dados, como computadores, celulares, tablets, impressoras e etc.

Para mais informações a respeito de Comunicação e Redes de Comunicação de Dados acessem o link.

Abraço!!!!!!!!!!!!!!!!!!!!!!