Ex - Comunidad de Programadores, Nuevo Leon

when you see if { ... } else { ... } you see code, i see my fucking life ...

No te has registrado

#1 2007-10-05 10:38:35

Edubezter1
Nuevo Usuario
Registrado: 2007-10-05
Mensajes: 3

Codificando Reglas del Negocio

Saludos a todos los miembros de este foro, tengo una pequeña duda que espero despierte el interes de algunos.

Cuando tenemos una lista de Reglas de Negocio (RN), digamos de unas 500 RN, es necesario codificarlas. Luego de un tiempo, vemos que realmente no vamos a utilizar algunas de estas RN y procedemos a borrarlas.

RN479  Regla A
RN480  Regla B
RN481  <-- Regla no utilizada que debe ser eliminada
RN482  Regla X
RN483  Regla Y

Mi pregunta es: Deberiamos volver a codificar, de tal manera que no queden vacios en la secuencia de codigos debidos a las reglas que hemos retirado? Deberiamos dejar vacios en la codificacion?

Volviendo a codificar:
RN479  Regla A
RN480  Regla B
RN481  Regla X
RN482  Regla Y

Dejando "huecos":
RN479  Regla A
RN480  Regla B
:
RN482  Regla X
RN483  Regla Y

Si dejamos vacios, posiblemente nuestro cliente nos pregunte: "Por que no existe una regla #481?"

Si recodificamos para llenar los vacios, posiblemente la pregunta cambie a: "Por que ha cambiado la regla #481?"

Cual es la mejor solucion en opinion de ustedes?

Desconectado

 

#2 2007-10-05 10:45:27

Albertux
Administrador
Ubicación: ssh/ftp/http
Registrado: 2006-06-28
Mensajes: 641
Web

Re: Codificando Reglas del Negocio

Personalmente pienso que es mejor dejar reglas vacias, por que eso de estar volviendo a escribir en orden las reglas que si se van a utilizar quita tiempo ademas como lo mencionas de "Por que ha cambiado la regla #481"

Simplemente se le dice al cliente que se tenian otras reglas previstas que no se van a usar y si surgen nuevas reglas pues puedes usar esos huecos.

Saludos


if (isReal(GOD)) {
  ...
} else {
  // GOD is integer;
  ...
}

Desconectado

 

#3 2007-10-05 13:41:53

wiseman
Guru
Ubicación: Monterrey, Nuevo León, México
Registrado: 2006-08-30
Mensajes: 156
Web

Re: Codificando Reglas del Negocio

Existen muchos programas para hacer el tracking de los requerimientos. Estos simplemente llevan una matriz de los requerimientos contra las reglas de negocio del proyecto y de esta forma no se pierden. Yo he leido acerca de ellas pero en lo personal nunca las he utilizado. Casi siempre si utilizas RUP el programa de facto es el Rational Requisite Pro. Existen otras herramientas donde haces el tracking vía web y así los usuarios están viendo el estatus de las reglas de negocios y ven si están implementadas, dadas de baja o por implementar. Vale la pena realizar una pequeña búsqueda por Google para checar ese punto. De todas formas sería bueno que nos dijeras como resolviste tu problema. Saludos!!!

Desconectado

 

#4 2007-10-06 16:01:58

jarg
Administrador
Registrado: 2006-06-28
Mensajes: 109
Web

Re: Codificando Reglas del Negocio

a poco el post era en serio??  la gente realmente hace eso???

que locos!

roll


