Design Patterns: Afinal, o que são?

Resultado de imagem para Design Patterns software

Design Patterns: Afinal, o que são?

Esse é um tema que geralmente é ignorado em nosso dia a dia de desenvolvedor, seja por falta de conhecimento ou pelo simples fato de não sabermos realmente do que se trata.

Todo software possui um ciclo de vida e em determinado momento alguma modificação acontecerá, seja pela implementação de novas funcionalidades ou correção de bugs. Porém, a realização dessas mudanças sem um bom planejamento pode acarretar em problemas como códigos repetidos, classes altamente acopladas, códigos extensos com muitas responsabilidades prejudicando assim a modelagem do sistema.

Para evitar e também solucionar esses problemas é que os Design Patterns surgiram, mas antes de explica-los, vamos saber da sua origem. Os Design Patterns, ou Padrões de Projetos, ficaram conhecidos depois do lançamento do livro “Design Patterns: Elements of Reusable Object-Oriented Software”, publicado por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides e que ficaram conhecidos por Gang of Four, ou simplesmente GoF.

Design Patterns são um conjunto de ideias que auxiliam na modelagem e na solução de problemas durante o desenvolvimento do software. Além do mais, essas ideias já foram testadas e aprimoradas ao longo dos anos, nos dando total segurança em utiliza-las. Os Design Patterns não são códigos prontos onde é possível reaproveitar em diferentes aplicações, e sim um modelo de solução de problemas.

Outro ponto interessante é que sua utilização não é restrita a uma determinada linguagem de programação, podendo ser aplicados em conjunto com diversas linguagens existentes no mercado.

O livro citado lista diversos padrões para serem utilizados onde cada padrão exemplifica um problema e sua respectiva solução.

Os Design Patterns são divididos em 3 grupos:

  1. Creational Pattern (Padrões de criação): Tratam da criação de objetos.
  2. Structural Pattern (Padrões estruturais): Tratam da relação entre classes e objetos.
  3. Behavioral Pattern (Padrões comportamentais): Tratam das interações e da divisão de responsabilidade entre as classes.

O uso dos Design Pattern apresenta vários benefícios para o software. Dentre eles, podemos citar:

  1. Organização do projeto todo, pois a padronização é uma das premissas.
  2. Fácil manutenção, pois os pattern prezam o baixo acoplamento entre as classes e a alta coesão, de forma que novas implementações possam ser feitas sem muitos problemas.

Com esses benefícios, concluímos que o uso dos patterns auxilia na simplificação e qualidade do código, porém, precisamos refletir quanto ao seu uso em toda e qualquer situação, pois não são todos os problemas que necessitam realmente do uso de algum pattern, e para identificar esses casos, é necessário uma análise antecipada.

É bom ressaltar que uso sem necessidade dos Design Patterns pode acarretar em complexidade desnecessária do código.

Outro ponto importante é que para o desenvolvimento de alguns patterns, é necessário um conhecimento profundo em Orientação de Objetos (OOP).

Então fica um conselho, antes de se aprofundar nesse tema, sugiro que reforçe primeiramente seus conhecimentos em OOP para depois prosseguir com segurança seus estudos.

Até mais!!!

Go to the profile of Renicius Pagotto Renicius Pagotto (Desenvolvedor Tegra)

Propósito como guia para uma empresa tornar-se única

A seta o alvo como analogia para o propósito
A seta o alvo como analogia para o propósito

O mundo tem aproximadamente 300 Milhões de empresas. Só no Brasil, são mais de 2 Milhões delas. Na área de tecnologia da informação, o Brasil tem mais de 15 mil empresas, com crescimento anual de 30%. Nesta imensidão, tornar-se uma empresa única é um trabalho bastante complexo.

Mas você pode estar se perguntando, por que ela deve ser única?

Somos únicos

Existem pessoas idênticas entre as mais de 8 Bilhões que existem no mundo? Não. Mesmo os gêmeos idênticos possuem características únicas. Empresas são organismos individuais, formadas por pessoas, o que as tornam únicas.

Podemos fazer a analogia de que as pessoas estão para as empresas assim como as células estão para o corpo.

Mas a grama do vizinho é sempre mais verde

É muito comum ouvir frases assim:

A Apple é a empresa inovadora por que tem um dia livre para o colaborador fazer o que quiser.

No Google as pessoas não tem hora para entrar no trabalho, podem levar seus cães e tem comida a vontade.

