miércoles, julio 01, 2009

La magia del "Ritmo Sustentable"

¿Qué es un ritmo sustentable? Significa trabajar a un ritmo que podamos sostener con comodidad y ocasionalmente acelerar cuando sea necesario. El Ritmo Sustentable es fácil de definir y difícil de lograr en la práctica.

Básicamente, detrás del Ritmo Sustentable está la pregunta "¿Qué tan bueno soy cuando estoy cansado?".

Y no soy nada bueno cuando estoy cansado. Aunque puedo terminar cosas cuando estoy cansado, no trabajo ni con eficiencia ni con eficacia. Pierdo el tiempo. Hago las cosas con desgano, y mi trabajo no tiene mucha calidad.

Si me acostumbro a trabajar consistentemente a un ritmo no-sustentable, gasto varias horas no-productivas por día haciendo poquito. Mi atención se va hacia páginas web, la ventana del chat, el teléfono, el e-mail, alguna revista. Y sin embargo este tiempo perdido no es lo que Tom DeMarco llama "Holgazanear". Holgazanear, distraerse, es saludable, es algo bueno. Cuando trabajo demasiadas horas, el tiempo que gasto alejándome de mi trabajo es el resultado de mi mente y mi cuerpo que se rebelan en contra de un ritmo no sustentable.

La eficiencia es el enemigo de la efectividad - Tom DeMarco en Slack.

Jerry Weinberg dejó algo muy en claro en su charla en una conferencia Ágil: para ser un profesional debemos cuidarnos a nosotros mismos. "Cuidarse a uno mismo", dijo jerry, "significa cuidarse de forma completa - cuerpo y mente".

Quizás eso necesite de coraje. Si tu organización valora a las personas que definitivamente no trabajan a un ritmo sustentable, podrías necesitar coraje para trabajar a un ritmo sustentable. Podrías perder el trabajo. O, podrías ser tan productivo que nadie cuestione tu dedicación o tus logros.

Cuando trabajo a un ritmo sustentable tengo energías para trabajar de forma eficiente y efectiva, tengo tiempo para pasarlo con mis amigos y familia, tiempo para ejercitarme, incluso tengo tiempo para reflexionar sobre mi trabajo y logro una genuina satisfacción por mi productividad.

Cuando me comprometo a trabajar a un ritmo sustentable, soy consciente que no voy a divagar durante las horas de trabajo, ya que no voy a tener más horas a la tarde para compensar el tiempo perdido. Comprometerse a esta práctica significa enfocarse durante las horas de trabajo, y para mi (y muchos otros) la forma más fácil de enfocarse es trabajar en parejas con otra persona. Después de varias horas de trabajar de a pares, generalmente termino contento con mi productividad y me voy contento a casa, a tiempo.

Se necesita tiempo y práctica para dominar al Ritmo Sustentable. Dense tiempo para aprender este práctica. Observense mientras experimentan. Seguramente encontrarán que son mejores profesionales cuando su ritmo es sustentable.

Original: sustainablePace

jueves, junio 18, 2009

HTML 5 y Multimedia

Una de las novedades más destacadas de la nueva especificación del lenguaje de marcado para la web es el soporte nativo de elementos de vídeo. Probablemente HTML 5 dará lugar a una batalla entre los formatos multimedia en Internet afectando a tecnologías existentes como Flash, Silverlight o Java FX. Uno de los objetivos de HTML 5 es, precisamente, rellenar el hueco que los plugins propietarios están intentando cubrir. De esta forma se dispondría de un estándar abierto capaz de acabar con la dependencia de plugins de terceros o propietarios que, por ejemplo, han tardado más tiempo en implementarse para GNU/Linux.

¿Ustedes que opinan?

Articulo Original: Barrapunto

lunes, junio 15, 2009

3 Maneras de Reducir el alcance

La forma más común para que los equipos entreguen productos más rápido es reduciendo el alcance de cada producto. Sin embargo, esto no puede hacerse de manera arbitraria. Hay motivos de negocio reales para cada una de los requerimientos que se piden (¡o al menos eso esperamos!).

Bob Hartman nos cuenta 3 formas básicas por las cuales los equipos pueden reducir el alcance de manera exitosa.

Cómo reducir el alcance

Para lograr que un equipo entregue 50% más rápido se puede:

  1. Entregar 50% menos de requerimientos.
  2. Entregar todos los requerimientos pero con un 50% menos de detalles en cada requerimiento.
  3. Entregar todos los requerimientos con distinto nivel de detalle en cada requerimiento.

