Translate

sábado, 16 de noviembre de 2013

Cometer errores no es malo, no aprender de ellos es el mayor ERROR.

El tiempo es oro, pero a veces, parar y meditar hacia donde vamos y lo que esperamos conseguir nos evitará perder mucho más tiempo. Comparto con todos los que lo deseen uno de esos momentos en que he parado :

Error 1:

Cuando empezamos a desarrollar PYMETRICK hace dos años, solo era una idea sin formas. Una medicina que resolvería todas las limitaciones que existían con cualquier otro producto sobre el que fijábamos la mirada. Una navaja suiza con muchas herramientas preparadas para un desierto, el polo norte o bajo el océano - primer error -.

Simplificar la idea no fue sencillo, viajamos con demasiado equipaje. La idea debió pasar por filtros de eliminar, reducir, modificar y crear lo necesario. En estos procesos hemos descubierto cuanta basura somos capaces de generar y la falta de ideas simples.

Durante el desarrollo ha variado significativamente la filosofía del proyecto, no buscamos resolver todas las limitaciones que existen en otros productos, solo resolver los problemas del día a día que nos encontramos en el 75% de los proyectos. Siempre existirán problemas que no existían, para los que no es posible buscar medicinas. Igual que en los seres vivos, debería crearse el remedio cuando existiera la infección, no antes.

Solución 1 : 

No hemos creado código innecesario, ya habrá tiempo de crear código especializado.

Error 2:

Competir con el resto de las herramientas disponibles de una forma mucho más simple era un aspecto de la idea inicial. Herramientas que llevaban un tiempo considerable en el mundo y que acumulaban una historia de éxitos y sombras, con detractores y seguidores.  Buscar colaboración o ideas o aportaciones en un mundo tan polarizado - segundo error -.

Todo llevaba a Django, Twister, Tornado, WEB2PY,...(perdón si eres seguidor de cualquier otra herramienta o librería y no la he relacionado aquí, todas se merecen mi reconocimiento), existe un gran esfuerzo detrás que las ha hecho posibles, pero han perdido la SIMPLICIDAD.

Si nuestras necesidades tienen pocos requerimientos, deben mantenerse fácilmente - porque siempre existirán los errores (bugs) -, su desarrollo debe ser simple, mejorando los resultados de forma continua hasta conseguir un producto entregable. Este objetivo solo es posible con librerias simples que soporten todos los aspectos del desarrollo, con una documentación sencilla y accesible. Bastante esfuerzo exige un proyecto, pero si además tenemos multiples herramientas a conectar para conseguirlo, será traumático cada vez que un mantenedor o grupo de desarrolladores cambien las especificaciones de alguna de las librerías empleadas.

Solución 2:

Divide las actividades a realizar en módulos independientes según el sentido común, busca la utilidad simple de cada módulo. El código se puede mejorar para conseguir mejores resultados pero no compliques su legibilidad.

Error 3:

Mejorar lo que existe, exige mirar los problemas de una forma diferente. Si sabes cómo usar un martillo, todos los problemas tienen forma de clavo. - tercer error -

Todos los proyectos no son iguales ni exigen los mismos requerimientos en velocidad, seguridad, ...consumir un poco de tu tiempo en estos aspectos, puede liberarte de gran esfuerzo. Seguir el mismo camino de siempre no te llevará a un destino diferente.

Solución 3:

Si necesitas realizar proyectos sencillos - el 90% de ellos lo serán - no incorpores mas codigo que el necesario.




Ahora ya podemos seguir.





 



No hay comentarios:

Publicar un comentario