No Facebook as pessoas tomam cerveja no expediente, penduram suas bicicletas no teto e podem escolher qualquer tecnologia que vão utilizar em seus novos projetos.

E não há nada de errado nestas frases. O impacto está em ser uma prática comum, empresários quererem copiar estas frases e aplicar no dia a dia de suas empresas sem considerar alguns pontos:

  • Até que ponto a frase sobre a Apple, Google ou Facebook é verdadeira?
  • Minha empresa tem uma cultura que permita a aplicação destas práticas?
  • Quais objetivos serão alcançados com tais práticas?

Ao aplicar as práticas de outras empresas sem considerar a individualidade da sua, em geral, o resultado é uma frustração generalizada por todo o ecossistema da empresa: empresário, colaboradores, fornecedores e clientes.

O que é o propósito?

No livro O velho e o menino de Roberto Tranjan, fundador da Metanóia, o curso da história mostra o caminho para a criação de um propósito e os passos percorridos, considerando o diálogo entre o Velho Taful e o Aladim (apelido dado ao personagem).

Uma definição dada pelo Velho Taful é que o propósito é aquilo que colocamos a frente e que tem origem em nossos desejos e anseios.

Com um propósito definido, que não precisa ser imutável, mas sempre lapidado, a empresa, organismo vivo composto por pessoas, passa a ter uma direção.

No decorrer desta direção, as “regras de conduta” vão sendo criadas e estabelecidas.

O conjunto de propósito + “regras de conduta” (valores) forma uma cultura.

Meu propósito pode ser o dinheiro?

Sim, pode. Porém, em minha visão se o propósito for este, ele acaba sendo insustentável ao longo do tempo e não gera uma empresa única.

O dinheiro é a consequência de uma relação em que todos os envolvidos saem melhores do que quando entraram, e isto acaba sendo cada vez mais difícil de ser alcançado se o objetivo final for o dinheiro exclusivamente.

E a concorrência?

O mercado é amplo e há espaço para todos.

Se mudarmos nossa visão para entender o mercado desta forma, a concorrência deixa de existir e da lugar ao equilíbrio das relações (assunto que quero detalhar no próximo texto).

A diferenciação e posicionamento de uma empresa, que a torna única, é que forma as relações ricas (no sentido que todos envolvidos percebem o crescimento que elas geram).

Qual é o propósito da sua empresa?

O propósito é a fonte de inspiração para construção de uma cultura consistente, onde percepção e realidade são muito próximas, gerando a empresa única.

Qual é o propósito da sua empresa?

Tegra

O varejo precisa de inteligência!

O varejo precisa de inteligência!

O varejo de uma forma ampla é composto de muitas operações de grande complexidade e que tomam todo o tempo de sua gestão e staff. Operações como:

  • Definir o mix correto de produtos
  • Comprar bem: produtos certos nas quantidades certas
  • Precificar adequadamente
  • Otimizar sua cadeia logística, interna e externa
  • Prevenir rupturas
  • Controlar validade de produtos
  • Fidelizar o cliente
  • E muitas outras operações

O grande problema é que diante de tantas operações, margens apertas, grande concorrência e tudo isto em uma velocidade altíssima de mudanças, fica difícil tomar decisões inteligentes.

O que mais ocorre é que as decisões e ações são tomadas baseadas na experiência e no “feeling” dos gestores e coordenadores.

Muitas vezes, problemas que estão escondidos nos números, somente acabam por serem conhecidos pelos gestores de uma empresa quando se é muito tarde, resultando em grandes prejuízos e muitas vezes na falência de uma empresa.

Sim, o varejo precisa muito de inteligência

O dono de um negócio e seus gestores precisam não somente de dados e informações mas, precisam de inteligência!

Existem vários sistemas que dão o total de vendas, o custo operacional, as despesas por centro de custo e até mesmo a produtividade dos colaboradores. Diante destas informações, quais ações tomar?

Além de definir as ações, em qual prioridade executá-las?

É preciso estratégia

Esta semana li o artigo do Steve Blank de título: Strategy Is Not A To Do List. Nele, Steve conta a história de dois ex-alunos que estavam iniciando uma startup, e, para validar suas hipóteses buscaram definir a partir de volume de dados, o público alvo, preço, aderência, etc.

