Como trabajador independiente, ¿qué se considera exactamente trabajo de proyecto?

Un poco sobre mí. Nunca he trabajado en una empresa y hace muy poco empecé a trabajar como freelance y conseguí mi primer cliente. Tengo alrededor de 5 años de sólida experiencia en desarrollo web y mis prioridades son la calidad, la accesibilidad y el cumplimiento de las convenciones.


La respuesta obvia aquí es que debe activar el software de seguimiento una vez que comience a trabajar para el proyecto de su cliente y detenerlo una vez que... se detenga. Sin embargo, me cuesta identificar qué se considera exactamente trabajo de proyecto.

porque me molesta el tiempo

Establecí mi tarifa por hora y mi cliente y yo acordamos una cierta cantidad de horas para mi trabajo. Prácticamente dupliqué el tiempo que inicialmente pensé que me llevaría, porque nunca antes me había fijado tiempos. Además, me dio ejemplos de lo que haré, no la cosa real, no un diseño terminado.

No quiero trabajar más de ese tiempo establecido porque acordamos una cantidad X de horas, lo que significa que ambos esperamos pagar/recibir una cantidad fija de dinero. Marcar más tiempo me parece injusto y poco profesional.

lo que no puedo entender

Ahora daré ejemplos de cosas que no estoy seguro que fueran trabajo de proyecto.

Investigar y aprender a utilizar nuevas herramientas. Como dije anteriormente, valoro la calidad y quiero implementar la mejor solución, no la más cómoda para mí. Investigar: sí, creo que encontrar la herramienta más adecuada para el problema de ese proyecto es trabajar en ese proyecto . Sin embargo, ¿si el desarrollador no está familiarizado con esa herramienta? Yo, como desarrollador, se espera que sepa cómo "desarrollar", lo que incluye el uso de varios marcos y herramientas. Aprender a usarlo parece un esfuerzo personal . A pesar de que es en interés de ese proyecto, el cliente paga por hacer el trabajo, no por mejorar mi conjunto de habilidades. Quiero decir, podría haber contratado a alguien que ya sabe¿Cómo usar esa herramienta específica, en lugar de pagarle a alguien para que aprenda eso?

Dificultades técnicas. Hoy, pasé 6 horas averiguando por qué no podía establecer una conexión SFTP con el host del servidor de mi cliente. Seguí 1 hora. Luego, continué trabajando muy duro para tratar de solucionar el problema. La computadora y el enrutador se reinician, juegan con la configuración, hacen ping , trazan rutas , investigan, prueban diferentes clientes FTP, publican en Superusuario... Resultó que mi IP estaba prohibida en la plataforma de alojamiento por algún motivo. Mi cliente lo incluyó en la lista blanca y todo estuvo bien. Sin embargo, no lo culpo, él no sabía que estaba prohibido, y yo tampoco . Siento que la plataforma debería haber puesto algún tipo de advertencia para las prohibiciones de IP en su Detalle de accesopágina... Agregué otras 3 horas como trabajo fuera de línea y dejé 2 sin rastrear.

Pregunta

Ni siquiera he comenzado a trabajar en el proyecto real, todavía estoy esperando al diseñador. ¡Sin embargo, 7 de las 10 horas ya han pasado! Esas horas las pasé haciendo cosas que no habría estado haciendo si no hubiera aceptado el proyecto. Desde mi perspectiva, es trabajo de proyecto. Desde la perspectiva de mi cliente, parece que el proyecto no ha progresado. Vale la pena señalar que no se quejó de nada en absoluto. Él es genial.

Lo que me preocupa es que mi cliente pagaría por el tiempo empleado:

  • al cero por ciento de progreso
  • resolver problemas sobre los que ambos no teníamos control

¿Es justo?

Respuestas (4)

Voy a empezar respondiendo directamente a tu pregunta: factura por horas productivas.

