Entradas con la etiqueta ‘development’





  • por alberto - 24 de junio de 2009 - Etiquetado como , , ,
    4 comentarios »

    Meses de desarrollo (aunque sea con más que escasa dedicación por momentos), última prueba en real para probar el producto (con bastante éxito, por cierto), fecha de lanzamiento fijada desde hace ya algunas semanas (1 de Julio!), puliendo los últimos flecos, pero salen más y más flecos. Detalles, mejoras, problemas, ideas. Parece que por más que avanzamos, Stage se empeña en ponérnoslo difícil.

    Pero todo tiene su límite, y esta vez salimos si o sí. Tenemos que salir. Aunque tengamos que sacrificar algo de funcionalidad o seamos conscientes de que algunas cosas son mejorables. ¡Qué duro es tener que escoger qué entra y qué no!. Pero si no ponemos un límite no terminaríamos nunca. Lo expresa muy bien en una entrevista Jim Collins, uno de los habitantes de una de nuestras ciudades favoritas, en una entrevista de hace un par de meses en la revista Inc:

    > If you accept the idea that work is infinite and time is finite, you realize you have to manage your time and not your work. You need a laserlike focus on doing first things first. And that means having a ferocious understanding of what you are not going to do.

    Hacer esto trabajando para otros es difícil, pero hacerlo para tí es durísimo, porque añades los miedos y dudas sobre si acertarás o no, sobre si el trabajo realizado y el sacrificio pasado habrá merecido la pena. La parte buena es que eres tú quién escoge, para bien o para mal.

  • por alberto - 15 de junio de 2009 - Etiquetado como , ,
    8 comentarios »

    Hace ya un tiempo dijimos que una de las razones por las que empezamos tantas cosas y acabamos “tan pocas” y que debíamos solucionar, es porque no contamos con un diseñador que nos ayude a cristalizarlas. Lamentablemente seguimos sin contar con uno, pero para solucionar eso y reducir pequeñas frustraciones, hemos decidido no tirar una línea de código en un proyecto o idea mientras no tengamos el diseño del mismo.

    Un prototipo visual completo (estático o dinámico) no sólo ayuda al cliente a entender claramente lo que está comprando y a mejorar la conversación con él, sino que también es mucho mejor para nosotros como equipo de desarrollo que una especificación funcional de 80 paginas (ademas todos sabemos ya que una especificación funcional no tiene nada de funcional).

    El resultado de experiencias pasadas gestionadas de esta manera, como la Rails Rumble o el desarrollo de Trourist comparado con el resultado de otras ideas y proyectos nos ha llevado a ser más radicales en esta idea y dejar de excusarnos a nosotros mismos. De hecho no somos los únicos que vemos la prioridad que el Front End/UI tiene en el desarrollo de software.

    Dedicando el tiempo y esfuerzo necesario a pensar el sistema o la aplicación en esta fase se consiguen múltiples ventajas:

    • Reducir las indefiniciones y los malentendidos entre todos los miembros del equipo (AI, diseñadores, desarrolladores y el propio cliente).
    • Un estado de desarrollo más real y palpable, dejando a la vista que queda por hacer.
    • Un entorno de desarrollo más motivador, viendo el resultado final de tus avances.
    • Esfuerzo más focalizados, con una meta clara y palpable (No more over-engineering!).
    • Requiere la implicación del cliente que tiene que ir más allá de validar un documento que probablemente no ha leído y comprendido por completo.

    Todo esto hace que finalmente avancemos más rápido, con más seguridad y viendo lo que estamos construyendo.

    El prototipado y la interface de usuario no es obviamente la única fuerza directriz, puesto que finalmente todas esos elementos e interacciones se deben convertir en funcionalidades que a su vez ayudan de nuevo a enfocar y dirigir los esfuerzos… pero quizás si es la más importante. Al fin y al cabo es la parte en la que más personas intervienen… ¡y la que finalmente utilizará el cliente!

    ¿Quiere esto decir que es la forma ideal de trabajar?… ¿En cualquier tipo de proyecto?… ¿Para cualquier empresa?… Quizás no, pero sus ventajas hacen interesante que al menos lo probéis -posiblemente en un pequeño proyecto interno de bajo riesgo- y veáis si realmente es factible en vuestro contexto. En nuestro caso esta funcionando realmente bien y lo hemos adoptado como práctica estándar… ¿que opináis vosotros?.

  • por admin - 15 de diciembre de 2006 - Etiquetado como ,
    5 comentarios »

    Cuando empiezas tu aventura empresarial, se suele decir que no es lo mismo crear un negocio que un trabajo para ti. Lo primero sería una empresa en el estilo tradicional, lo segundo una forma en la que ganes dinero (no quiero decir que no lo puedas ganar de la primera forma). No hay nada intrínsecamente malo ni en una opción ni en la otra, simplemente tienes que saber que estas creando, porque las necesidades son distintas.

    Si lo que hacemos, sea lo que sea, no puede sobrevivir sin nosotros, no estamos creando un negocio, estamos creando un trabajo para nosotros mismos. Un negocio no para, esta en marcha y continuamente tiene que producir. Si trabajas para ti, tienes tu tiempo, y tú decides en que te metes porque no podrás hacer más.

    Puede parecer lo mismo, pero no lo es. Aunque de cualquiera de las dos formas seas (casi) imprescindible, al crear un negocio tienes que tener claro el camino que sigues, lo que haces/vendes y dónde quieres llegar. Si trabajas para ti, simplemente realizas una función (formar, vender un software, etc. lo que sea) para aprovechar una oportunidad, pero no podrás crecer. Es una cuestión de chip mental, simplemente tienes que ser consciente de ello. Si trabajas para ti sin creer que es eso lo que haces, o si eres un negocio sin un objetivo claro, lo que te sucederá es que estarás siempre escuchando cantos de sirena, sobre otras opciones, otros trabajos.

    Por supuesto nada impide evolucionar de un estado a otro, de hecho con recursos limitados y simplemente una idea, es difícil empezar en cualquier caso, pero dentro de la idea de centrarse que ya hemos comentado, el saber lo que eres y dónde quieres ir es el primer paso.

  • por admin - 11 de octubre de 2006 - Etiquetado como , ,
    4 comentarios »

    No me preguntéis por qué, pero resulta que las versiones un poco antiguas de SQL Server no traen “de serie” una forma de hacer el dump de una base de datos como sentencias insert de SQL. Tiene millones de wizards, formatos varios, herramientas de líneas de comando como bcp, pero no tiene un “export as SQL insert” por ninguna parte (que yo haya encontrado, también puedo ser torpe). Esto en sí no debería ser problema, hay opciones de todo tipo como he comentado, hasta que te encuentras que alguien que tiene que recibir la base de datos te pone… ciertas limitaciones.

    Buscas por la red… encuentras varias opciones… algún programa simplón, un administrador hecho con ASP.NET, unos cuantos procedimientos almacenados de resultados dispares… hasta que das con SQLServer Dumper. Sencillo, fácil, y que funciona :-D.

    Por si a alguno le hace falta.

  • por admin - 10 de octubre de 2006 - Etiquetado como , , ,
    19 comentarios »

    En algún momento dado querremos empezar a vender nuestros productos, para lo cual necesitaremos una forma legal. A pesar de lo que mucha gente piensa, no es necesario que creemos una empresa para venderlo, tampoco que seamos autónomos, de modo que repasaremos las opciones que tenemos de andar por casa. Debido a las características propias de una Micro-ISV, opciones como la cooperativa o la S.A. (que requiere 60.000 euros de capital social), no las tendremos en cuenta.

    Tened en cuanta mientras leéis esto, que yo no soy ni jurista ni asesor, y que la leyes cambian con el espacio tanto como con el tiempo. Una ley vasca del año 2006 no tiene porque ser la misma ni en cantidades ni en obligaciones que una canaría del 2003, ni siquiera que una Valenciana del 2005. Ni un euro cuesta lo mismo en Bilbao que en Cáceres. Tenedlo en cuenta.

    La primera de las opciones que tenemos disponible es la de actuar en nuestro propio nombre, como persona, sin ser autónomo, ni empresa, ni nada. Esto tiene varios problemas, a parte del obvio de la imagen, y es que no podremos facturar más de 18.000 Euros sólo podemos hacerlo para cuestiones excepcionales, no como fuente principal de ingresos, y para eso no nos metemos en este lío, ¿no?.

    La segunda opción sería hacernos autónomos. Esto tiene un coste de (aproximadamente) 300 euros, entre la cuota de autónomo y una asesoría decente para que nos lleve las cuenta. Esto último no es obligatorio, pero creedme, 100% recomendable. Por el equivalente a dos horas de tu trabajo te quitarán muchas preocupaciones.

    Seguimos siendo una persona, por lo que nada nos controla las entradas y salidas de dinero de nuestra cuenta, tenemos libertad. En todo caso, como recomendación, decir que en el tercer mundo, lo primero que enseñan a los emprendedores es a separar el dinero del negocio del personal, de modo que mejor que tengas dos cuentas separadas, y te saques algo parecido a un sueldo cada mes.

    Ser autónomo tiene dos problemas principalmente:

    • imagen: queda claro que eres tú sólo. En función de tus clientes, puede no ser aceptable. Además los autónomos tiene más difícil (o imposible) el acceso a determinadas instituciones y ayudas.
    • responsabilidad: en caso de que algo vaya mal, el autónomo responde con su patrimonio. Así de duro :-D.

    De modo que pasaremos a considerar la tercera opción: Sociedad Limitada. Para convertirnos en sociedad limitada lo primero que tendremos que hacer es buscar un nombre y solicitarlo en el registro (en bloques de tres). Algo que parece tan tonto no siempre lo es. Linking Paths me salió a la primera (como pa’ no ;-) ), pero conozco casos en los que hicieron falta tres intentos, para acabar con un nombre si gran significado. Una vez hecho esto, redactaremos unos estatutos y listos, a firmar. A todo este proceso nos ayudará nuestra asesoría, de forma que no tendremos que hacer demasiado.

    Para constituir la S.L. tendremos que poner un capital social inicial, que tiene que ser de al menos 3006 euros. De estos 3000 euros (o de la cantidad que sea)aproximadamente una tercera parte se irá entre el registro mercantil, el notario y la asesoría, el resto lo podemos usar como queramos (ejem, ejem). No hace falta que aportemos la cantidad total en dinero contante y sonante, podemos aportar algunos bienes (por ejemplo un ordenador o una mesa) siempre que presentemos su factura y sepamos que se calcule su depreciación.

    Hay que tener en cuenta que sí no tenemos socios (aunque sea nuestra madre con el 1%), en lugar de ser S.L. seremos S.L.U. (Sociedad Limitada Unipersonal). Esto es más bien una cuestión de imagen, porque por ejemplo Azucarera Española es una S.L.U. y nadie se imagina a un hombre sólo en la empresa. En todo caso, todos los socios que trabajen en ella con más de un 30% de la empresa tienen la obligación de ser autónomos aunque cobren nómina, y tendrán que pagar los 200 Euros de la cuota de autónomos (o lo pagará la empresa en su nombre). También el coste de la asesoría será mayor (el doble que como autónomo, aproximadamente).

    Al ser una S.L., nuestras obligaciones legales son algo mayores. No podemos andar sacando dinero de la caja y tendremos que entregar más información sobre nuestra actividad al registro y demás instituciones públicas. Como parte buena, nuestra responsabilidad sobre los problemas de la empresa es limitada (de ahí la L de S.L.): sólo nos haremos cargo del dinero puesto como capital social de la empresa. Sólo hay una salvedad: el administrador. El administrador es uno o varios socios que tienen poderes y mayores responsabilidades sobre la empresa, es decir, tienen la capacidad de actuar en el nombre de la empresa (firmar papeles, etc.). La limitación de responsabilidad sobre lo que pasa en la empresa no se les aplica en caso de que se demuestre que han actuado de mala fe. Esto es importante, porque esta responsabilidad ¡debería pagarse!.

    Y con esto tenemos resumidas nuestras opciones. Dependerá sobre todo de nuestro producto o servicio inclinarnos por una u otra.

    Comentarios y puntualizaciones son siempre bienvenidos.

  • por admin - 10 de octubre de 2006 - Etiquetado como , , ,
    2 comentarios »

    Uno de las grandes ventajas de Maven puede ser uno de sus grandes problemas: las dependencias transitivas. Esto es, si en maven yo digo que necesito, digamos el API de MyFaces, él solito se encargará de bajar todas las librerías que necesita MyFaces. Esto que es un gran avance, puede ser molesto si la persona que ha preparado MyFaces (o cualquier otro proyecto, hablo de MyFaces sólo como ejemplo) no ha tenido en cuenta que dependencias son reales y cuales no.

    Dentro de Maven se pueden declarar dependencias de cinco tipos, tal y como se explica en la propia documentación (aquí concretamente). El problema viene si usamos una librería cuyo autor ha declarado todas las dependencias como compile, normalmente por comodidad. ¿Qué podría ocurrir por ejemplo en el caso de Hibernate?. Para compilar el proyecto, necesitaremos un montón de librerías que luego no nos harán falta en tiempo de ejecución, por ejemplo sólo nos hará falta una de sus implementaciones de pool de conexiones o de caché. Si el autor pusiera todas esas dependencias en modo compile nuestro proyecto incluiría TODOS esos jar. Demasiados.

    Pero más aún. Supongamos que ese proyecto incluye un API desfasado, o que choca con otras versiones que tengamos, o con nuestro servidor de aplicaciones. Por ejemplo supongamos que un proyecto incluye una dependencia a un API de XML desfasado que impide que Tomcat vuelva a arrancar. Es sólo un suponer. ¿Como puedo eliminarlo sin perder la ayuda de las dependencias transitivas?.

    Afortunadamente la gente que escribió Maven ya ha pensado en eso, y al declarar una dependencia podemos eliminar de nuestro proyecto una de estas dependencias transitivas. La forma de hacerlo sería la siguiente:

        
            myfaces
            myfaces-api

        <version>1.1.0</version>
        <scope>compile</scope>
        <exclusions>
    
            <exclusion>
                <artifactId>xml-apis</artifactId>
                <groupId>xml-apis</groupId>
    
            </exclusion>
        </exclusions>
    </dependency></pre>
    

    Sencillo, ¿no?.

  • por admin - 6 de septiembre de 2006 - Etiquetado como , , ,
    7 comentarios »

    Hace ya muchos muchos meses, hablé por aquí de crear alguna forma de comunidad formativa online. Hablé con algunos amigos de la red, y poco después compramos javaconganas.com con la idea de implementar esa idea en él. Montamos snipsnap y listo, empezamos.

    Lamentablemente he de reconocer que el resultado podía haber sido mejor. En realidad sigue siendo poco más que un embrión, pero todo se andará. La idea de anunciarlo ahora es la de ver si alguién más quiere participar, de la forma que sea, y tomar un poco de aire.

    La idea de lo que ofrecer es sencilla:

    • el javapath. Que te ayude a comprender la relación entre algunas partes de java, darte indicaciones de por dónde seguir, etc.
    • un weblog para fomentar discusiones amistosas.
    • crear un podcast sobre java en castellano.

    Eso de momento. Sigo valorando la idea que comenté en su día sobre cursos online, pero la verdad es que para eso si que necesitaré ayuda, para hacer algo que tenga sentido. De momento necesitaría que varios interesados en un curso se pusieran de acuerdo para arrancarlo.

    ¿Quedará esta en una de tantas ideas que dejo a medias con mi autodeclarado familiar?. Espero que no, pero como comentaba ayer prefiero hablarlo ahora antes de invertir más tiempo. ¡Qué mania tengo de meterme en follones!.

    UPDATE: Para particpar, enviame un mail (alberto.molpeceres ARROBA gmail PUNTO com) contándome en que estarías interesado, en que puedes/quieres colaborar, que querrías conseguir de un sitio así, etc. y algo sobre tí y tu trayectoria hasta ahora.

    ¿Qué se ofrece?: Participar en un grupo de gente interesante y muchas posibilidades de aprender.

  • por admin - 4 de septiembre de 2006 - Etiquetado como , , ,
    No hay comentarios »

    O al menos así se comporta demasiada gente del mundo del software, como Gollum con su anillo. Me pregunto por qué. Sobre todo a determinados niveles. Puede haber gente que está inventando la solución a los problemas del mundo, pero la mayoría me temo que no estamos en eso.

    Escribía el otro día en Vivir del software sobre la posibilidad de establecer lo que llamaba alianzas creativas, que no es más que intentar jugar al yo gano, tu ganas. Y es que no es comprensible que nosotros los mortáles que sobrevivimos con esto de la informática pensemos en que somos los primeros en tener una idea deteminada. ¿Con 1.000 millones de personas conectadas a la red?. ¿Lo puede creer alguien de verdad?.

    Pues me temo que sí. Demasiados. Y sólo el 0,0001 de ellos esta haciendo algo realmente innovador. JNJo deberíamos tener miedo de expresar nuestras ideas, al menos en gran parte, de intercambiar opiniones, de ponerlas a punto, de mejorarlas. No pensar así significa no conocer mucho de que va esto del software.

    Siempre se ha dicho que quién da primero da dos veces, pero volviendo a lo anterior, teniendo en cuenta que no vas a dar primero, ¿qué tiene de malo compartir tus ideas?. Lo importante no es lo que haces, es cómo lo haces. Lo más que puedes conseguir a día de hoy son tres meses de ventaja si te guardas tus ideas (y si es que son tan geniales). Después, se acabo, no tienes ventaja si alguien quiere “clonarte” (hasta al genio de la página del millón, o al de la casa por el clip).

    Sin embargo, si pones a prueba tus ideas, si las contrastas y las mejoras, puedes conseguir grandes ventajas:

    1. No perder el tiempo. Siempre creemos que tenemos buenas ideas, lástima que el resto del mundo no lo vea así.
    2. Lamentablemente es probable que no lo sepas todo, quizás alguien te pueda ayudar a mejorar tu idea.
    3. Velocidad. Es difícil tener socios (que me lo digan a mi), pero quizás encuentras alguien con la que colaborar y salir antes, o mejor, o más bonito.

    Con esto tampoco quiero decir que vayas regalando ideas de un millón de dólares, pero tampoco te encierres en ti mismo pensando que si lo cuentas te van a copiar. Hacen falta muchas cosas para eso.

  • por admin - 22 de agosto de 2006 - Etiquetado como , , ,
    4 comentarios »

    Aunque por distintas razones sólo se puede descargar en forma de EXE de Windows, ProjectioPM esta desarrollado en Java, y es ejecutable vía Java Web Start, nuestra primera intención. En realidad, su editor (el que permite crear las preguntas, más noticias en breve), también es una aplicación Java Web Start. Tengo que reconocer que desde hace años estoy enamorado de algo tan simple y tan elegante como Java Web Start, que permite instalar y actualizar aplicaciones de escritorio a través de la red sin (demasiados) problemas.

    Esto me ha hecho considerar la opción de que la interface de Projectio Office (del que ya he hablado por aquí) tenga una aplicación web mínima, pero que el grueso de la misma fuera una aplicación de escritorio.

    ¿Razones?.

    • Cada vez soy más vago y perezoso como para pelearme con el HTML.
    • Tengo la sensación de que aún hay muchos usuarios no informáticos de que siguen sin tener claro la diferencia entre aplicación web y aplicación de escritorio. Y que incluso no les gusta la parte web.
    • Incluso para los informáticos… ¿abrir una página web?. ¿Y por qué no integrarlo en el IDE (opcionalmente, claro)?.

    Inconvenientes también los hay, aunque de momento me los callo, simplemente me gustaría recoger el feedback sobre esta idea. ¿Comentarios?.





Linked, el blog de Linking Paths