Veamos en detalle de qué se trata cada estrategia.

Entregar 50% menos de requerimientos

La explicación es obvia, y es la más facil de implementar. Como las metodologías ágiles usando un backlog priorizado de trabajo, el Dueño del Producto puede hacer que el equipo trabaje en órden de prioridad hasta que se haya entregado el suficiente valor para hacer una entrega razonable. El peligro acá es no ser lo suficientemente agresivo sobre cuánto es suficiente. La mayoría de los Dueños de Producto todavía caen en la trampa y agregan más características al producto aunque el mismo ya pueda entregarse. Supongo que esto ocurre porque los Dueños de Producto son conservadores por naturaleza.

Nuevamente, este método es simple y efectivo, excepto cuando los equipos de ventas y marketing "prometieron" características que están con baja prioridad en la lista. Si un equipo entrega 25 de las 26 características prometidas, el cliente podría enojarse. Si entrega estas mismas 25 características cuando se habían prometido sólo 20 van a ser felicitados como héroes. ¡Hay que ser muy cuidadoso con los compromisos externos para poder cumplirlos!

Entregar todos los requerimientos pero con un 50% menos de detalles en cada requerimiento

Esta es un poquito diferente. Evita el problema del método anterior porque se entregan todos los requerimientos. Este método se basa en el hecho de que el 64% de las características se usan poco o nada (según el estudio de Standish Group). Para poder entregar un 50% más rápido, se debería eliminar en promedio el 50% de cada requerimiento, e igualmente no dañaríamos el "núcleo" del software, el cual será usado la mayor parte del tiempo.

La desventaja es que se trata por igual a cada requerimiento, y es probable que recortemos demasiado en algunos requerimientos, y no lo suficiente en otros. Lo que nos lleva al método final...

Entregar todas los requerimientos con distinto nivel de detalle en cada requerimiento

Con este método se desarrollan por completo los requerimientos de mayor prioridad, mientras que los menos importantes se construyen sólo lo suficiente como para poder decir que funcionan bien. Los requerimientos en el medio de los extremos van teniendo cada vez menos características y detalles a medida que disminuye su prioridad. Esto permite que los requerimientos más importantes sean más útiles, y las características menos importantes terminan siendo las menos útiles. Esto salva el problema del primer método ya que se entregan todos los requerimientos, y también supera los problemas del segundo método porque se entrega el máximo valor para los elementos de mayor prioridad.

Conclusión

El primer método se encarga de "cortar" el alcance de manera horizontal (una línea horizontal a través del backlog, mostrando el último requerimiento que se desarrollará). El segundo método corta de forma vertical (una línea vertical por el backlog, mostrando cuánto se desarrollará comparado con el máximo). El tercer método corta de forma diagonal (una línea diagonal hacia la derecha, mostrando cuánto se va a desarrollar de cada elemento del backlog). El primer método es el más común, pero es muy real el problema de dejar afuera características ya prometidas. El último método es superior, pero también el más dificil de lograr.

El último método puede lograrse creando una pequeña parte de cada requerimiento durante las primeras iteraciones. De esta manera el Dueño del Producto sabe que se podrían entregar todas las características en algún momento futuro, si los detalles no importaran. En ese punto el Dueño del Producto puede priorizar cuánto tiempo y esfuerzo quiere aplicarle a cada requerimiento, y así va creando el nivel de detalle apropiado - y como siempre, con la libertad de cambiar prioridades si así conviene.

Es común caer en la trampa de pensar que se necesitan todos los requerimientos para entregar el producto. Si se logramos establecer las expectativas de manera correcta, podremos ver que es muy raro que ese sea nuestro caso.

Articulo Original: DosIdeas

lunes, junio 08, 2009

Incursionando en el inhóspito mundo de Ajax el boom de la web 2.0

Conoces sobre esta herramienta o tecnica moderna pero no nueva en el mundo web. Para los curiosos, les dejo una breve introducción.

AJAX, acrónimo de Asynchronous JavaScript And XML

JavaScript asíncrono y XML : es una tecnica para el desarrollo de aplicaciones web mas interactivas lo cual permite tener mejor velocidad y usabilidad de aplicaciones web. Se trata de interactuar mas con el cliente de forma que teniendo una comunicacion en segundo plano con el servidor y asi poder recargar o actualizar parte de nuestra web (modulos, bloques, consultas, etc) sin necesidad de que el navegador o cliente refresque toda la pagina.

