Computadores estão presentes no nosso dia-a-dia em praticamente todas as nossas atividade, seja no trabalho, para estudar ou nos momentos livres como forma de entretenimento. É difícil imaginar um dia sem nenhum contato com um computador (ou celular, smart tv, videogames…) porém, ele sozinho não atende nossas necessidades.
Precisamos dos programas que são executados e é ai que entram os desenvolvedores de software. Mas calma lá, o que é software? Para diferenciar hardware de forma didática podemos dizer que um é o “corpo” do computador – é a parte que existe no mundo físico, são os chips e outros componentes eletrônicos – e o outro é a “mente” do computador – ele define quais operações o hardware deve executar para obter resultado. O software também pode ser conhecido como um programa, e dai vem a palavra de programadores, aqueles que os programam.
Com isso chegamos na ShowCase PRO e a nossa equipe de desenvolvimento, enquanto a equipe de operações é responsável pelos serviços da ShowCase (como produção de closed caption e audiodescrição), nós do desenvolvimento trabalhamos para criar, desenvolver e melhorar nossos produtos. Estes produtos podem ser externos, destinados à venda para nossos clientes, ou internos – que visam dar suporte à produção da área de operações. Nossos maiores clientes, tanto para produtos quanto para serviços, são emissoras de TV. Por isso os produtos externos são criados para atender as necessidades destes clientes, como codificadores de sinais digitais (família de produtos XDA e Sentinel) e multiplexação (IFN100).
Nossos produtos internos tem como objetivo auxiliar os operadores em suas tarefas, como a produção, envio e controle de atividades de closed caption ao vivo (XON75), legendas e roteiros de áudio descrição (BobGuaraná). Todos estes produtos são criados com um objetivo: suprir uma necessidade do cliente, seja ele interno ou externo. Por isso o nosso principal trabalho na área de desenvolvimento é entender estas necessidades, pensar em como melhor supri-la, priorizar as partes mais importantes de serem atendidas e então implementar esta solução, de forma que ela atenda à necessidade inicial de forma simples, confiável e mais eficiente do que qualquer solução que existisse anteriormente.
É comum existir uma divisão entre programação frontend (lida mais com a interface, apresentação e usabilidade do produto) e backend (lida mais com as regras e negócio e estruturação do programa). Como somos uma equipe relativamente pequena, é importante que todos tenham uma certa flexibilidade para transitar entre as duas áreas (e as tecnologias e ferramentas de cada uma), ainda assim alguns dos colaboradores tem mais conhecimento do frontend e outros do backend. Esta necessidade por flexibilidade alias aos diferentes conhecimentos de cada membro da equipe intensifica a colaboração e o trabalho em equipe dentro do time de desenvolvimento de software da ShowCase.
Para começar um novo projeto de desenvolvimento, nós procuramos sempre partir de um problema que queremos solucionar ou um processo que desejamos otimizar. Uma vez que esta necessidade foi identificada, uma equipe é formada para começar o desenvolvimento da solução. Depois de formada a equipe, o primeiro passo para o trabalho é analisar com cuidado o problema, elaborar possíveis soluções e planejar os aspectos gerais do produto, com uma solução delineada e um plano geral formado, a equipe começa de fato desenvolver o produto.
Manter a comunicação interna constante é essencial para avaliar o progresso do projeto e realizar alterações no planejamento quando necessário, é importante manter certa flexibilidade quanto ao planejamento pois é comum surgirem mudanças nos requerimentos, limitações de tecnologia ou ideias melhores para solucionar o problema, manter-se muito rigidamente à um plano inicial pode resultar num produto que não atende tão bem à necessidade para a qual ele foi criado. Reforçando a importância de ser flexível, até mesmo a formação das equipes pode mudar ao longo do seu desenvolvimento, com colaboradores entrando, saindo ou sendo comutados de projetos conforme as necessidades surgem, prioridades se modificam e outro projetos são iniciados e finalizados.