Autor Tema: Subcontratación Freelancer desarrollo Software  (Leído 2188 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Subcontratación Freelancer desarrollo Software
« en: 03 de Septiembre de 2017, 12:21:39 »
 
¿ Teneis experiencia con la subcontratación de servicios de un freelancer para desarrollos de software ?

El mejicano que me estaba desarrollando el software en QT para un proyecto mío, ahora me dice que no tiene tiempo, que me devuelve el anticipo y se cancela. No es definitivo, pero lo que en principio iba a ser desarrollo a realizar en 10 días, ahora ya lo extiende a 1 mes o más.

He estado buscando por internet, y me encuentro con varias páginas web para contactar y contratar trabajos con freelancers. Me he dado de alta y he puesto mi solicitud en Freelancer.es, Twago y Workana.

De momento me ha contactado bastante gente interesada de Freelancer.es y alguno de Workana, americanos y sudamericanos la mayoría, y creo que hay un español. Uno ya me ha pasado su propuesta, que es algo más cara que lo que me pidió el mejicano, y un plazo de mes y medio.

No se que grado de fiabilidad tienen estos sistemas de subcontratación con freelancers.
« Última modificación: 03 de Septiembre de 2017, 12:30:14 por planeta9999 »

Desconectado tsk

  • PIC18
  • ****
  • Mensajes: 258
Re:Subcontratación Freelancer desarrollo Software
« Respuesta #1 en: 03 de Septiembre de 2017, 13:03:08 »
Tengo experiencia del lado de subcontratado, por lo que te puedo dar mi opinión desde ese lado.

Para mi el grado de fiabilidad depende no sólo del contratado sino también de la parte contratante, y creo que el principal problema está relacionado con la definición de requerimientos y las especificaciones.

Las especificaciones son muy distintas a los requerimientos, lo cual puede y genera distintas visiones entre el que quiere que se realice el trabajo y el que lo quiere realizar. Yo en lo particular me he topado con muchos de esos problemas, que te dicen que tienen las especificaciones completas pero al final son simples requerimientos y pues es muy distinto presupuestar y obtener el tiempo exacto de trabajo con una u otra información.

Si te dan los requerimientos tienes que imaginarte, realizar suposiciones y/o generar al vuelo las especificaciones, lo que entorpece el flujo de trabajo, pero si te dan las especificaciones completas y detalladas el trabajo se reduce a casi escribir código de forma exclusiva.

Después vienen retrasos porque siempre hay detalles que los requerimientos nunca van a cubrir, ya que estos son demasiado generales, si aún con las especificaciones puede ser difícil tomar en cuenta todos los detalles, cuando sólo tienes los requerimientos las cosas se complican demasiado.

En un proceso normal de desarrollo vas con el cliente para obtener los requerimientos, en base a los requerimientos tu como parte contratada generas las especificaciones las cuales presentas al cliente para que las revise y les de el visto bueno. Si no te da el visto bueno tienes que regresar a la mesa de trabajo a re diseñar el sistema. Pero el cliente sabe que tiene que pagar por este trabajo.

Cuando las especificaciones están completas, ya le dedicas al código.

Pero en la visión de esas plataformas esto es algo que es imposible de realizar de forma adecuada, ya que el mismo cliente tiene la presunción de que ya te dio hasta los más mínimos detalles para que hagas el trabajo de una forma expedita, eficiente y sin contratiempos.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Subcontratación Freelancer desarrollo Software
« Respuesta #2 en: 03 de Septiembre de 2017, 13:33:49 »
 

Es complicado darlo todo bien mascado, porque entonces hago yo el programa. Creo que con los detalles del proyecto que estoy dando es suficiente para hacer un presupuesto y empezar el desarrollo. Luego sobre la marcha ya se van afinando las cosas según se vaya programando, a mi el mejicano me ha estado pasando videos con el programa rodando según iba añadiendo cosas.

El problema es la seriedad que pueda o no haber, la calidad del producto, y con estas empresas intermediarias el control que puedan ejercer para evitar los fraudes y las chapuzas. Además todo es relativo, lo que a uno le puede parecer una obra de arte, a otro le puede parecer una castaña.

Lo tengo complicado, porque tiempo libre para hacer yo mismo el desarrollo, no tengo, y subcontratar con desconocidos tiene su riesgo. Ya veremos que hago, igual me estoy metiendo en demasiados fregados a la vez y termino estrellándome por querer abarcar demasiadas cosas.
« Última modificación: 03 de Septiembre de 2017, 13:43:06 por planeta9999 »

Desconectado tsk

  • PIC18
  • ****
  • Mensajes: 258
Re:Subcontratación Freelancer desarrollo Software
« Respuesta #3 en: 03 de Septiembre de 2017, 14:26:53 »
Exacto, es complicado, y si resulta complicado para ti, imagina lo que puede resultar para el contratado, sin importar la experiencia que tenga, porque de lo que tu le das tiene que extraer hasta el más mínimo detalle para conseguir algo totalmente funcional.

Cuando te dan las especificaciones te enfocas en los detalles de la implementación. Cuando no, esos detalles los tienes que ir generando e ir realizando decisiones de diseño de acuerdo a lo que sabes, que pueden o no concordar con lo que el cliente espera.

Por ejemplo, a mi me pueden decir:
Citar
Quiero una CLI que pueda ser accedida de distintos tipos de conexión

Desde ahí ya te pones a pensar como resolver el acceso simultáneo a recursos y agregar protecciones para evitar que un uso erróneo deje el sistema inservible. No es algo difícil pero tampoco es algo trivial.

Investigas y comienzas a buscar la mejor forma de realizar la implementación, pero al final no es lo que tenía pensado el cliente, ya que, por desconocimiento puede llegar a pensar que se realizó más trabajo del necesario y que le esas haciendo perder el tiempo en cuestiones, que a su consideración no son importantes, pero tu como desarrollador sabes de la importancia que tienen para asegurar el buen funcionamiento del sistema.

Pero cuando tu eres el que tiene la idea, en realidad no te tiene porque ser complicado, ya que existen muchas herramientas que te ayudan a asentar los detalles. Por ejemplo UML o BPMN son herramientas totalmente gráficas con las que puedes definir los componentes y módulos de tu sistema y como van a interactuar entre ellos. Y una herramienta que puedes usar se llama modelio

https://www.modelio.org/

Ejemplos

https://camunda.org/bpmn/examples/
http://www.bpmnquickguide.com/quickguide/index.html?bpmn_examples.htm
http://www.omg.org/news/whitepapers/050307_Embedded_Systems_in_UML_by_S_Mellor.pdf
http://archive.oredev.org/download/18.5bd7fa0510edb4a8ce4800019180/1385353960592/Bruce_Douglass_-_Workshop_Real-Time_UML.pdf
https://books.google.com.mx/books/about/Real_Time_UML.html?id=LewzKVv3A20C

PD: Un cambio que yo haría en este tipo de plataformas es la de primero realizar una revisión de requerimientos e implementar un servicio de generación de especificaciones.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Subcontratación Freelancer desarrollo Software
« Respuesta #4 en: 03 de Septiembre de 2017, 17:43:04 »
 
Bueno, esto es un no parar. He contactado con un nuevo freelancer (este en España), y me ha sugerido hacer el desarrollo para acceder y ejecutar el aplicativo por internet, colgado en un server, incluso ponerme yo el server en casa.

Me ha parecido mucho más interesante, así se puede ejecutar desde cualquier ordenador que tenga acceso a internet, un PC, tablet, MAC, sin vinculación al sistema operativo, y sin que el usuario tenga la aplicación (se evita el pirateo y demás).

La aplicación sería una mezcla de PHP y Python en el server, y Javascript, HTML5, CSS en el cliente. Para el server casero, en vez de mi idea del Raspberry, sería con un NAS Synology. Pues "pallá" que voy, me ha gustado lo de desarrollar y ejecutar el aplicativo por internet, cada usuario tendrá su contraseña con sus proyectos y un entorno común para descarga de proyectos públicos.