Ajax aunque recibe dicho nombre en el 2005 tiene antecendes un tanto historicos se remonta a 1993 cuando el nevegador iexplorer 3.0 implementa el elemento iframe y el netscape 4.0 implementara el elemento Layer, por que se dice que podian lograr efectos tipo ajax con estos elementos? simple los dos poseen el atributo src lo que permitia capturar cualquier url externa y a su ves ejecutar codigo javascript dandole un toque de efectos ajax.

Elemento importante en el entorno Ajax es la interfaz XMLHttpRequest, Creada por microsoft cuando por primera ves se uso mediante un objeto ActiveX, seguido en el 2002 Mozilla implemente en la V1.0 de su navegador dicha interfaz es usada de enviar o hacer peticiones HTTP y HTTPS a un determinado servidor web y asu ves para la codificacion de los datos enviados pueden usar cualquiera basada en texto, incluyendo: texto plano, XML, JSON, HTML.

Luego les contare mejor mis experiencias con ajax, por los momentos estoy trabajando en la integracion de joomla con ajax pero mi intencion basicamente no es integrar al 100% joomla(CMS) con interaccion ajax debido a que una web totalmente bajo dicha interfaz podria ser un tanto confusa dependiendo de la manera como se implemente.

Referencias: Wikipedia

blooper : Wikipedia Say: Encarta no te llevo nada.
Encarta Say: Ya me ganastes lo admito T_T.

JSON vs XML

Cual de estos dos Formatos crees que es mejor para el intercambio de datos al momento de usar XMLHttpRequest y Ajax.?




! uno no nace con la ignoracia, uno la desarrolla y despues tu mismo culpas a otros por lo q tu mismo desarrollastes piensa asi no tengas idea. Razonar es bueno para la salud xD ¡

martes, junio 02, 2009

¿Cómo hacer para ser más atractivo para las empresas en estos tiempos de crisis?

Nuestra vocación profesional es una de las variables que más debemos tener en cuenta a la hora de pensar en ideas para mejorar. Y es que en nuestro trabajo pasamos la mayor cantidad de horas del día, es la fuente de nuestros recursos económicos, pero más importante aun, es también fuente de satisfacción o insatisfacción de muchos que se sienten que han triunfado o también fracasado según sea el caso.

Es por ello que conviene estar siempre atentos de cómo trabajar mejor, como ser más productivos. De esto dependerán nuestros ascensos, nuestra línea de carrera y en algunos casos nuestro nivel de recompensa personal y económico.

Las empresas se han vuelto más exquisitas para reclutar personal, antes bastaba con terminar en una universidad o instituto de cierto prestigio y tener experiencia, pero ahora el factor crucial para tomar la decisión de contratación ya no será su formación académica o su experiencia sino sus capacidades relaciones.

¿Qué se exige en los profesionales hoy en día?

Que el profesional tenga habilidades o competencias y valores. En cuanto a las competencias, las hay de muchos tipos, pero para efectos prácticos las clasificaré en dos, las personales y las sociales. Dentro de las personales están incluidas el orden, pero no el orden para tener el escritorio ordenado, sino el orden mental para priorizar las cosas en tu vida, a qué le da uno mayor importancia, saber cuando hacer primero lo importante y cuando lo urgente, cuando adaptarse a la realidad (muy útil en tiempos de crisis). Otra de las competencias es la capacidad de las personas para tomar decisiones, saber negociar, liderazgo y pensamiento estratégico (ver el panorama completo, a mediano y largo plazo). Los exitosos lo son porque no sólo están en “el aquí” y “el ahora”. Están pacientemente dando pasos firmes en la dirección correcta.

En relación a las competencias sociales, las más importantes son la red de contactos que hayamos tejido, la capacidad para manejar eficazmente conflictos, trabajo en equipo e inteligencia emocional (capacidad para conocer tus emociones, desarrollarlas y controlarlas y conocer las de tu interlocutor, entenderlas y actuar en consecuencia). La relación con los demás es muy importante, ya sea con compañeros de trabajo, subordinados o jefes. Se debe tener la capacidad para generar empatía con los demás a pesar de problemas internos. Muchas veces se tiende a pensar que el jefe tiene que tratar como capataces al equipo que tiene a cargo para imponer respeto. Nada más falso. Un jefe que dice que es el jefe es una mala señal, implica que el liderazgo en ese jefe ya está por los suelos. Debe ser capaz de gestionar la impopularidad de decisiones correctas pero a veces difíciles de tomar. Debe utilizar un liderazgo sustentado en la intuición y creatividad.

