You are on page 1of 6

1

Aplicacin de buenas prcticas


en un proyecto retomado
Autor: Juan Pablo Sadoly

Abstract -- Cuando un proyecto concluye antes de llegar a gran dependencia a esa persona, con los problemas que eso
su fin, alguien con mejores intenciones debe retomarlo. Sin acarrea.
embargo, debe ser necesario actuar en base a las lecciones E. Riesgos
aprendidas de los fracasos anteriores, vislumbrando En el staff de consultores, hay analistas que son
buenos resultados acompaados de buenas prcticas de funcionales puros y no poseen experiencia en escribir
Ingeniera de Software. Este documento brinda un requerimientos tcnicos ni de analizar tcnicamente los
conjunto de estrategias solucin a problemas comunes que programas existentes.
se presentan en esta situacin. F. Testing
Los casos de prueba fueron confeccionados por una
Palabras ClavesIngeniera en Requerimientos Calidad empresa tercerizada experta en Testing en varias tecnologas,
Coaching Conocimiento Elicitacin sin embargo, no en el entorno requerido para este proyecto, lo
que implic la prdida de valioso tiempo en explicaciones por
I. INTRODUCCIN parte de los analistas, que no fue contemplado como una
actividad dentro del proyecto. Esto acarre como consecuencia

L A empresa automotriz fue fundada en el ao 1898 en


Francia y se dedica a la fabricacin y venta de vehculos.
sta cuenta con ms de 3000 empleados en Argentina, 2000 en
que el analista funcional realice la tarea de revisar y corregir
los CP en algunos pocos minutos echando una revisin rpida.
Esto le quita calidad a los casos de prueba.
Crdoba y el resto en la cede de Capital Federal. El rea de G. Factory
sistemas posee mas de 60 empleados, los cuales el 50% son En la etapa de desarrollo y programacin, se encontraron
tercerizados. numerosas idas y vueltas con los programas que fueron el
resultado de los requerimientos pobres enumerados
II. CASO DE ESTUDIO anteriormente.

Este trabajo se bas en la evaluacin de la situacin actual de III. MARCO TERICO


un proyecto de sistemas que abarca parte del rea comercial, y
que viene desarrollndose desde el ao 2007 donde el A. Coaching: El coaching es una disciplina para el
proyecto fue tomado por una consultora B sin poder aprendizaje y el desarrollo, un proceso que ayuda a las
concluirlo, y que ahora pas a manos de empleados de la personas a avanzar hacia sus metas, un intercambio
compaa. En el transcurso pasaron muchos consultores, y de opiniones y observaciones para generar resultados
varias empresas consultoras, y an se encuentra en desarrollo. previamente acordados, un proceso de inspiracin y
Se realiz un conjunto de entrevistas (Anexo I) y como servicio a otros, que les ayuda a encontrar el mejor
consecuencia se detectaron los siguientes problemas: camino hacia su propio desarrollo. [1]
A. Comunicacin B. Elicitacin: Es el proceso de adquirir (eliciting)
La comunicacin entre el analista y el usuario, no es la [sonsacar] todo el conocimiento relevante necesario para
adecuada, ya que no presenta buena predisposicin para las producir un modelo de los requerimientos de un dominio
entrevistas, pues se encuentra cansado de "repetir" lo mismo a de problema, cuyo objetivo consiste en entender el
los distintos consultores que fueron pasando de anteriores dominio del problema en particular. [2]
proyectos, sin llegar a ver un horizonte claro.
B. Elicitacin pobre
C. Reingeniera: es la revisin fundamental y el
La definicin tcnica se desarroll en base a una rediseo radical de procesos para alcanzar mejoras
definicin funcional que no es la apropiada. espectaculares en medidas crticas y contemporneas de
C. Reingeniera rendimiento, tales como costos, calidad, servicio y
La definicin funcional final, result ser un reflejo del rapidez. [3]
funcionamiento del sistema actual, sin dejar lugar a una D. Gestin del conocimiento: sta ha surgido como una
mejora de los procesos propuestos por el nuevo sistema ERP, disciplina cuyo objetivo se centra en generar, compartir y
ya que existe una resistencia muy fuerte al cambio. utilizar conocimiento existente en un espacio u
D. Conocimiento organizacin determinada para contribuir a dar solucin a
Al tener definiciones pobres, los analistas consultan las necesidades de los individuos y el desarrollo de las
recurrentemente al Sper Analista que posee ms comunidades. [4]
conocimiento tcnico y del negocio, que ellos. Esto genera una
1
2

