¿Que es Cooperativas de programadores?

[Fuente: https://groups.google.com/forum/#!msg/cooperativas-de-programadores/5LQaVLJPKG8/WGoAnD3MKj4J ]

¿Qué es “Cooperativas de Programadores”?

Cooperativas de programadores es una iniciativa que pretende facilitar
el trabajo a los desarrolladores y clientes del software. Actualmente,
el mercado del software tiene multitud de problemas: subcontratación
abusiva, rotación laboral, costes ocultos y tiempos en formación, alto
riesgo, retrasos en los plazos, errores por encima de los deseados o
incertidumbre en el resultado final.

¿Que problemas existen actualmente en el mercado del desarrollo del
software?

Para que exista una solución, debe existir un problema previo.
Actualmente el software que se desarrolla tiene unos niveles de
calidad bajos por diferentes motivos de fondo:

Costes ocultos en formación: Estamos en un sector que cambia
constantemente y evoluciona de manera exponencial. Tal es así que
personas con mucha experiencia pueden quedar desfasadas si no se
renuevan constantemente. Del mismo modo, al existir multitud de
metodologías, personas que han recibido una formación académica o
universitaria, estas son recibidas de manera genérica. Por ello,
cuando un programador entra en un proyecto nuevo se requiere una media de 6 meses de formación para adaptarse a este proyecto.

Desconocimiento de lo contratado: Existe también otra problemática
que tiene que ver con la contratación del servicio. Este problema es
el desconocimiento del ambito del proyecto, de las espectativas
generadas en el cliente, del conocimiento que dispone el programador o
de que tareas solicitadas son o no viables. Este problema problema
provoca fustración tanto en los programadores porque se les pide
realizar tareas imposibles que muchas veces se resuelven a base de
horas extras impagadas y también en los clientes que ven como las
espectativas que tenían en el proyecto no se cumplen o dan fallos por
el agotamiento o incluso rotación de los programadores.

Alto riesgo = altos ingresos para inversionistas. Un tercer problema
anexo a los dos anteriores es que debido al riesgo que es desarrollar
software por los dos problemas anteriores, el inversor espera recibir
más beneficio por su inversión. Por ello, la única forma de obtener
más beneficio es buscar personal lo más barato posible, ya sea en
prácticas, contratos de categoria baja o bién explotando a los
trabajadores con horas extras impagadas para así obtener un margen de beneficio adecuado y ser competitivo en el precio a la vez. Por ello
ese riesgo lo acaba pagando en parte los programadores por una
explotación insalubre y otras por el cliente teniendo un software de
calidad baja o retrasos en los plazos.

¿Qué soluciones proponemos?

Para un software de calidad debemos proteger y respaldar lo más
importante: el factor humano. Para ello se debe facilitar una labor de
estandarización y protocolos para que tanto trabajadores como clientes
puedan entenderse fácilmente y así conseguir un software que cumpla
las expectativas del cliente y sea adecuadamente remunerado el
trabajador en proporción a unas horas correctas.

Autonomía de los profesionales

La base del desarrollo de software son los propios programadores. De
estos depende gran parte del trabajo productivo. Es muy importante que
estos desarrolladores se sientan a gusto con su trabajo y sientan
cierta autonomía en su carrera profesional. Así lo entienden muchas
empresas en EEUU o empresas como Google que ofrecen de un 20% del
tiempo de los empleados para desarrollar proyectos propios. Nosotros
proponemos que el programador pueda decidir en que se quiere
especializar para dedicarse a tipo de proyectos adecuados a sus gustos
o en que lenguajes, frameworks o herramientas quiere trabajar. Para
ello dispondremos de normativas de especialización a estos tipos de
proyectos. Del mismo modo, si no existiese una normativa adecuada a
sus necesidades este podría proponer y redactar nuevas normativas que
se aceptarán si cumplen los criterios de estabilidad y calidad para
trabajar.

Valorización y reconocimiento al trabajo productivo

Tener software de calidad implica tener programadores profesionales y felices de ejercer su trabajo, y como tal, se les debe reconocer su labor tanto en merito como económicamente. Por ello, se propone evitar capas intermedias que esperan recibir dinero únicamente por el riesgo realizado o por promoción de un producto. En conclusión, este proyecto está enfocado para personas freelances, autónomos, cooperativas y pequeñas empresas cuya especialización es el desarrollo de software y no existen capas intermedias que realizan otras tareas de promoción o gestión.

Normalización del modo de trabajo

Existen multitud de formas de desarrollar el software al igual que hay multitud de tipo de software para desarrollar. Esto provoca que los programadores tengamos que estar siempre formándonos y muchas veces en herramientas que solo utilizaremos una vez. Por ello, es un derroche de energía y la eficiencia del aprovechamiento de lo aprendido es nulo. En este portal se propone crear diferentes metodologías para cada tipo de proyecto que estarán claramente identificadas y serán legibles tanto para el programador (en la parte técnica) como para el cliente (en el ámbito del proyecto). Esta calidad también aportará ventajas al cliente que verá un producto desarrollado por prácticas probadas y eficientes por multitud de programadores y al mismo modo podrá solicitar flexibilizar la carga de trabajo contratando más o menos programadores que conozcan la misma metodología y sin necesidad de un coste oculto en formación.

Formación a asesoramiento focalizado a un objetivo

Para solventar el problema de la formación genérica y no especializada, existe también un programa de formación de personas estudiantes que podrán participar en proyectos supervisados por programadores con más experiencia en una metodología concreta.

I+D

Por último, es importante crear metodologías nuevas para renovarse a nuevas herramientas o técnicas. Para ello existirá una parte de proceso de aprobación de metodologías en base a resultados. Asimismo se dispondrá de un programa de desarrollo propio mediante microinversiones en el que varios programadores pueden unirse para crear productos propios.

Retrospectiva de los resultados

Finalmente, cuando se realice una contratación de servicio tanto el cliente como el programador podrá evaluar si ha estado satisfecho con el resultado de ese trabajo y la cooperación y comunicación entre ambas partes. Con ello se valora como de eficiente es un programador, como de comprensivo o comunicativo es un cliente y que tal eficiente es una metodología.

————————————–
De momento esto es lo que se me ha ocurrido para presentarse.
Posiblemente habrá erratas (si las veis me lo comentais).
Me gustaría mucho ver también vuestra opinión, dudas, etc.

Saludos, Jorge Rubira