Otro de los valores principales que debe tener es la humildad, valor que maneja bien el fracaso y maneja bien el éxito. Humildad para pasar la página del éxito con rapidez y de igual forma, en tiempos de crisis, tener la automotivación para ver oportunidades. Cuando cometen errores, aprenden de ellos, alzan el vuelo y siguen caminando. Y cuando parece que les van bien las cosas no se lo creen demasiado. El torpe es el que cree que nunca se equivoca. El inteligente es el que se da cuenta cuando se equivoca, pero más inteligente cuando lo corrige, y más aun cuando pide disculpas. No se “comparan con”, sino que “quieren aprender de”.

También buscan gente optimista, sobre todo en estos tiempos en los que la mayoría se lamenta de la crisis. Es ahora cuando hay que ver el vaso medio lleno. Normalmente este tipo de gente tiene muy buen humor. El humor es el que te evita caer en la desesperanza. El humor realmente te salva de la depresión. No se trata de contar chistes, sino de tener la capacidad de reirse de si mismo, de no creerse superman, de reconocer que es capaz de todos los errores y los horrores posibles, porque interiorizando eso, estarán alertas para no cometerlos.

Se busca también una persona que tenga claras sus prioridades y metas en la vida. Que tenga un plan de vida definido. Si bien es cierto dicen que el hombre propone y Dios dispone. Sin embargo, nos encontramos a veces con gente que tiene planificada al milímetro su vida, y cualquier giro lo hace angustiarse demasiado. Por el contrario, otros van por donde se los lleve el viento. Miguel de Unamuno decía: “Nada de plan previo, que no eres edificio. No hace el plan a la vida, sino que ésta la traza viviendo. No te creas más, ni menos, ni igual que otro cualquiera, que no somos los hombres cantidades. Cada cual es único e irrepetible, en serlo a conciencia pon tu principal empeño.”

En el fondo, creo que es muy importante tener un Norte, un plan de vida definido, pero a la vez tener la flexibilidad para adaptarse a los tiempos. ¿Por ejemplo, quién se iba a imaginar hace un año que el mundo estaría como está hoy en día sumido en la peor crisis financiera en más de 70 años? Ayudará bastante que el hoy lo aprovechemos el máximo. Hay una corriente muy fuerte de aprovechamiento del tiempo, que le llaman “Time Management”. En la medida que aproveches al máximo tu tiempo hoy, te estarás asegurando el éxito del mañana. Ten en cuenta que los días perdidos no vuelven, y al final del trayecto los echaremos de menos.

Artículo Original: DosIdeas

jueves, mayo 21, 2009

¿Desarrolladores o compradores compulsivos?

Imaginemos que estamos en el supermercado y que hay una prueba que quieren hacer para un estudio de la facultad, donde nos invita a participar de esta prueba de laboratorio que consiste en que nos dan un minuto y medio para llenar el changuito como querramos y antes del minuto y medio, tenemos que llegar a la caja para llevarnos gratis lo que hemos 'comprado'.

Seguramente habrá diferentes estrategias y una muy comúnque es la de comprar como loco lo que tenemos a mano. Podemos decir entonces que algunos desarrolladores creen que el desarrollo de sistemas es una prueba de laboratorio (un juego), y entonces el negocio aquí es poner frameworks y tecnologías para nuestros planes de estudio (CV), ups, quise decir para los proyectos. Sería lo mismo que si vamos al médico y nos comienza a dar remedios que no necesitamos, no nos va a gustar no? Es probable que no nos haga bien a la salud.

¿Cual debería ser nuestro pensamiento?

Para empezar el desarrollador de verdad lleva su trabajo en serio, eso significa que él no irá a introducir una tecnología o framework que el cliente no precisa. Es desarrollador verdadero, está preocupado en resolver los problemas del cliente y no los problema de su currículum
Ser desarrollador profesional implica que a veces tengamos que usar tecnologías que ya están ahí, hace un buen tiempo y que muchos conocen.

Un desarrollador profesional sabe la diferencia de innovación e innovar para el cliente y la diferencia de hacer las cosas para propósito solo personal.

