Cómo coordinar de forma efectiva (y básica) un desarrollo de software en tu empresa
Realizar un desarrollo interno de software no es la tarea más sencilla del mundo. Estas pautas básicas me han ayudado en el pasado.
No eres IBM ni Microsoft sino más bien un hombre de orquestra o como mucho una pequeña pyme. No tiene nada que ver el desarrollo de software si eres una multinacional o un negocio más modesto. En ambos casos el desarrollo y la implementación de software nuevo es un reto.
Derechos de foto de Fotolia
Antes de meterte en un grande o pequeño desarrollo
No estamos hablando necesariamente de crear algo desde cero. Se puede tratar de algo más sencillo como lanzar una nueva web corporativa basada en WordPress o actualizar el diseño de tu tienda online. Aunque a priori no suene muy complicado siempre surgen problemas y el tiempo de trabajo al final es mucho más largo del inicialmente previsto. Ten claro algunas cosas (básicas):
- Si no estás dispuesto a hacerlo bien no lo hagas. Las chapuzas se pagan caro, te lo digo por experiencia.
- Es siempre preferible trabajar con gente interna que con técnicos externos por la facilidad de la comunicación.
- Necesitas recursos en forma de tiempo y dinero para llevar a cabo esta tarea. Si únicamente inviertes poco de uno, necesitarás más de lo otro.
Pautas básicas para tu desarrollo interno
Están muy bien las metodologías de desarrollo de software y no hay nada que añadir. A la mayoría de las organizaciones pequeñas les pueden venir demasiado grande. Si realizas un desarrollo de cientos de miles o millones de euros no tienes otra opción que contratar un gestor de proyectos. Con un software a la vista que requiere este tipo de inversión para de leer porque esta post no te va a servir. Si tu objetivo es más modesto los siguientes consejos te pueden servir para ahorrar tiempo y dinero.
- Divide el trabajo en partes pequeñas: solemos ser demasiado optimistas. Cuando iniciamos un cambio lo realizamos con mucha ilusión y queremos hacer de repente todo aquello que no hemos hecho durante años. Es mejor elegir pequeños para poder producir un resultado en un plazo razonable. Hay que priorizar y diferenciar lo que es absolutamente esencial y lo que puede llegar en una segunda fase.
- Externaliza parte de tu trabajo: aunque tengas un equipo o tú mismo puedas hacerlo siempre te va a venir bien externalizar una parte de tu trabajo. No lo veas tanto como un coste sino más bien como una inversión que te va a liberar tiempo para centrarte en las cosas esenciales. Además siempre tendrás que llevar la carga normal del día a día. No es una buena idea subir el nivel de estrés durante un tiempo de varias semanas o incluso meses al infinito.
- Reúnete mínimo una vez por semana: las reuniones semanales son indispensables para que todo el mundo vaya trabajando en la misma línea. Siempre pueden surgir malentendidos o cambios de prioridades. Cuando no documentas los requerimientos necesitas esta compensación de forma regular para que los técnicos puedan realizar el trabajo en función de lo que necesitas y quieres.
- Deja a los técnicos trabajar con tranquilidad: en caso de que tengas oficinas compartidas es esencial que los programadores tengan su espacio aislado. Incluso puede ser una buena opción que trabajen desde casa para ir más rápido. En momento de puntos de carga de trabajo importante, la velocidad de los avances suele ser más importante si por la tarde acuerdas que no se les puede molestar.
Realizar un desarrollo de software grande o pequeño lleva tu grande o pequeña organización al límite de sus capacidades. Es una fuente de problemas por lo que hay que dedicarle la atención que se merece. Pequeños matices como los que acabo de mencionar no te solucionan todo pero pueden evitar o aliviar sus efectos secundarios. ¡Suerte y animo! 😉
Me dedico a ello a nivel regional y puedo asegurar que cuando hay, es un regalo del cielo, y cuando no hay es como jugar a la ruleta rusa en que cada semana que pasa sin entrar nuevos proyectos se agrega una bala.
Sin ir más lejos el año pasado conseguí y un proyecto de 4 ceros. Ahora se me quema el coco (y la billetera) para armar la tan BENDITA Y NECESITADA “Cadena de trabajo”.
Otro factor importante es que se compite con una mano de obra terriblemente barata de Asia en los proyectos grandes (+4 ceros) se auditan en Subastas a la Inversa. Una pena porque denigra al sector.
Mi humilde y trizte opinión al respecto.
Yo me he visto en varias de esas y cada vez que externalizabas un desarrollo (siempre a empresas nacionales, claro) este se convertía en una jaula de grillos y una fuente de problemas considerable.
Las empresas con las que externalizas suelen presupuestar justas y ante cualquier problema, una vez han aceptado los primeros pagos (siempre por adelantado) me he encontrado con respuestas tipo “eso no es viable”, “eso no se puede hacer” (cuando sé perfectamente que se puede), “eso encarece”, “eso no aparecía en el proyecto” (y cuando SI aparece se hacen los orejas o miran para otro lado), etc…
También suelen tener bailes de programadores, “ya no trabaja con nosotros la persona que lo programó”, o los típicos de no tecogen el teléfono o no responden a tus mails…
¿Que hacer ante estos problemas?, yo lo tengo claro… si no se cumple y han cobrado… demanda y reclamación de cantidades. Si no han cobrado “…el que paga descansa, pero el que cobra mucho más…“
[…] un proyecto online lo tiene claro. Es una pesadilla. Hace poco escribí sobre una posible manera de coordinar de forma efectiva y básica un desarrollo de software. Mi propuesta evidentemente no te sirve si tienes proyectos grandes que requieren la […]