E. Ingeniera de Requerimientos: comprende todas las en cuenta que quizs la explicacin que obtenga no
tareas relacionadas con la determinacin de las sea del todo completa, ya que pueden omitirse
necesidades o de las condiciones a satisfacer para un definiciones importantes por parte del usuario, dado
software nuevo o modificado, tomando en cuenta los que como ya lo ha explicado anteriormente y no
diversos requisitos de los inversores, que pueden entrar debera volver a explicarlo.
en conflicto entre ellos. [5] c. El analista detecta que hay riesgos en los
F. ERP: Los sistemas de planificacin de recursos de la requerimientos ya que en ocasiones, no son
empresa (Enterprise Resource Planning) son sistemas de explorados en profundidad, o el usuario no provee la
gestin de informacin que integran y automatizan informacin necesaria, llevando a un requerimiento
muchas de las prcticas de negocio asociadas con los inconcluso que puede derivar en un gran iceberg. En
aspectos operativos o productivos de una empresa. Los requerimientos funcionales, se pueden cometer slo
objetivos principales de los sistemas ERP son: tres tipos de errores bsicos:
optimizacin de los procesos empresariales; acceso a Olvidar un caso de uso.
informacin confiable, precisa y oportuna; compartir Definir inadecuadamente lo que debe hacer el
informacin entre todos los componentes de la sistema durante un caso.
organizacin; eliminacin de datos y operaciones Implementar mal un caso de uso.
innecesarias y reduccin de tiempos y de los costes de los Los siguientes atributos son fuentes potenciales de
procesos; entre otras. [6] riesgos en requerimientos:
Complejidad.
G. Prototipos: El prototipado de requerimientos es la
Dificultad.
creacin de una implementacin parcial de un sistema, Factibilidad.
para el propsito explcito de aprender sobre los Novedad.
requerimientos del sistema. [7] Posibilidad de verificacin.
H. Testing: es el proceso de ejecutar un programa con la Volatilidad.
intencin de encontrar defectos. Es un proceso
destructivo que determina el diseo de los casos de ii. Soluciones
prueba y la asignacin de responsabilidades, para tratar El manejo interpersonal puede ser tratado a travs del
de encontrar defectos en un programa. [8] Coaching, considerado hoy en da sumamente importante
I. Gestin de Requisitos: es el conjunto de actividades para cualquier organizacin, ya que:
que ayudan al equipo de trabajo a identificar, controlar y Facilita que las personas se adapten a los cambios de
seguir los requisitos y sus cambios en cualquier manera eficiente y eficaz.
momento. O sea, bsicamente, consiste en gestionar los Moviliza los valores centrales y los compromisos del
cambios a los requisitos acordados, las relaciones entre ser humano.
ellos, las dependencias entre la Especificacin de Estimula a las personas hacia la produccin de
Requisitos del Software (ERS) y otros documentos resultados sin precedentes.
producidos por el proceso de desarrollo de software. Esta Renueva las relaciones y hace eficaz la comunicacin en
actividad asegura la consistencia entre los requisitos y el los sistemas humanos.
sistema construido (o en construccin). Consume grandes Predispone a las personas para la colaboracin, el
cantidades de tiempo y esfuerzo. Abarca todo el ciclo de trabajo en equipo y la creacin de consenso.
vida del producto. [9] Destapa la potencialidad de las personas,
permitindoles alcanzar objetivos que de otra manera son
IV. DESARROLLO considerados inalcanzables.
Por lo expuesto se propone:
El desarrollo de este documento se bas en encontrar 9 a. Generar un programa para el desarrollo de la
problemas del caso de estudio para luego referenciar una Inteligencia Emocional, en consonancia con la cultura
solucin tcnica basada en conceptos tericos, una solucin deseada, lo que permitir un cambio en los niveles
tcnica y otra intuitiva que dio origen a la bsqueda. Por ms profundos de esta provocando transformaciones
cuestiones de extensin y agrupamiento, la lista se resumi a paradigmticas a nivel personal y organizacional, y
tan slo 5 problemas: permitiendo una modificacin ms real y duradera en
los comportamientos.
A. Inteligencia Emocional b. La gestin del conocimiento, que se desarrollar en el
i. Problemtica punto [C], brindar un gran aporte al seguimiento de
a. Los analistas funcionales rotan constantemente, esto los temas definidos por el usuario y le proveer
no permite tener una continuidad de las entrevistas conocimiento a los analistas funcionales, evitando as
con el usuario, y por lo tanto lo desmotiva y siente que el usuario deba repetir sus requisitos.
que pierde el tiempo con cada uno. c. Hay varias tcnicas para encontrar errores en
b. Al hablar de cierto tema que el usuario ya ha requerimientos. Las principales son:
explicado numerosas veces, el funcional debe tener