Falta de ética...

Para algunos es una palabra fuerte. Pero es la verdad, realmente no entiendo porque un médico o un ingeniero civil pueden responder por sus actos y un desarrolldor de software sale ileso y sin responder a nada. Cuando un edificio cae porque está mal proyectado el ingeniero es el responsable y responde legalmente por eso, y cuando hablamos de desarrollo de software, lo máximo que va a pasar es que el desarrollador vea su CV aumentado con algunas tecnologías y frameworks mas, ¿y el cliente? ¿y la ética?

Infelizmente la ética no es un asunto que se converse mucho en los entornos de TI, aunque debería, así como los valores, esto ocurre porque muchos fabricantes de software solo quieren vender, vender y vender sus productos y si se las puede llamar a eso 'soluciones'.

De nada sirve el API....

Eso no es verdad para el desarrollador supermercadista, porque saber bien un API y tener muchas certificaciones cuenta mucho para que él aumente su salario. El problema es que el desarrollador supermercadista no sabe hacer una solución de verdad. Eso pasa porque no sabe entender los problemas del cliente, porque no entiende de requerimientos, de gestión de proyectos, de análisis, de base de datos y principalmente de diseño.

El diseño es lo que diferencia a los desarrolladores profesionales de los picapedreros. Un buen desarrollador tiene que ser un buen diseñador. Nuestro trabajo está mucho mas allá de elegir frameworks, está en entender las reglas de negocio y los requerimientos.

De nada sirve la tecnología sin...

Un propósito. Toda decisión debe estar basada en requisitos o problemas que la tecnología o framework va a resolver. Enfoquemos nuestro trabajo en las necesidades que tenemos, necesitamos ser rápidos, tener arquitecturas robustas, nuestras aplicaciones tiene que escalar, y por sobre todo tienen que tener calidad.

En la fecha en que estamos las aplicaciones no pueden salir a producción sin un mínimo de escalibilidad y eso puede ser controlado através de pruebas de stress y carga y principalmente a través de los requisitos. La tecnología solo es buena cuando está bien aplicada, de nada sirve Spring, EJB, WS-*/WS-RS, ESB, SOA y otras si no fueron bien aplicadas y el catalizador es el negocio.

Entonces, siempre está pendiente de nuevas tecnologías o frameworks que mejoren la calidad de nuestras soluciones, en lo posible no desarrollando soluciones que existan, que están probadas, y muchas veces son estandares de hecho en el mercado, y pongamos los límites de la utilización de ello, en que siempre la implantación de esto sea lo mejor para el cliente o para el negocio y no solo para nuestro CV.

Articulo original: ¿Desarrolladores o compradores compulsivos?

martes, mayo 19, 2009

Mitos sobre el liderazgo

Hemos adoptado muchos conceptos erróneos y mitos acerca de los líderes y el liderazgo.

He aquí los cinco más comunes:

El mito de la gerencia

Un malentendido muy difundido es que liderazgo y gerencia son lo mismo. Hasta hace unos pocos años, libros que afirmaban ser sobre liderazgo por lo general eran realmente sobre gerencia. La diferencia principal entre las dos cosas es que el liderazgo consiste en influir en la gente para que siga al líder, mientras que la gerencia enfoca los sistemas y procesos de mantenimiento. Como antiguo presidente y jefe principal de la Chrysler, Lee Iacocca comentó con ironía: “A veces hasta el mejor gerente es como aquel muchacho que pasea un perro grande y espera a ver dónde quiere ir el animal para entonces llevarlo allá”.

La mejor forma de probar si una persona es líder en vez de gerente, es pedirle que haga algunos cambios positivos. Los gerentes pueden mantener el rumbo, pero no pueden cambiarlo. Para cambiar el rumbo de las personas, usted necesita influencia.

El mito del empresario


Con gran frecuencia la gente supone que todos los vendedores y empresarios son líderes. Pero ese no siempre es el caso. Tal vez usted recuerda los comerciales de Ronco que aparecieron por televisión hace años. Vendían artefactos como Veg-O-Matic [procesador de vegetales], Pocket Fisherman [caña plegable de pescar], y Inside-the-Shell Egg Scrambler [aparato para revolver huevos dentro de la cáscara]. Esos productos eran inventos de un empresario de nombre Ron Popeil. Llamado “el vendedor del siglo”, este hombre también ha aparecido en muchos comerciales informativos de diversos productos, como remedios para la calvicie en atomizador y aparatos para la deshidratación de alimentos.