(o_     Jonathan Alberto Rivera Gómez
//\      http://linuxuanl.org/jarg
V_/_   A Hacker means "Someone who loves to program and enjoys being clever about it"

Desconectado

 

#5 2007-10-08 09:41:36

Albertux
Administrador
Ubicación: ssh/ftp/http
Registrado: 2006-06-28
Mensajes: 641
Web

Re: Codificando Reglas del Negocio

Nose si la gente use lo de las reglas de negocio, yo aplico lo que dice el tao de la programacion:  http://www.cs.mtu.edu/~havillam/tao/libro4.html  (lectura 4.4)

Cuando al principio empecé a programar yo podía ver al programa completo en una masa. Después de tres años ya nunca más vi esa masa. En vez de eso, usé subrutinas. Pero ahora no veo nada. Todo mi ser existe en un vacío sin forma. Mi sentidos estan ociosos. Mi espíritu, libre para trabajar sin un plan, sigue su propio instinto. En resúmen, mi programa se escribe así mismo. Es verdad, a veces hay problemas y dificultades. Las veo venir, me freno, observo silenciosamente. Entonces cambio una sola linea de código y las dificultades se desvanecen como nubes de humo

Saludos


if (isReal(GOD)) {
  ...
} else {
  // GOD is integer;
  ...
}

Desconectado

 

#6 2007-10-08 12:08:35

toofic
Desarrollador Master
Registrado: 2006-06-29
Mensajes: 76
Web

Re: Codificando Reglas del Negocio

Albertux dijo:

Nose si la gente use lo de las reglas de negocio, yo aplico lo que dice el tao de la programacion:  http://www.cs.mtu.edu/~havillam/tao/libro4.html  (lectura 4.4)

Cuando al principio empecé a programar yo podía ver al programa completo en una masa. Después de tres años ya nunca más vi esa masa. En vez de eso, usé subrutinas. Pero ahora no veo nada. Todo mi ser existe en un vacío sin forma. Mi sentidos estan ociosos. Mi espíritu, libre para trabajar sin un plan, sigue su propio instinto. En resúmen, mi programa se escribe así mismo. Es verdad, a veces hay problemas y dificultades. Las veo venir, me freno, observo silenciosamente. Entonces cambio una sola linea de código y las dificultades se desvanecen como nubes de humo

Saludos

Chale!! de cual fumaste carnal?
que locos!

Desconectado

 

#7 2007-10-12 02:31:03

Edubezter1
Nuevo Usuario
Registrado: 2007-10-05
Mensajes: 3

Re: Codificando Reglas del Negocio

Gracias a todos por sus respuestas.

Albertux:

Personalmente pienso que es mejor dejar reglas vacias, por que eso de estar volviendo a escribir en orden las reglas que si se van a utilizar quita tiempo ademas como lo mencionas de "Por que ha cambiado la regla #481"

Simplemente se le dice al cliente que se tenian otras reglas previstas que no se van a usar y si surgen nuevas reglas pues puedes usar esos huecos.

Concuerdo totalmente. Pues es mas facil explicar que una regla ya no se necesita (y por lo tanto hay un vacio en la numeracion) que decirle al cliente que su regla favorita cambio de sitio. Aunque en la practica se tenga que recurrir a cualquiera de las dos soluciones, segun el proyecto.

Cuando al principio empecé a programar yo podía ver al programa completo en una masa. Después de tres años ya nunca más vi esa masa. En vez de eso, usé subrutinas. Pero ahora no veo nada. Todo mi ser existe en un vacío sin forma. Mi sentidos estan ociosos. Mi espíritu, libre para trabajar sin un plan, sigue su propio instinto. En resúmen, mi programa se escribe así mismo. Es verdad, a veces hay problemas y dificultades. Las veo venir, me freno, observo silenciosamente. Entonces cambio una sola linea de código y las dificultades se desvanecen como nubes de humo

Jajaja. Entiendo en parte lo que dices. Los mejores programadores tienen un talento natural, dificil de conjugar con muchas metodologias. Pero estoy seguro que pueden encontrar alguna manera metódica de proceder y todas sus habilidades como programador se veran potenciadas de tal manera que su productividad va a ser mucho mayor.

wiseman:

Existen muchos programas para hacer el tracking de los requerimientos. Estos simplemente llevan una matriz de los requerimientos contra las reglas de negocio del proyecto y de esta forma no se pierden. Yo he leido acerca de ellas pero en lo personal nunca las he utilizado. Casi siempre si utilizas RUP el programa de facto es el Rational Requisite Pro. Existen otras herramientas donde haces el tracking vía web y así los usuarios están viendo el estatus de las reglas de negocios y ven si están implementadas, dadas de baja o por implementar. Vale la pena realizar una pequeña búsqueda por Google para checar ese punto. De todas formas sería bueno que nos dijeras como resolviste tu problema. Saludos!!!

Aunque utilizo Requisite Pro, no me siento todavia del todo suelto con esa herramienta. De todas maneras ayudaria a tapar los vacios en la codificacion en el caso que quisieramos hacerlo. Toda la documentacion involucrada se ve actualizada, pero no podemos evitar que el cliente siga conservando una copia antigua a la cual ha estudiado con tezon (algo muy raro por cierto). Por este motivo debemos ver cada caso por separado. Con respecto al proyecto que fue motivo de mi consulta, decidimos dejar los huecos en la codificacion, lo cual ha sido entendido por el cliente. La clave ha sido conversarlo con el.

Jarg:
Jajaja. Es en serio!
A veces las metodologias parecen exagerar, pero en este caso, las reglas de negocio ayudan a que nuestro proyecto "no olvide" lo que debemos considerar desde un inicio. Es muy probable que mas adelante esas reglas se vean traducidas en formulas de calculo: "en esta empresa el stock se calcula asi" o en sentencias de desicion "si han pasado mas de 40 dias, anular el pedido". Asi garantizamos en parte que estamos alineados con lo que nuestro objeto de estudio realiza.

Gracias a todos, hasta pronto

Desconectado

 

#8 2007-10-12 03:51:06

agso0
Administrador
Registrado: 2006-09-02
Mensajes: 256

Re: Codificando Reglas del Negocio

Jajajajajaja, shit man!!!!!!!!. Se supone que todas esas herramientas existen para FACILITAR el trabajo, no para hacer una ciencia del desastre. Me refiero, en las eras y epocas en que ha existido el humano, solo nosotros somos capaces de escribir un libro para "la metodología del como cagar" o "la metodología de.......no se escribir en teclado" o "la metodologia para ver la tele", i mean COME......ON Shely!!!!!!!!!!. Solo son pautas que algun gringo escribió, pero como vivimos en el exceptisismo y la brujería y vemos la palabra "methodology" (y me consta de a madre), desde allí empezamos no. Bueno, pues no se ustedes, pero mas de 3 proyectos en menos de 6 meses, y terminaditos por completo, me dice que puedo estar mas o menos de acuerdo con migo mismo.

Desconectado

 

#9 2007-10-12 04:45:59

jarg
Administrador
Registrado: 2006-06-28
Mensajes: 109
Web

Re: Codificando Reglas del Negocio

La verdad yo creo que todas esas metodologías suckean, solo sirven para tres cosas:

1) Fastidiar a los developers
2) Darle chamba a code monkeys que terminan siendo lideres de proyecto y cuidando que se haga esa doc.
3) Hacerle sentir a tu cliente que si estas haciendo algo.