2
3
Definir los casos de testing del sistema a partir de las tareas y los objetivos del negocio. El equipo
de los requerimientos. Ver tema Testing. tambin debe realizar pruebas de uso con usuarios
Revisar las especificaciones. que no hayan participado en el proceso de diseo. El
Hacer prototipos. Ver Tcnicas de Elicitacin producto real final tendr la esencia de la interfaz
Validacin: La validacin de requerimientos diseada por el equipo, y como resultado se
demuestra que el requerimiento est correctamente demostrar que satisface los objetivos del sistema y
definido. que la funcionalidad requerida satisface las
Verificacin: La verificacin demuestra que el expectativas.
requerimiento est implementado correctamente. c. Ingeniera de Requerimientos propone hacer realizar
Ambas tienen que ser consideradas en la ingeniera de iteraciones hasta que el software cumpla con los
requerimientos. requisitos y expectativas de los usuarios.
d. Volatilidad del Requerimiento: Categorizar y
traquear el requerimiento (mutante no mutante). C. Gestin del conocimiento
i. Problemtica
B. Tcnicas de Elicitacin a. Un punto interesante cuando hablamos de gestin del
i. Problemtica conocimiento es el nfasis que se pone a la
a. La captura de requisitos es uno de los pasos ms valorizacin de los activos intangibles de una
importantes en un proyecto de ingeniera de software. organizacin, los cuales vienen a complementar de
La experiencia ha demostrado que los requerimientos manera importante el valor econmico de sta, por lo
incorrectos, incompletos o mal entendido son las que un nuevo componente de alto valor econmico
causas ms comunes de mala calidad, los dentro de una organizacin lo representa su capital
sobrecostos, y la entrega tarda de los sistemas de intelectual. Con la alta rotacin de personal, y la
software. La capacidad de emplear un proceso envergadura del proyecto, es necesaria reunir toda la
sistemtico para la obtencin de requerimientos es informacin, integrarla, compartirla, exponerla y
por lo tanto, una de las habilidades fundamentales de realimentarla concentrndola en un solo eje.
un ingeniero de software de calidad. d. Se describe a la gestin del conocimiento como un
b. Para que la definicin funcional sea aprobada por el catalizador en los procesos de innovacin, misma
usuario, sta debe estar escrita de manera que ste que, a su vez, resulta necesaria para la creacin de
sienta que sus necesidades se vean reflejadas en el innovaciones continuas que brinden a la organizacin
documento, y que el analista tcnico sea capaz de ventajas competitivas, puesto que una administracin
interpretarlo para realizar su especificacin de bajo eficaz del conocimiento tendr mejores opciones
nivel. dentro de los procesos de negocios, pero siempre en
funcin de la intensidad del conocimiento y
ii. Soluciones complejidad del proceso.
a. Se propone Modelar utilizando Prototipos. Como
resultado de utilizar esta tcnica obtendremos una ii. Solucin
funcionalidad requerida realista (posible) y til, Implementar una taxonoma de Modelos de red de
teniendo una interfaz exactamente igual o similar a la gestin del conocimiento en la organizacin: Tales
del prototipo satisfaciendo los objetivos del sistema. modelos surgen de forma conjunta con las teoras de
Este prototipo, ser una versin simplificada de la organizacin de red y se centran en la adquisicin,
interfaz de usuario. El sistema no necesita ninguna o intercambio y transferencia del conocimiento como
muy poca funcionalidad. El facilitador simula el resto aspectos fundamentales para el aprendizaje
durante los experimentos. Si el prototipo fue probado organizacional, lo que permite la interaccin entre los
con las tareas reales, puede convertirse en interlocutores que intervienen en el proyecto. En este
requerimientos de estilo de diseo. Si no, es slo un grupo de modelos se expresa la concepcin del
ejemplo de lo que la interfaz puede parecer. El conocimiento a partir de las redes de actores que
requisito tiene que ser al menos orientada al diseo. participan en su socializacin y que influye en las
(Por ejemplo, funciones o descripcin de tareas). acciones que estos llevan a cabo. Los actores deben
b. Entrenar al usuario como leer la documentacin de ser capaces de aprovechar las redes externas de
tcnica. Buscar un documento de "dibujo" que pueda conocimiento y la adquisicin de nuevas ideas en
usar como herramienta de comunicacin: Talleres de beneficio del proyecto y principalmente de la
Diseo, aqu los usuarios y desarrolladores cooperan organizacin. Estos modelos se centran en aspectos
para disear algo, usualmente la interfaz de usuario. como la vinculacin entre individuos y grupos de
El trmino Diseo cooperativo. si todas las tareas y inters para facilitar el intercambio de conocimiento,
objetivos del negocio estn cubiertas, y si los dems motivando as la colaboracin y comunicacin.
usuarios de la organizacin comprenden la solucin.
En este tipo de taller, es fundamental que el equipo D. Reingeniera
controle la interfaz de usuario con las descripciones i. Problemtica
3
4
a. Los procesos de negocio fueron evolucionando a software; para cada fase del proceso de desarrollo
favor de la contemplacin y de las excepciones y no existe una tarea de testing importante.
en post de la calidad y eficiencia. Este negocio es un La mayor parte de los defectos se concentran en
gran administrador de excepciones (Key User dixit). las etapas tempranas del proceso de desarrollo, y
El viejo sistema fue creado a medida, contemplando
el costo de correccin aumenta a medida que
adaptndose a las viejas y enroscadas reglas, mientras
que el nuevo sistema, es un GAP dentro de un gran permanece no detectado.
ERP que abarca toda la organizacin. Prevencin de la migracin de los defectos
utilizando tcnicas de prueba temprana en el ciclo
ii. Solucin de vida, ms de la mitad de los defectos se
a. Adaptacin (Tailoring) La adaptacin de un proceso introducen usualmente en la fase de
hace, modifica o adapta la descripcin de proceso requerimientos, y el costo de los defectos se
para un fin particular. Por ejemplo, un proyecto
minimiza si se detectan en la misma fase en que
establece su proceso definido adaptndolo a partir del
conjunto de procesos estndar de la organizacin para son introducidos; inspecciones y revisiones
cumplir los objetivos, las limitaciones y el entorno peridicas constituyen una herramienta efectiva y
del proyecto. La reingeniera es importante para rentable.
analizar los procesos internos basados en el negocio Buenas especificaciones, revisiones e
tomando buenas prcticas de las herramientas que inspecciones afectan positivamente la calidad de
provee el ERP y adaptndose a ellas. (Se debe tener las pruebas; su mejoramiento no es
en cuenta que para aplicar esta herramienta, la conceptualmente difcil, pero requiere esfuerzo y
organizacin requiere un nivel 3 de madurez del
tiempo, por lo que se requiere una responsabilidad
estndar CMMI)
clara que planifique y gestione el avance.
E. Testing El Testing es una disciplina profesional que
i. Problemtica requiere gente entrenada y competente para tener
a. Un equipo de desarrollo debe evitar tratar de probar xito se requiere de profesionales competentes y
sus propios programas. El razonamiento es que los entrenados con el apoyo adecuado de la
integrantes del equipo responsable del desarrollo de administracin superior; no debe ser tratado como
uno o varios programas, tienen la dificultad de un nivel de entrada o trampoln; debe ser
realizar una prueba objetiva de sus propios independiente, imparcial, y organizado para que
programas. La organizacin de la tarea del testing,
debe llevarse a cabo por personas que no pertenezcan cuente con el reconocimiento justo de su
al proyecto. De hecho, es deseable que el equipo de contribucin a la calidad del producto.
testing no sea una tarea realizada dentro de la misma Todas las pruebas deben ser trazables a
compaa, ya que si lo fuera, seguira siendo requerimientos del usuario. Sin especificaciones
influenciado por las mismas presiones de los altos de requerimientos adecuadas, este proceso no ver
mandos del la compaa, que influyen en la otra cosa que no sea el fracaso.
organizacin responsable del equipo de desarrollo.