Steve se animou até que eles disseram: “e vamos lançar nosso produto em 3 semanas”. Steve questionou: “mas vocês já conseguiram validar suas hipóteses” e eles responderam “não, ainda precisaremos de alguns meses para valida-las, mas nossos investidores acreditam que não devemos perdermos o timing do mercado”.

Para Steve eles estavam tratando o momento de entender o contexto que estavam inseridos como apenas um checkpoint e não dando o devido tempo para elaborar uma estratégia.

E quantos negócios que, em resposta a uma pressão do chefe, acabam fazendo ações sem planejamentos, sem definição de meta, cronograma; simplesmente fazem por fazer?

Estratégia: o bom e velho PDCA

Estratégia tem a ver com a capacidade de analisar a situação atual, de preferência baseado em números, e planejar alternativas para manter os bons indicadores e melhorar os não tão bons assim.

A partir disto, desenvolver processos, lista de tarefas e pontos de checagem na linha do tempo com indicadores de meta.

Os pontos de checagem, muitas vezes deixados de lado devido a correria do dia a dia, são de extrema importância para saber se as ações planejadas estão sendo feitas e se os resultados almejados estão sendo alcançados.

E este ciclo deve se repetir continuamente com periodicidade mediana (não muito curta nem muito longa, variando para cada tipo de negócio) para que o estímulo necessário para cada novo ciclo possa ser alcançado.

Mas e a parte da inteligência?

Inteligência tem a ver com analisar os dados e baseado em dados históricos (meses de anos anteriores e indicadores de referência do segmento) gerar uma base de ações que são utilizadas como apoio para as ações atuais.

O grande problema, em especial dos pequenos e médios varejistas, é que nem mesmo o “arroz com feijão” é feito de forma adequada, ou seja, operações triviais não são planejadas.

Muitos tem sistemas, tem ferramentas, até mesmo consultorias externas, mas com o tempo, acabam se “perdendo”.

Gestão na palma da mão

O dono, CEO, gerente e todo o time da empresa precisa ter, cada qual limitado a sua função e região, os indicadores principais da operação:

Diagnósticos:

  • Classificação ABC
  • Cadastros ativos sem movimento

Estoque

  • Estoque abaixo do minimo
  • Ruptura
  • Excesso
  • Virtual
  • Negativo

Financeiro

  • Venda
  • Ticket Medio
  • Margem Bruta
  • Descontos
  • Acompanhamento de promoção

Operações

  • Cliente atendidos
  • Performance de balconista
  • Inventário Rotativo

E outros indicadores que sejam importantes para a análise da saúde da empresa.

Muitas vezes a empresa possui BI que permite que o usuário possa confrontar dados, realizar análises, sendo que se os indicadores básicos estiverem sendo monitorados já é suficiente.

Conclusão

Eu acredito que o varejo é uma área muito dinâmica e que suas operações são muitas e de grande complexidade.

O varejo muitas vezes possui muitas ferramentas, porém pouca inteligência histórica para auxílio na tomada de decisão.

É importante que o gestor da empresa tenha na palma da sua mão os números principais que indicam a saúde da empresa e permita que ações possam ser tomadas com base em dados.

Conheça o GO Analytics

O GO Analytics é a ferramenta de gestão na palma da mão móvel da Tegra.

Conheça:

Alertas inteligentes e pró-ativos
Indicadores agrupados por região para visão da alta gestão
Indicadores por loja
Indicadores detalhados em tempo real
Análises comparativas por dia semana, mês e ano

Saiba mais em http://govarejo.com.br/

Até a próxima!

Quais são os valores que norteiam sua empresa?

Quais são os valores que norteiam sua empresa?

Valores da Empresa
Valores da Empresa

Todo empreendedor quando monta sua empresa sonha em torná-la grande e com sucesso.

Para isto, ele dedica seu tempo, sua energia e toda sua criatividade para fortalecer seu negócio, conquistar mais clientes, estabelecer-se como uma empresa sólida.

No entanto, este crescimento requer que mais pessoas façam parte da empresa, e, cada uma destas pessoas carrega consigo crenças, expectativas, formas de pensar e tantos outros fatores que, se não tiverem uma direção, podem trilhar um caminho diferente do que o esperado.

Uma das formas que direcionam nossas pessoas é o PROPÓSITO da empresa, que em poucas palavras, é o objetivo maior da empresa.

Outro fator de direcionamento é a VISÃO da empresa, que de forma mais palpável, descreve onde se quer chegar e quando.

