Você já teve alguma experiência na qual uma pessoa que não é de TI trabalha com um programador durante o processo de codificação?
É como programação em pares, mas uma pessoa é uma pessoa que não é de TI que conhece muito sobre os negócios, talvez um engenheiro de processos com experiência em matemática que saiba como as coisas são calculadas e possa entender código de procedimento não-idiomático.
Descobri que algumas linguagens processuais específicas do domínio, como PL / SQL, são bastante compreensíveis por engenheiros que não são de TI. Essas pessoas acabam sendo coautoras do código e garantem a correção de fórmulas, fatores etc.
Eu achei esse tipo de programação de pares bastante produtivo, esse tipo de usuário do tipo de engenharia sente que também é "proprietário" e "autor" do código e ajuda a minimizar mal-entendidos no processo de comunicação. Eles até ajudam a projetar casos de teste.
- Essa prática é comum?
- Isso tem um nome?
- Você já teve experiências semelhantes?
fonte
Sim. Onde trabalho, faço o tipo de programação hardcore, enquanto os estrategistas trabalham na estratégia de hum. Ou seja, escrevo os programas que implementam seus modelos de negociação.
A chave para isso é sentar-se ao lado deles e entender exatamente quais são as idéias e fazer muitas perguntas sobre coisas que podem ser incidentais para elas, mas importantes para o lado da execução. Por exemplo, eu perguntaria sobre a rapidez com que uma negociação precisa ser executada, se isso afeta seu modelo. Isso tem um enorme impacto em como escreverei o código. De fato, tenho a tendência de espalhar perguntas para a sala, pois estamos sentados lá trabalhando todos os dias.
Há um feedback bidirecional. Se eu lhes disser que algum esquema de negociação não será fácil de construir, eles voltam e pensam sobre quais trocas podem ser feitas no lado da tomada de decisão. Se eles decidirem que sua nova estratégia precisa de algum novo recurso, eu converso com eles sobre quanto tempo levaria para criar e quais são as possíveis armadilhas.
Eles desenvolvem módulos de código que encapsulam algum aspecto da estratégia de negociação de tempos em tempos, mas eu misturo as peças em uma arquitetura que nos permite acompanhar todas as estratégias diferentes, bem como fazer backend de operações. Dessa forma, eles não precisam conhecer o âmago da questão do sistema.
fonte