ii. Solucin V. CONCLUSIN


Una forma de evitar este conflicto es contratar a una
empresa independiente especializada en pruebas de Teniendo en cuenta toda la informacin obtenida y siguiendo
software. Como ventaja obtendremos por lo general, las buenas prcticas de ingeniera de software, se plante una
una mayor motivacin en el proceso de pruebas, una estrategia de solucin basada en este conocimiento. Como
tarea menos para el equipo de desarrollo, la resultado vemos importante a este tipo de proyecto usar
eliminacin del proceso de pruebas bajo la misma Coaching, Ingeniera de Requerimiento, Administracin del
gestin que el equipo de desarrollo, y las ventajas de Conocimiento y buenas prcticas para el Testing.
los conocimientos especializados que la empresa de Las metodologas deben ser Flexibles y Adaptables. Si de
pruebas independiente proveer para abordar el antemano se sabe que el camino no es bueno, debe adoptar
problema. No obstante, existen factores una metodologa con ciertas caractersticas que a priori
fundamentales a tener en cuenta al momento de indiquen el camino correcto, luego comenzar, avanzar, y
tercerizar el proceso de Testing: evaluar. Si en el camino nos encontramos algn problema,
El testing tiene su ciclo propio, que comienza con habr que adaptarse o adoptar un nuevo camino hasta
la fase de requerimientos del software y desde all encontrar el indicado.
va en paralelo con el proceso de desarrollo de
VI. LINEA FUTURA DE INVESTIGACION

