La estimación de costos en ingeniería de software generalmente se relaciona con el gasto financiero en el esfuerzo de desarrollar y probar el software, esto también puede incluir la revisión de requisitos, el mantenimiento, la capacitación, la administración y la compra de equipos, servidores y software adicionales. Se han desarrollado muchos métodos para estimar los costos de software para un proyecto determinado.
Los métodos de estimación en ingeniería de software incluyen estos principios:
La mayoría de las técnicas de estimación de costos de desarrollo de software implican primero estimar o medir el tamaño del software y luego aplicar algún conocimiento histórico del costo por unidad de tamaño. El tamaño del software generalmente se mide en SLOC , puntos de función o puntos de historia ágiles .