Por ejemplo:

  • Productivo: tiempo de investigación y recopilación de recursos de diseño o complementos para ese proyecto específico.

  • NO productivo: tiempo para aprender una habilidad que podría aplicarse a muchos proyectos (un nuevo conjunto de herramientas, tal vez).

  • Productivo: Configuración de un servidor o configuración de ajustes en un servidor.

  • NO Productivo: Aprender a usar su servidor o plataforma existente.

(No quiere decir, por supuesto, que el aprendizaje no sea productivo. Cuando digo productivo, me refiero a la producción activa de hitos).

Ahora, según tengo entendido, desperdició mucho tiempo tratando de descifrar el sistema de su cliente. Lo consideraría no facturable, ya que no está haciendo el trabajo para el que está contratado y no está progresando activamente hacia un hito.

Sin embargo, me gustaría abordar el problema del servidor específicamente porque parece mucho más difícil que simplemente "¿proporcioné valor al cliente o no?"

Desperdiciaste tiempo que podrías haber gastado haciendo tareas facturables para otra persona con poco o ningún beneficio para ti (no es como si estuvieras aprendiendo en ese momento). Lo que les diste fue soporte técnico gratuito, y el soporte técnico gratuito es un camino muy peligroso para comenzar. Si vuelve a suceder en el futuro, recomiendo una de dos cosas:

  • No sigas intentando y fallando si la responsabilidad no es tuya. Si no puede conectarse al servidor del cliente y no es responsable del mantenimiento del servidor del cliente, hágaselo saber y deje que la persona responsable lo resuelva.

  • Si el cliente no tiene a alguien que maneje su servidor, cobre las horas de soporte técnico, quizás a una tarifa más baja. Asegúrese de informar al cliente antes de comenzar y agregue el acuerdo a su contrato para asegurarse de que aún le paguen.

Solo cuídese siempre y trate de evitar dar horas libres siempre que sea posible.

Esta es una gran pregunta, un problema que creo que muchos freelancers encuentran al principio. Creo que deberías dividir la pregunta:

A. ¿Cómo puedo predecir correctamente la cantidad de tiempo que dedicaré al cliente?

B. ¿Cómo puedo hacer que el cliente acepte pagar por el tiempo que voy a dedicar?

C. ¿Es justo que dedique mi tiempo a otros asuntos que no sean el trabajo específico para el cliente y posiblemente no reciba una compensación por ello?

  1. El problema se resolverá parcialmente una vez que acumule más experiencia en el manejo de estos problemas, ya que le llevará menos tiempo manejarlos y los tendrá en cuenta cuando prediga la cantidad de tiempo que le llevará. Un buen consejo es duplicar (o incluso triplicar) las horas que predijiste inicialmente, ya que siempre habrá algunas sorpresas.

  2. Cuando el cliente se te acerca con un proyecto, debes crear algún tipo de especificaciones técnicas para el proyecto o al menos una lista, especificando todos los elementos que manejarás para el cliente. Luego, debe hacerlo lo más detallado posible (no se preocupe, irá más rápido una vez que lo domine) y una vez que cada elemento esté lo suficientemente detallado, debería ser más fácil predecir el tiempo para cada elemento. No es necesario que muestre la lista detallada completa al cliente, pero creo que mostrar al menos viñetas le permite al cliente recordar problemas adicionales que olvidó mencionar, ambos sabrán para qué se han registrado y como una bonificación que podrá explicar por qué le tomaría el tiempo que está pidiendo pagar. Como ejemplo simple, si el cliente solicita un formulario de inicio de sesión, la lista podría ser:

    • Creación de una lista corta de requisitos inc. la apariencia de la forma
    • Creando el anverso del formulario
      • Algunos trabajan en Photoshop para cortar la forma diseñada del PSD que proporcionó el cliente
      • Código HTML
      • codigo js
      • CSS
    • Creando el lado del servidor del formulario
      • Validación de datos según reglas predefinidas
      • Manejo de datos - guardado en DB y/o envío al correo electrónico del cliente
    • Una vez realizada la codificación del formulario
      • Subiendo los archivos al servidor
      • Implementación del formulario en el sitio web existente del cliente
      • Comprobación de que los datos del formulario se validan, guardan y envían por correo electrónico correctamente
      • Proporcionar al cliente 1 hora de soporte por teléfono.