Es muy cierto que Popeil es emprendedor, innovador, y exitoso, especialmente si lo mide por los $300 millones de ganancia que la venta de sus productos ha dejado. Pero esto no lo convierte en un líder. La gente puede estar comprando lo que él vende, pero no lo sigue. En el mejor de los casos, el puede persuadir a la gente por un momento, pero no tiene influencia sobre ellos a largo plazo.

El mito del conocimiento

Sir Francis Bacon dijo: “El conocimiento es poder”. Mucha gente que cree que el poder es la esencia del liderazgo, naturalmente supone que los que poseen conocimiento e inteligencia son líderes. Pero eso no sucede de manera automática. Usted puede visitar cualquier universidad importante y conocer hombres de ciencia ocupados en la investigación y filósofos cuyo poder de raciocinio es tan alto que se sale de las gráficas, pero cuya capacidad para dirigir es tan baja que ni siquiera se registra en las gráficas. El cociente intelectual (IQ) no necesariamente equivale al liderazgo.

El mito del precursor


Otro concepto erróneo es que todo el que está frente a la multitud es un líder. Pero ser el primero no siempre es lo mismo que ser el líder. Por ejemplo, Sir Edmund Hillary fue el primer hombre en llegar a la cumbre del monte Everest. Desde su ascenso histórico en 1953, mucha gente lo ha “seguido” en la realización de esa hazaña. Pero eso no convierte a Hillary en un líder. Ni siquiera fue el líder de esa expedición particular. El líder era John Hunt. Y cuando Hillary viajó al Polo Sur en 1958 como parte de la Expedición Transantártica de la Comunidad de Naciones, iba acompañando a otro líder, Sir Vivian Fuchs. Para ser líder, una persona no sólo debe ir al frente, sino que también debe tener gente que intencionadamente viene detrás de ella, sigue su dirección, y actúa sobre la base de su visión.

El mito de la posición

Como ya se dijo, el peor de todos los conceptos erróneos acerca del liderazgo, es que se basa en la posición. Pero no es cierto. Stanley Huffty afirmó: “No es la posición lo que hace al líder; es el líder quien hace la posición”.

Observe lo que sucedió hace varios años en Cordiant, la agencia publicitaria conocida antiguamente como Saatchi & Saatchi. En 1994, inversionistas institucionales en Saatchi & Saatchi obligaron a la junta directiva a despedir a Maurice Saatchi, el jefe principal de la compañía. ¿Cuál fue el resultado? Varios de los ejecutivos lo siguieron. También lo siguieron algunas de las cuentas más grandes de la compañía, incluidas British Airways, y Mars, el fabricante de caramelos. La influencia de Saatchi era tan grande que su partida ocasionó que las acciones de la compañía bajaran inmediatamente de $8.5 a $4 por acción.

Lo que sucedió fue resultado de la Ley de la Influencia. Saatchi perdió su título y su posición, pero siguió siendo el líder.

Basado en John C. Maxwell, Las 21 Leyes Irrefutables del Liderazgo (Dos Ideas)

lunes, mayo 11, 2009

Ser muy productivo puede ser malo!

Lamentablemente, este simple tema de asegurar que nadie trabaje muchas horas por día (más de 10 ó 12) en un equipo a veces no sucede. Cuando un equipo está atrasado con respecto a la planificación, la primera cosa con la que un líder novato (o no hábil) es presionar para que su equipo haga muchas horas de trabajo. En una organización de desarrollo, si un líder hace esto alguna vez es inmediatamente puesto en la lista negra por la gente que lo rodea.

Sin embargo, en la misma organización de desarrollo, algunos desarrolladores pueden quedarse ellos mismos a terminar cierta cantidad de trabajo, aún si el líder no le pidió que lo haga. Esto suele estar bien visto. Se entiende que cuando estás programando una solución a un problema no quieres abandonarlo por la mitad sólo porque son las 6 pm... pero a veces los desarrolladores se van de tema con esto.

