Reglas Básicas del Software de Calidad

Preview:

DESCRIPTION

Una breve opinión con respecto a los aspectos minimos del Software de Calidad, realizado para el kick off de MS Influencers 2009 en Perú

Citation preview

Reglas de Software de CalidadJersson Dongo / @jersson

http://geeks.ms/blogs/jersson

Julio 2009

Agenda

• Reglas Básicas• Recomendaciones y Experiencias• Consideraciones Generales• Referencias

Reglas Básicas

• Debe funcionar– Para el usuario

• Debe ser flexible– Reusable/Mantenible

• Debe ser extensible– Nuevas funcionalidades

Debe funcionar

• Pero funcionar para el usuario!– Correcta toma de requerimientos– Comprender lo que necesita• Pensar como el usuario• Complicado no?

Debe ser flexible

• Soporte al cambio– Nombres, etiquetas, parámetros

• Principios básicos de OO• Eliminar código duplicado• Mantenibilidad

Debe ser extensible

• Nuevas funcionalidad– Menor costo

• Principios de OO• Principios de diseño– GRASP– GoF

• Mantenibilidad

Recomendaciones

• Debe funcionar– Correcta toma de requerimientos– Comprender lo que se necesita• Pensar como el usuario• Complicado no?

Experiencias

• Debe funcionar– Correcta toma de requerimientos• Trazabilidad (lo que dice, lo que

entiendes, lo que ambos entendemos)

– Comprender lo que necesita• Prototipo/Power Point

– Presentar avances en periodos cortos• Menor riesgo al cambio (mentira)

Recomendaciones

• Debe ser flexible– Menos duplicidad de código• En realidad no debería existir

– Refactorización– Divide y venceras– POO cuando menos

Experiencias

• Debe ser flexible– Divide y venceras ayuda bastante

pero muchas veces puede convertirse en un vicio

– Lo enemigo de lo bueno es lo perfecto

– La comunicación es MUY importante– Es complicado, pero no cedamos

Recomendaciones

• Debe ser extensible– Modularidad de aplicaciones• Antes de construir, preguntar “el

módulo existe en otro sistema?”

– POO cuando menos– GRASP como base, siempre ayuda– GoF?

Experiencias

• Debe ser extensible– Para que esta capa de servicios?• No todo deberia tener 2463 capas

– La comunicación es MUY importante

– Es complicado, pero no cedamos

Consideraciones Generales!!!• Comunicación es fundamental

• Orden

• Aceptar que siempre puede mejorar

Consideraciones Generales!!!• Aceptar que siempre podemos

aprender

• Aceptar que hay mas reglas!!

• Lo enemigo de lo bueno…

• El martillo…

Referencias

• A pesar de que – La experiencia y el sentido comun

son escenciales– Siempre se requiere una base• Head first Object Oriented Analysis

Design• Code Complete Second Edition• Code Leader

Referencias