Reglas Básicas del Software de Calidad

Post on 01-Jul-2015

2.909 views 0 download

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ú

Transcript of Reglas Básicas del Software de Calidad

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