Si creara una lista de este tipo, sería mucho más fácil predecir la cantidad de trabajo: no tendrá que pensar en el proyecto completo sino en cada elemento/punto por separado. También le recordará los posibles problemas con los que podría encontrarse. una bonificación: el cliente sabría exactamente lo que está recibiendo y, para algunos clientes problemáticos, la lista evitaría que exijan trabajo adicional que supuestamente se debe realizar en el mismo proyecto y si surgen algunos problemas adicionales, que no se mencionaron antes que el cliente. deben facturarse por ellos, pero siempre debe decirle al cliente con anticipación que si, por ejemplo, tiene que cargar los archivos para el cliente, en lugar de simplemente comprimirlos y enviárselos por correo electrónico,luego debe proporcionar las credenciales de cuenta correctas y, si hubiera un problema con la cuenta, decidirá si quiere pagarle por manejar el problema o si quiere llamar a su empresa de alojamiento y obtener su apoyo para manejarlo...

  1. Prepare una lista de cosas que tendrá que hacer para el cliente además del proyecto, es decir, si está creando una plantilla, a veces tiene que cargarla en el servidor y configurarla para el cliente, lo que significa más tiempo de trabajo y debe recordar facturar por eso. Lo mismo ocurre con el tiempo de consulta adicional por teléfono o correo electrónico. Después de un año o dos, tendrá todos esos problemas en mente y recordará facturar al cliente por ellos. También puede decirle al cliente que

  2. Cuando asume un proyecto que incluye alguna tecnología/plataforma nueva con la que aún no está familiarizado, debe tener eso en cuenta: creo que no debe facturar al cliente si dedica horas adicionales a adquirir nuevos conocimientos, incluso si se requiere para el proyecto del cliente, a menos que el conocimiento sea específico del cliente. Por ejemplo, si desea emprender proyectos de desarrollo web utilizando PHP y MySQL, el cliente no debería pagarle para que aprenda a escribir una consulta MySQL o cómo instalar una plantilla en Wordpress, pero debería pagar si quiere que lo apoye. modificar/parchar su proyecto existente escrito en PHP utilizando algunas bibliotecas internas de alguna pequeña empresa de software

  3. Con respecto a la equidad y al punto, si dedicó el tiempo al proyecto y a manejar los problemas técnicos del cliente, entonces no es un progreso del cero por ciento, el progreso también debe incluir los pasos de preparación. Y si pasó el tiempo resolviendo problemas sobre los que ninguno de los dos tenía control, entonces debe explicárselo al cliente y él debe entender que ha dedicado el tiempo a él y que debe recibir un pago. Óptimamente, todos estos problemas estarían en el contrato y el cliente sería notificado del problema antes de que usted dedique demasiado tiempo a trabajar en él. Si desea que sea completamente justo, puede hablar con el cliente, explicarle los problemas y sugerirle que le cobre una tarifa más baja por esos problemas específicos, como sugirió @a_mediocre_riot

Puedes morir por esto.

recomiendo fases

Requerimientos funcionales
x semanas

Prueba de concepto
x - y semanas

Producto final
x - y semanas

Pruebas de aceptación
x semana,
aquí es donde te matarán e intentarán introducir cosas a escondidas; no dejes que sea un ciclo de desarrollo.

Despliegue
por hora

Soporte
por hora

Al final de cada fase obtendrán un número duro para la siguiente fase.

Todos difieren. Mi regla general es que no cobro nada por lo que hago en términos de enseñarme a mí mismo algo que tiene valor de reventa, porque es una habilidad reutilizable. Si es un conocimiento único que necesitaba investigar para este proyecto y no puedo reutilizarlo en otro lugar, lo facturaré.

La implementación real de lo que he aprendido por mí mismo, el diseño y cualquier otra cosa que sea crucial para el proyecto (incluidos los costos de transporte si los hubiere) lo facturo.