Pero algo en que Edubezter1 tiene razon es que aun los que no las usamos hemos desarrollado una manera metódica de proceder y para ser sinceros creo que todas esas metodologías tienen algunas buenas ideas que se pueden adoptar y hacernos mas productivos.

Por ejemplo hace tiempo empece a leer sobre RUP y que weba eso de hacer un glosario de términos, pero si me ha servido hacer un documento de vision para siempre tener de una manera clara de que se trata el proyecto e incluso establecer el alcance del mismo con el cliente; también que weba describir cada caso de uso, pero si me ha servido al menos identificarlos, bosquejarlos y apuntar por ahí las consideraciones que se deban hacer.

Aun asi creo que amarrarte a una metodología hace que termines preocupándote mas por seguirla que por que tu softwaresito funcione bien. Y no creo que una cosa te lleve a la otra. Y a fin de cuentas esta demostrado que para desarrollar software exitoso no es necesario aplicar ninguna de esas metodologías, la prueba esta en todo el software libre de calidad que existe.


(o_     Jonathan Alberto Rivera Gómez
//\      http://linuxuanl.org/jarg
V_/_   A Hacker means "Someone who loves to program and enjoys being clever about it"

Desconectado

 

#10 2007-10-12 05:32:02

Edubezter1
Nuevo Usuario
Registrado: 2007-10-05
Mensajes: 3

Re: Codificando Reglas del Negocio

Muy interesante lo que dicen. Muchos buenos programadores sienten rechazo por las metodologias. Y hay sobradas pruebas de que se manejan muy bien sin ellas. Es que siguen su propia forma de trabajo, perfeccionada con la experiencia acumulada.

Durante años fui enemigo de las metodologias por razones muy similares a las que dice jarg. Era un programador que solo deseaba seguir mis instintos e inspiracion. Eso vino a cambiar un poco cuando encontre un grupo de personas con las que de verdad deseaba trabajar y ellos aplicaban RUP. Asi, me integre a su grupo de trabajo y poco a poco fui adaptandome.

Una de las razones argumentadas para usar una metodologia es que las personas no deben ser imprescindibles dentro de un proyecto y la metodologia hace que sea mas facil que el trabajo pase de una persona a otra. Pero claro, eso le importara a la empresa que nos contrata, no a nosotros mismos. Yo prefiero ser imprescindible ;P
Y lo cierto es que cuando alguien es imprescindible, lo sera con o sin metodologia.

Hay muchos mas argumentos y cada uno de ellos puede tener a su vez un "pero". Bueno, ya lo conversaremos mas adelante. Un gusto.

Desconectado

 

#11 2007-10-12 09:42:27

wiseman
Guru
Ubicación: Monterrey, Nuevo León, México
Registrado: 2006-08-30
Mensajes: 156
Web

Re: Codificando Reglas del Negocio

Yo en lo particular he trabajado sin metodologías (sobre todo al principio de mi carrera). Algunos proyectos desarrollados se completaron y otros definitivamente se extendieron, ya sea por no manejar los requerimientos correctos del cliente, entender mal los requerimientos o trabajar en las partes [divertidas de desarrollar-poco uso del negocio].

En lo particular veo a las metodologías sólo como una receta. Algunas veces la receta te dice como hacer la suculenta comida pero si eres sólo un ayudante del chef y no sabes nada acerca de comidas y salsas aunque uses la receta acabarás con un espantoso platillo. El otro lado de la moneda es cuando eres el chef de la cocina. Usas la receta pero sabes que siempre puedes precindir de ella. Sabes que sólo es una guía y que tu puedes saltarte pasos o agregarle más de acuerdo a tus necesidades específicas.

Ultimamente he trabajado bajo la metodología RUP. En particular mis clientes se sienten muy satisfechos en ver que se está haciendo el software que ellos necesitan. Cuando les muestro algunas pantallas prototipos o les muestro el documento de Visión sienten que son entendidos y que se está trabajando en el mismo canal que ellos. En la parte de nuestro lado actualmente sólo somos dos personas (aquí en PedrazaSoftware), y tener una especificación de requerimientos de software es de mucha ayuda. Además de tener un calendario para evaluar el avance.

Yo digo que las metodologías sirven cuando hay muchas personas involuradas en el proyecto. Si solamente en el equipo de desarrollo hay 3 personas y el proyecto se presenta a un sólo stakeholder no veo la necesidad de crear todos los artefactos que se utilizan en RUP. Sin embargo, cuando estamos hablando de software empresarial, cuando hay mucha gente involucrada en el proyecto, cuando hay outsourcing, o las reglas de negocio cambian constantemente para hacerle frente al mercado AHà Sà CREO que DEBE utilizarse una metodología sólida. Si no se sigue la receta simplemente se terminará en un mar de caos y el proyecto fracasará eventualmente.

Espero su retroalimentación y su punto de vista y sobre todo sus experiencias en proyecto pasados. Un saludo a todos!!!

Desconectado

 

#12 2007-10-12 15:00:02

jarg
Administrador
Registrado: 2006-06-28
Mensajes: 109
Web

Re: Codificando Reglas del Negocio

wiseman dijo:

Sin embargo, cuando estamos hablando de software empresarial, cuando hay mucha gente involucrada en el proyecto, cuando hay outsourcing, o las reglas de negocio cambian constantemente para hacerle frente al mercado AHà Sà CREO que DEBE utilizarse una metodología sólida. Si no se sigue la receta simplemente se terminará en un mar de caos y el proyecto fracasará eventualmente.

Yo no creo que eso sea una regla, el proyecto sea de 20 o 2 gentes fracasara si estos no saben hacer su chamba, con o sin metodología. Recurro de nuevo al ejemplo de todo el software libre de calidad que existe (ojo que digo el de calidad, porque también hay software libre de mala calidad).

Ahora. si me preguntaras si yo en un puesto en el que tenga a mi cargo proyectos usaría alguna metodología, pues si, si lo haría pero la única razón es que no hay suficiente gente con talento como para poder prescindir de ella, en este mundo hay mucho code monkey y las metodologías sirven para controlarlos, o al menos eso pareciera, aunque tengo mis dudas.

Saludos.


(o_     Jonathan Alberto Rivera Gómez
//\      http://linuxuanl.org/jarg
V_/_   A Hacker means "Someone who loves to program and enjoys being clever about it"

Desconectado

 

#13 2007-10-12 17:18:16

agso0
Administrador
Registrado: 2006-09-02
Mensajes: 256

Re: Codificando Reglas del Negocio

Pues el jarg tiene razón en eso de control sobre los "tecleadores de código" que son controlados por la aplicacion de metodologías como rup, o en cualquier otra donde existe un project manager no. Porque generalmente el project manager es el que dice que hacer, aunque el ambiente de trabajo haga alucinar al de la mera chinga que tiene cierta libertad. Pero bueno, eso solo en las metodologías que se rigen por algo así como la centralización.

Desconectado

 

Pie del foro

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson