viernes, 4 de enero de 2008

Estimacion de costes en proyectos informáticos

Me he reido bastante con esta entrada en el recién descubierto (por mi, claro) blog SoyGeek. Entre otras cosas porque tengo bastante recientes un par de experiencias de este tipo.

Fusilo casi literalmente la entrada original:


Cliente: ” Necesito un tropicontero”
Consultor: “Ningun problema, somos expertos en IT, asi que si alguien sabe hacer tropiconteros, nosotros tambien (porque si no a ver que comemos el mes que viene)”
Cliente: “Cuanto me va a costar el tropicontero?”
Consultor: “jajaja, esto va uno que diceeee, wass wass, mira el pajarito!, oye, cuanto presupuesto te quieres gastar?”
Cliente: 10.000
Consultor: 10.000
Cliente:”Y cuanto vais a tardar en tenerme el tropicontero listo?”
Consultor: un año
Cliente: “lo necesito para dentro de un mes”
Consultor: un mes
Cliente: “Perfecto, pues cuando me pases la propuesta-contrato en la que especifiques lo que vais a hacer la firmo y empezamos”
Consultor: “Pero es que no puedo saber a priori lo suficiente del proyecto para hacer una propuesta-contrato que no sea totalmente al azar!”
Cliente:”pues todas esas otras empresas lo hacen, y estan deseosas de trabajar para mi”
Consultor:” Ningun problema, la semana que viene te la traigo y la firmas, por cierto, aqui tienes la pda esa de la que hablamos y con la propuesta te traigo una cesta de navidad”
Cliente:”Trato hecho!”
Consultor:” Trato hecho!”

(Al final el tropicóntero resultó ser del tipo wafensneider, un tipo especialmente complejo de tropicónteros, con lo que el equipo de desarrollo se las vió y se las deseó para que el proyecto funcionara, dependiendo el 90% del desarrollo de un consultor del tipo “Michael Jordan”, que acabó quemándose y dejando la empresa. El proyecto se entregó con retraso y costó más de lo que se había estimado al principio y falla con determinados inputs, pero el cliente está contento, ya que aquello funciona mas o menos, y cuando falla, tienen un equipo de soporte que hace a mano lo que falta)




 

Autobiografía

Esta frase/chiste en microsiervos me ha recordado esta otra:

Autobiografía de un jamón: Yo era un cerdo, pero me curé



 

El increible espejo de madera

Creado en 1999 por Daniel Rozin este espejo (evidentemente, en sentido estricto este no deberia ser su nombre puesto que no refleja ninguna luz) posee una pequeña cámara de video con la que registra las imagenes que se encuentran delante de el y un ordenador que analiza la imagen y es capaz de mover rápidamente las 830 piezas de madera de que consta el espejo para construir la imagen. Impresionante.






Visto en abadía digital

 

Hábitos comunes en personas creativas.

Fusilado y resumido de Variable not found:

1. Trabajar duro

La innovación implica algo más que tener grandes ideas. Hay que tener fe, trabajar duro y luchar en contra de la marea para conseguir nuestros objetivos. Como dijo Thomas Alva Edison: La invención es un 1% de inspiración y un 99% de transpiración"

2. Evitar inhibiciones

Estas inhibiciones nos hacen sentirnos limitados y bloqueados, necesitamos abrir la mente eliminando asunciones y restricciones, abrirnos a nuevas ideas y soluciones sin limitaciones mentales de ningún tipo. La innovación tiene más que ver con la psicología que con el intelecto.

3. Asumir riesgos, cometer errores

El miedo al fracaso es uno de los causantes de que fabriquemos nuestras propias limitaciones. Está claro que algunas ideas fallarán durante el aprendizaje, por lo que es conveniente construir prototipos frecuentemente, probarlos, someterlos a discusión, usar el feedback y realizar cambios de forma incremental: En lugar de tratar los errores como fracasos, es conveniente pensar en ellos como experimentos, aceptémoslos y utilicemos la lección aprendida para encontrar nuevas y mejores soluciones. Los errores forman parte del camino hacia el éxito.

4. Escapar

Cuando más relajados estamos internamente, más receptivos somos respecto a nuestra creatividad. Este es el motivo por el que frecuentemente tenemos grandes ideas en el cuarto de baño, en la cama o estando solos. Cada uno de nosotros contacta con "su lado más creativo" de una forma diferente, sólo es cuestión de averiguar cómo.

5. Anotar las ideas

Muchos creativos y personas innovadoras tienen siempre a mano algo donde apuntar ideas y pensamientos: libretas, post-it, papel, o algo más tecnológico. Da igual el soporte, lo importante es disponer de una forma de capturar sus pensamientos, pensar sobre el papel, romper con las inhibiciones y comenzar el proceso creativo.

6. Encontrar patrones y combinarlos

Las ideas aparecen partiendo de otras ideas. Por ejemplo, Edison no fue el inventor de las bombillas, pero hizo que pudieran durar más tiempo creando un filamento de carbono e introduciéndolo en el interior de un cristal. Ábrete a nuevas ideas, estúdialas y piensa en combinarlas para mejorar soluciones existentes.

7. Ser curioso

Muchos innovadores son simplemente personas curiosas a los que les gusta resolver problemas. Es una buena costumbre observar soluciones existentes y preguntarse si hay otras vías para hacerlo, cuestionarse las normas y métodos existentes.


 

jueves, 3 de enero de 2008

Videos para programadores

No me habia dado nunca por buscar videos sobre programacion en youtube. Pero ha sido encontrar uno por casualidad y darme cuenta de que hay mas de lo que me daría tiempo a ver en este año que empieza.

Un par de ellos para abrir boca:

Effective Java programming, con Joshua Bloch. Joshua es actualmente uno de los principales ingenieros de desarrollo en Google, tras pasar varios años en Sun implementando nuevas funcionalidades para Java, como el framework de colecciones, o el package java.math.









Bill Pugh es el inventor de las Skip list, un tipo de estructura de datos basada en listas enlazadas que permite una mayor agilidad a la hora de buscar un determinado elemento o insertar uno nuevo en la lista. Tambien es el responsable del modelo de memoria de Java.

En este video le podemos ver en una excelente presentacion hablando sobre las anotaciones en Java (introducidas en java 1.5 y que hasta ahora no he tenido que usar: buen momento para empezar) y su uso para evitar errores lógicos comunes en tiempo de compilacion.






Sorprendentemente, canal en Youtube de Sun es bastante pobre en este sentido, solo disponen de cortos videos publicitarios. En cambio, se pueden encontrar otros canales magníficos, como gorilla3d (no exclusivamente sobre java) con unos tutoriales cortos, directos y bastante claros o el de GoogleDevelopers con explicaciones sobre los APIs de programación de la casa.

Via javalobby