O software sob medida, também conhecido como software personalizado em alguns casos, é um conjunto de aplicativos ou software projetado e criado especificamente para atender aos requisitos de uma empresa, organização ou usuário final individual. O nível de customização aplicado a esses pacotes de software personalizados os distingue dos pacotes de software gerais disponíveis comercialmente. Um desenvolvedor de software sob medida é a equipe ou indivíduo encarregado da criação desses aplicativos de software personalizados.
Como parte de uma empresa de desenvolvimento de software existente ou como um contratado individual, espera-se que os desenvolvedores de software sob medida se familiarizem com o estilo operacional do usuário final ou da organização. Como geralmente haverá apenas um cliente para o qual o software está sendo desenvolvido, haverá várias etapas de desenvolvimento que o desenvolvedor de software personalizado precisa atender. Depois que cada estágio do desenvolvimento for concluído, testado e analisado para obter as melhorias necessárias, a próxima fase do desenvolvimento poderá começar.
Uma solicitação para desenvolver software sob medida é geralmente recebida de organizações maiores, onde software personalizado é usado para gerenciar processos operacionais, inventário, recursos e financeiros, conforme necessário. À medida que o software é desenvolvido, um desenvolvedor de software personalizado precisa estar preparado para incorporar alterações no resumo do projeto original. O início do desenvolvimento de uma tela em branco e a adaptação do pacote para solucionar problemas geralmente tornam o desenvolvimento de software personalizado um processo mais focado do que o envolvido na criação tradicional de pacotes de software.
O requisito de software personalizado geralmente decorre da falta de um pacote de software comercial existente adequado para atender às necessidades do usuário final. Nesse caso, espera-se que um desenvolvedor de software sob medida inove, cobrindo novos campos no sentido de software para garantir que os requisitos definidos para o pacote sejam alcançados. Os clientes também procuram conselhos do desenvolvedor sobre a melhor forma de atingir seus objetivos no pacote de software. É nessa área que o desenvolvedor precisa entender as práticas operacionais de trabalho do usuário final.
Ocasionalmente, requisitos específicos de funcionalidade se tornam aparentes à medida que o pacote de software está sendo usado. Quando isso acontece, o desenvolvedor deve estar em posição de reajustar o software criado para realizar as alterações necessárias. Nesta área, o papel de desenvolvedor de software sob medida difere de uma posição mais tradicional de desenvolvimento de software. A natureza fluida do processo de criação e as melhorias contínuas para atender às necessidades específicas do cliente, em vez de melhorias generalizadas, ou correções, para corrigir erros do programa, conferem ao desenvolvimento personalizado uma sensação muito mais envolvente e pessoal.