Lembrei de requisitos para um sistema de ticket/central de serviços que seria mais ou menos assim:
Como decompor o problema?
Verificar e analisar os tipos de solicitações e categorizá-las em áreas específicas de atendimento para dividi-las em partes menores, em seguida decompor em subcategorias.
É possível reconhecer padrões nos pedidos?
Sim, de acordo com a frequência em que os problemas relatados se repetem e para quais aŕeas estão relacionados, qual o perfil de usuário que fez as solicitações e se constuma abrir o mesmo pedido com frequência.
Que tipo de abstrações pode ser criadas para simplificação do fluxo?
Tela para escolha da área e subárea de atendimento com descrições de cada serviço para que o usuário envie seu pedido a que tiver maior relação com o que está precisando resolver, permitindo anexar prints, arquivos. Tela de acompanhamento para comentários durante o atendimento. Botões para alteração de status do atendimento e encerramento, além de avaliação do atendimento com pontuação. Formulário com filtros para selecionar os chamados de acordo com a área de cada atendente, buscando por status, data, etc.
É viável criar um algoritmo para lidar com cada tipo de solicitação?
Sim, creio que ao identificar os padrões das solicitações, poderíamos criar um algoritmo para cada área de atendimento definindo os métodos auxiliares para cada subárea e assim classificando-os automaticamente, distribuindo a área responsável. Bem como fazer com que para cada área exiba apenas os chamados relacionados a ela.