De hecho, si estás en un proyecto de XP (o no), es mejor para tí que no trabajes muchas horas de más. Por ejemplo, si estás trabajando 12 horas todos los días en una iteración y terminas entregando 10 puntos en esa iteración, cuando el líder mire la velocidad anterior va a planear cerca de 10 ó 12 puntos de trabajo en la próxima iteración. Si esto pasa continuamente tu líder va a olvidar que esto era sólo un excepción en una iteración en la que te mataste por 12 horas, y rápidamente se va a convertir en la norma. Un líder novato o poco orientado a las personas va a estar propenso en caer fácilmente en este error. La próxima vez, si estás de vacaciones por una iteración, la gente restante en el equipo debe alcanzar el mismo resultado al que llegaban contigo, lo que implícitamente significa que ellos trabajarán 12 horas o más.

Mientras que tu equipo (y la mayoría de los líderes) serán bien vistos por los stakeholders por tener terminado un montón de trabajo constante en una iteración, vos como desarrollador vas a sufrir de agotamiento. Y sabes bien que la próxima vez que no estés ahí tu equipo va a sufrir, ya que otros en el equipo pueden no estar preparados para una maratón de 12 horas.

De lo que estoy hablando acá es de como lograr un ritmo sostenible en el equipo. No sólo da predecibilidad para que la gente planifique sus iteraciones mejor, sino que también mantiene al equipo en marcha juntos por meses, sin agotarse.

Si sos desarrollador o líder, por favor no abuses de vos mismo o de tu equipo matándose de trabajo todas las noches.

Traducción del Original

martes, mayo 05, 2009

Alternativas a Visual Studio

Para aquellas personas habituadas al desarrollo de aplicaciones Microsoft (basadas en WinForms, ASP.Net o inclusive WPF, WWF, WCF) quisiera mostrarles las distintas alternativas que existen que les van a permitir seguir desarrollando en los lenguajes a los que están acostumbrados (C#, VB.Net, XAML) sin necesidad de pagar licencias de SO Windows ni de Visual Studio:

  • Monodevelop: Es un IDE liviano basado en GTK, trabaja con el framework Mono, no trabaja con .Net framework, hay binarios para la mayoria de las distribuciones GNU/Linux aunque para windows se puede generar desde los fuentes,editor visual de interfaces gráficas en GTK, soporte para aplicaciones ASP.Net.

  • SharpDevelop: Es un IDE extremadamente liviano, soporte .Net Framework y Mono, editor visual de interfaces gráficas en Windows Form y WPF, soporte para C#, VB.Net, Boo, F# e IronPython, soporte para ASP.Net, el instalador sólo pesa 14 MB en comparación con los casi 4 GB del Visual Studio de Microsoft, soporte para .Net 3.5 (WPF, WCF, WWF).

Que son las Ondas

Te haz preguntado alguna vez como es que puedes comunicarte en tiempo real con una persona en particular ubicada a kilómetros de distancia de ti mediante un simple dispositivo llamado teléfono inalámbrico o alambrico?

Pues esta comunicación en tiempo real es posible gracias a un fenómeno denomina Onda. Una onda es un mapa mental definido es decir, una señal que se encuentra en la atmósfera y que no puede ser visualizada por ojo humano.

Un concepto más exacto de Onda podría ser; es una perturbación que se propaga en un medio. Para que una onda se produzca es necesario la actuación de una fuente como masa de perturbación y de un medio por el cual dicha perturbación se desplace; una onda esta conformada por: La Cresta, el Valle, la Amplitud el Nivel de Equilibrio y la Longitud de Onda. La misma depende de una Frecuencia y de un Periodo. Ver Fig. 1


Fig. 1 Onda y sus Características
Los puntos altos sobre una Onda se denominan Cresta y los Bajos Valle.
Amplitud: Es la altura máxima de una Cresta, o la profundidad máxima con respecto a un valle.
Longitud de Onda: Es la distancia entre dos Crestas sucesivas.
Frecuencia: Es el numero de Crestas o ciclos completos que pasan por un punto dado en una unidad de tiempo.
Periodo: Es el tiempo requerido para que una Oscilación completa o ciclo completo de la Onda pasen por un punto dado a lo largo de su línea de viaje.

Una Onda puede generarse de forma Transversal o Longitudinal. Las Ondas Transversales viaja de izquierda a derecha mientras que sus partículas vibran hacia arriba y hacia abajo en dirección transversal o perpendicular a la misma onda, la Longitudinal es aquella donde la vibración de las partículas del medio es a lo largo de la misma dirección que el movimiento de la onda.

Existen varios tipos de Ondas entre las cuales se encuentran las Ondas Mecánicas, Ondas Electromagnéticas y hasta Ondas de Luz… Próximamente se estarán desarrollando estos temas.