4
5
Mejorar la etapa de diseo y desarrollo basndose en las
buenas prcticas expuestas.

5
6
VII. ANEXO I I. REFERENCIAS

Cuestionario de Entrevista [1] Curso de Coaching y liderazgo. PROGRAMA DE DESARROLLO DE


HABILIDADES PARA EL LIDER-COACH. FLORENCIA
ANNACONDIA, NORA PATLIS, NICOLS RODRGUEZ ALVAREZ -
1. Cul es el problema a resolver? UTN - Extensin Universitaria 2007

[2] Loucopoulos, P., Karakostas, V.,System Requirements Engineering,


McGraw-Hill, 1995, London.Nuseibeh; B., Easterbrook, S.,
Requirements Engineering: A Roadmap, ICSE2000, Limerick

[3] Material de clase materia Sistemas de Informacin Avanzada


UP Universidad de Palermo Martn Piattini Velthuis 2006-2012
2. Cules son las caractersticas del sistema que se [4] Aproximacin a una taxonoma de modelos de gestin del conocimiento -
utiliza para resolver el problema? Alejandro Barragn Ocaa
Universidad Nacional Autnoma de Mxico UNAM (Mxico)

[5] http://es.wikipedia.org/wiki/Ingenier%C3%ADa_de_requisitos

[6] http://es.wikipedia.org/wiki/Planificaci
%C3%B3n_de_recursos_empresariales

[7] Introduccin a los Sistemas de Informacin - Material de estudio Mdulo


3. Cules son las entradas? 1 -Instituto Superior de Formacin Tcnica N 38 - Tecnicatura Superior
en Anlisis de Sistemas.
www.cgoni.com.ar/webinst/isi/modulo1.doc

[8] Material de clase - Ingeniera de Software Avanzada - Universidad


Tcnica Federico Santa Mara Chile.
http://www.inf.utfsm.cl/~visconti/inf323/Documentos/CursoTestingEcono
.pdf
4. Cules son las salidas?
[9] http://www.monografias.com/trabajos41/requisitos-software/requisitos-
software2.shtml

II. CV

Juan Pablo Sadoly (Capital Federal,


5. Cules son las restricciones?
Argentina, 3 de Febrero de 1984) Analista
de Sistemas de Informacin recibido en el
Instituto Bernardo Houssay en Diciembre
2004. Actividad Laboral: Consultor
Analista SAP en Atos S.A. He ingresado en
la empresa en el ao 2010 y he pasado por
las tareas de Programacin, Anlisis
Funcional, Anlisis Tcnico y Testing.
6. Quines utilizarn el sistema? Mencione las reas
intervinientes en este proceso.

You might also like