1. Esta pregunta es la razón principal por la cual la ingeniería de software existe como disciplina en sí misma.
2. Escriba para la reutilización (la misma lógica de negocios se puede reutilizar muchas veces cuando se divorcia de la IU, por ejemplo)
3. Haga la menor cantidad posible de suposiciones (pero no el punto de generalización prematura)
- ¿Cómo sabe una compañía de software si su software ha sido pirateado?
- ¿Cuál es el mejor sistema de gestión de traducción de código abierto?
- Cómo usar Jira con múltiples clientes en un entorno no solo utilizado para vender software
- ¿Qué es un buen programa de software para realizar ediciones de una copia fotográfica de un documento?
- ¿Qué se necesita para crear un navegador web desde cero que funcione en una Mac?
4. Construya redes de seguridad para que nunca vaya “hacia atrás” (deshaga cosas que parecían funcionar pero que no funcionan) siendo las redes de seguridad principales la gestión de cambios (también conocido como control de versiones en sus formas diluidas), compilación / prueba / liberación automáticas sistema y pruebas automatizadas
5. Cuando sea posible, escriba su código para que sea portátil y, si trabaja en un lenguaje orientado a objetos, encapsule cualquier material específico de la plataforma en su propio módulo
6. Siempre busque formas de mejorar su proceso de desarrollo. El enfoque aquí debería estar en la productividad individual medida por la expectativa de vida de cualquier 1000 líneas de código que escriban. Por ejemplo, el nuestro es relativamente alto en 2.5 años más o menos para el código específico del dominio y más de 5 años (más largo que el historial de nuestra compañía) para el código de la biblioteca y la utilidad.