Uma disciplina do curso de computação do Instituto de Matemática e Estatística da USP (IME/USP) leva alunos da graduação e da pós para um ambiente parecido com o que aqueles que forem para empresas desse nicho encontrarão. Nas aulas de Labortatório de Programação Extrema, os estudantes interagem entre si e desenvolvem um software junto com clientes. Esses programas são feitos a partir de métodos mais ágeis e, por isso, são chamados de "programação extrema".
Na classe, existem vários grupos, sendo que cada um desenvolve um projeto. O professor responsável pela disciplina, Alfredo Goldman, acompanha os alunos, mas os coaches de cada grupo, que são alunos de pós-graduação que já fizeram a disciplina antes, coordenam os projetos mais de perto. Os grupos são divididos de acordo com o interesse de cada um dos alunos pelos projetos que serão desenvolvidos ao longo do semestre.
Muitos dos projetos chegam porque pessoas interessadas em desenvolver software tomam contato com a disciplina e resolvem participar. As aulas acontecem duas vezes por semana e, em pelo menos uma delas, o cliente deve estar presente. "Os clientes não pagam, mas têm que vir e colaborar", explica o professor Alfredo Goldman. Camila Ferreira é da empresa Monashees, um fundo de investimento para empresas voltadas a tecnologia, e procurou o professor Alfredo Goldman depois que teve contato com ele em uma disciplina sobre empreendedorismo. "Venho uma vez por semana e ajudo a desenvolver o projeto, que é uma rede social de negócios", explica Camila.
Outro diferencial da disciplina é que, ao contrário do que acontece quase sempre, os alunos trabalham na programação em grupo, discutindo com outros colegas e com o cliente, e não sozinhos. "Trabalhamos com a interação entre os alunos e o cliente", diz Elaine Watanabe, aluna de mestrado que é coach de um dos grupos da disciplina. Além disso, um dos princípios do curso é a melhoria contínua, ou seja, a cada passo que dão no desenvolvimento do software, discutem o que pode ser melhorado. Os grupos fazem diversas retrospectivas, nas quais falam sobre o que está funcionando e o que precisa ser mudado nas próximas etapas.
Mesmo sendo um laboratório prático, a disciplina consta na grade curricular e precisa ser avaliada. Isto é feito a partir de respostas e avaliações dos clientes e de critérios técnicos, como os códigos que estão sendo desenvolvidos e a forma como os grupos interagem. O produto final é o software, que é entregue para o cliente. "Muitas vezes, não conseguimos acabar tudo em um semestre, mas o mínimo entregue tem que ser útil para o cliente", explica a coach Elaine Watanabe, aluna de mestrado.