Porém, para se atingir este PROPÓSITO e a VISÃO da empresa, existem vários “caminhos”:

  • Caminhos mais rápidos
  • Caminhos mais sólidos
  • Caminhos ilícitos
  • Caminhos inescrupulosos
  • Caminhos mais flexíveis
  • Entre outros

Imagine que sua empresa consiga atingir a VISÃO almejada mantendo o PROPÓSITO inicial, porém pagando propinas, extorquindo fornecedores e prejudicando ilicitamente os concorrentes; talvez seja um preço alto a ser pago para se atingir tais objetivos.

Daí nasce os VALORES.

VALORES são as “regras do jogo”; ou seja: é o conjunto de características de uma determinada pessoa ou organização, que determinam a forma como esta se comporta e interage com outros indivíduos e com o meio ambiente.

Na Tegra, nossos valores são os seguintes:

  • Melhoria Contínua
  • Produtividade
  • Comprometimento
  • Gerar Soluções
  • Gostar de Problemas Complexos
  • Diálogo
  • Ambiente Agradável
  • Auto-organização
  • Transparência
  • Diversidade
  • Consistência
  • Responsabilidade Social
  • Faça!

Eles são nossos norteadores em vários momentos diários:

  • tomada de decisão
  • priorização entre projetos
  • relacionamento com clientes e fornecedores
  • composição de nossos times

Os valores de uma empresa precisam ser sólidos e especialmente vivenciados no dia a dia, desde o diretor da empresa à todos os demais, colaboradores e terceiros.

Uma definição mais informal sobre valores é a seguinte:

Valor é aquilo que é praticado quando ninguém estiver te vendo

É muito importante a renovação destes valores periodicamente, pois a empresa, como um órgão vivo que é, requer mudanças e adaptações.

O importante é garantir que estes valores sejam permeados por todos os níveis da empresa, pois são eles que vão garantir que as pessoas certas componham seu time.

Um momento em que os valores faz muita diferença é no processo de seleção e contratação de uma nova pessoa para compor seu time.

Muitas vezes encontramos pessoas com uma capacidade técnica excelente, com grandes contatos comerciais ou ainda o advogado mais competente da região para compor seu time, mas seus valores são incompatíveis com os da sua empresa. Em um cenário deste tenha certeza: NÃO CONTRATE ESTA PESSOA.

Capacidade técnica pode ser adquirida; relacionamentos comerciais podem ser construídos; competência o próprio tempo irá demonstrar, porém VALORES são muito mais difíceis de serem assimilados.

Encerro este post discordando de Maquiavel: “os fins NÃO justificam os meios”.

Até a próxima!

1-iTcWNGWDpvJWCKvMNX2W2A

1ª Edição do Rails Girls em Sorocaba 

Nessa sexta-feira (23/06) e sábado (24/06) aconteceu a 1ª edição do Rails Girls em Sorocaba.

O Rails Girls é um evento de dois dias sem fins lucrativos que acontece no mundo inteiro e é destinado à mulheres de todas as idades que tem como objetivo oferecer uma grande primeira experiência em desenvolvimento de software.

A Tegra foi uma das apoiadoras do evento. Nós também apoiamos e contribuimos para outros movimentos como estes na comunidade, pois sabemos o quão importantes são essas ações para comunidade de TI aqui de Sorocaba.
Continue lendo 1ª Edição do Rails Girls em Sorocaba 

kibank_time2

Equipe Tegra é finalista do Hackathon Ciab

O que é o Hackathon Ciab?

O Hackathon Ciab é a primeira iniciativa da FEBRABAN visando o engajamento com a comunidade empreendedora no desenvolvimento de ferramentas e soluções para os principais desafios do mercado bancário.

Trata-se de uma maratona de desenvolvimento e programação que aconteceu nos dias 03 e 04 de junho (de forma ininterrupta).
Continue lendo Equipe Tegra é finalista do Hackathon Ciab

arte-estagio

Programa de Estágio 2º Semestre/2017 – Vagas Abertas

Você tem sede por aprendizado e quer ir além colocando em prática o conteúdo visto na faculdade? Gosta de programar, aprende com facilidade e tem boa leitura em inglês? Então, queremos você!

A Tegra está a procura dos melhores estagiários a fim de transformá-los nos melhores profissionais de Sorocaba e região.

Continue lendo Programa de Estágio 2º Semestre/2017 – Vagas Abertas