Los Proyectos Software en Singular Factory (Parte 1)

Izzat Sabbagh Rodríguez
Pautas para un agestión feliz

El desarrollo de software siempre ha estado rodeado de vanos intentos de controlar totalmente lo incontrolable. Todas las metodologías de gestión de proyectos de software y las guías de buenas maneras sobre el desarrollo de software giran alrededor de la planificación, el aseguramiento y la gestión de cambios sobre algo que se define por si mismo como ejemplo claro de incertidumbre, crear software.
Un proyecto de desarrollo de software, es ante todo, un proyecto. Por ello, puede tener éxito o fracasar estrepitosamente debido a una serie de factores en los que Singular Factory pone especial atención. De entre dichos factores, podemos destacar los siguientes.

a. La Dirección del proyecto

Cuanto más capacitada, activa y preparada esté dicha Dirección, más rápidamente podrá reaccionar ante los imprevistos y de esta manera, podrá reconducir el desarrollo para obtener los resultados esperados en plazos aceptables. La experiencia en la dirección de los proyectos, ciertamente es un grado y ayuda a evitar las amenazas que pueden hacerlo peligrar, detectando rápidamente los riesgos que las producen. En este factor hacemos bastante hincapié, porque ayuda a evitarnos muchos dolores cabeza y pérdidas de horas de trabajo. Esta tarea requiere un seguimiento continuo del estado del proyecto y su evolución por las distintas etapas del mismo. Un acompañamiento en los problemas y los inconvenientes que se presentan en el día día, y una gestión eficaz del factor humano, tan o más importante que los propios factores técnicos. No debemos olvidar que la principal labor de un director de proyecto, es allanarle la vida a los técnicos de su grupo humano para que puedan cumplir con sus objetivos, en forma y plazos.

b. Las capacidades del equipo de desarrollo

Los conocimientos se aprenden, las ganas, la predisposición y la actitud, no

Dentro de Singular Factory cultivamos y prestamos especial atención al factor ‘equipo humano’, por ello no esperamos a que la gente nos pida formar parte de ‘la familia’ sino que, directamente, los buscamos y animamos a que nos sorprendan con sus capacidades y sus ganas de aportar su visión a nuestros proyectos. Los conocimientos se aprenden, las ganas, la predisposición y la actitud, no. Por ello, apostamos por que nuestro equipo de desarrollo, sea ante todo, buena gente. De la formación nos encargamos nosotros.
Así pues, cuanto más conocimientos, capacidades y ganas atesoren, mayor índice de eficiencia tendrán a la hora de crear software. Pero no iremos muy lejos si sus capacidades se diluyen en el caos de una pésima planificación, o en las inseguridades de un mar de indefiniciones y golpes de timón continuos en los objetivos a conseguir. Nuestros desarrolladores se dedican exclusivamente a programar, no teniendo que pensar en qué o cómo deben hacer algo, sino en cuando deben tenerlo listo. De lo otro, siempre habrá alguien que se encargue.

c. Las comunicaciones entre los equipos

Una mala comunicación externa puede retardar la toma de decisiones, y con ello hacer tirar a la basura miles de lineas de código, con lo que ello conlleva de tiempo, y en definitiva, dinero.

Si bien es cierto que los conocimientos de un desarrollador lo pueden predefinir como candidato perfecto para participar en la consecución de los objetivos de un proyecto, su capacidad para comunicarse correctamente con los otros miembros del equipo es fundamental para que todo acabe de forma satisfactoria.
De la misma manera, es fundamental que la comunicación entre el equipo de desarrollo y el cliente sea fluida para conseguir aplicar la metodología que posteriormente comentaré. Tan vital es esta comunicación, que condiciona profundamente las posibilidades de éxito. Una mala comunicación interna puede llegar a difuminar los requisitos de un proyecto, aportando desviaciones a los resultados intermedios. Por otro lado, una mala comunicación externa puede retardar la toma de decisiones, y con ello hacer tirar a la basura miles de lineas de código, con lo que ello conlleva de tiempo, y en definitiva, dinero.

En SingularFactory, utilizamos intensivamente Basecamp como plataforma de comunicación con los clientes, aportando visibilidad del estado del proyecto y de la hoja de ruta que se está siguiendo. Aunque internamente los desarrolladores gestionan sus tareas de forma más detallada, esta herramienta también les aporta una guía sobre las decisiones tomadas, así como una ayuda a la hora de trabajar en la gestión de los cambios del proyecto.

Singular Factory en basecamp

Vista de proyectos de Singular Factory en Basecamp

Ver parte 2