¿Cómo financiar actividades no programáticas cuando los clientes no quieren pagar por estas actividades?

Por un lado, el desarrollo de software implica muchas actividades no relacionadas con la programación, como la recopilación de requisitos (incluido el análisis), la estimación, la planificación, las pruebas, el seguimiento del trabajo, la gestión de solicitudes de cambio y más.

Por otro lado, nuestros clientes no quieren pagar por estas actividades. Cuando aparece una actividad que no es de programación en sus facturas, generalmente se enojan y se quejan con la alta gerencia. Por supuesto, siempre ganan su causa. Por lo tanto, nosotros (la empresa) no cobramos.

El resultado de todo esto es que la alta dirección nos está presionando (programadores y jefes de proyecto) para que no realicemos ninguna de estas actividades ajenas a la programación. Genera todos los problemas que comúnmente se conocen como resultado de tener un enfoque de "código y reparación" para el desarrollo de software.

Nuestro software mal probado a menudo se lanza con errores y, por supuesto, los clientes no quieren pagar para que los solucionemos. Además, a menudo lanzamos, justo a tiempo, software que no se corresponde con lo que el cliente quería o necesitaba porque nunca tuvimos la oportunidad de invertir el tiempo para comprender lo que el cliente necesitaba. Por lo tanto, el cliente rechaza la liberación y luego se queja a la alta dirección. Entonces tenemos que hacer todos los cambios solicitados de forma gratuita.

No sé cómo otras empresas resuelven este problema y no sé dónde mirar para obtener la respuesta. ¿Cobran a sus clientes por actividades no relacionadas con la programación? Más importante aún, ¿cómo consiguen financiar estas actividades no programáticas? ¿Convencen a sus clientes para que paguen por estas actividades? ¿Esconden en cambio, a diferencia de nosotros, la naturaleza real del trabajo que están haciendo? ¿Cobran tan alto por las actividades de programación que no importa si las actividades que no son de programación no generan ingresos? ¿Cómo?

Espero que se sugiera ágil como respuesta, pero comprenda que no aceptaré "debe hacer ágil" como respuesta, porque no explicaría cómo ágil resolvería el problema. En un equipo de scrum, por ejemplo, realizas muchas actividades que no son de programación y aun así te pagan por ellas. No puedo empezar a imaginar cómo nuestros clientes alguna vez aceptarán pagarnos por hacer retrospectivas de sprint, por ejemplo. Si desea responder "ágil", explique cómo resuelve el problema la metodología ágil. Por ejemplo, ¿cómo financia todas las actividades no relacionadas con la programación que ocurren durante el proceso de scrum?

Para jugar al abogado del diablo: ¿Por qué sus clientes le pagan a su empresa para tener una alta gerencia, secretarias y todo ese otro personal que no es de programación? No me digas que no lo son, porque el dinero para sus salarios tiene que salir de algún lado.
@Bart van Ingen Schenau: No se les factura por la alta dirección y las secretarías. Se les factura cuando alguien trabaja activamente en sus proyectos, lo que incluye actividades de programación y no programación como gestión de proyectos, análisis y pruebas. Por supuesto, el efectivo requerido para pagar los salarios de las secretarias proviene en última instancia del trabajo de desarrollo que se facturó, pero ¿cuál es su punto?
Mi punto es que los clientes pagan por las secretarias, pero que no se les factura por separado por eso. ¿Por qué entonces se les debe facturar por separado por actividades del proyecto como la recopilación de requisitos?
@Bart La recopilación de requisitos es parte del ciclo de vida del desarrollo de software y es específica de un proyecto, a diferencia del trabajo de las secretarias. Parece que está tratando de hacerme darme cuenta de que es posible financiar actividades no relacionadas con la programación, como la recopilación de requisitos, de la misma manera que financiamos el trabajo de las secretarias. Ya entiendo eso. Lo que me gustaría saber es si es como su empresa soluciona el problema. ¿Tu empleador factura a tus clientes por actividades no programadas que son parte del ciclo de vida o solo les factura solo por la programación?
Mi empleador actual solo me alquila para hacer un trabajo valioso para el cliente en sus instalaciones. Mi empleador anterior también hacía trabajo de proyecto, y allí la cotización de un proyecto también incluía las actividades necesarias que no eran de programación y no eran negociables (no es que nuestros clientes quisieran sacarlas, ellos son empresas técnicas).

Respuestas (4)

Detenga el trabajo de inmediato y obtenga el trabajo bajo un contrato. Obtenga una Declaración de trabajo detallada que identifique claramente qué se está entregando, qué actividades se llevarán a cabo, cómo se ve el acabado, cómo facturará, cómo pagarán, etc. Su problema no son los métodos o las comunicaciones ni convencerlos. No tienes contrato o no estás haciendo cumplir tu contrato y te están golpeando para su beneficio. Debe tomar asiento en la mesa de negociaciones y poner SUS requisitos en ella. Si no te lo permiten, aléjate y ve a buscar otro cliente que te pague.

Deje de facturarles por las actividades de las que se quejan y transfiera los costos a lo que están dispuestos a pagar (entregables). No los está engañando, no está cargando a sus clientes con los detalles. Tus clientes quieren la salchicha, no los detalles de cómo se hace.

Además, si su cliente no quiere pagar por la actividad de recopilación de requisitos, dígale que le complacería recibir los requisitos de ellos. Esto les enseña que hay costos involucrados y alguien tiene que pagarlos.

Su empresa necesita algunas personas que entiendan qué es una Declaración de trabajo, cómo redactar contratos, etc., y algunos gerentes de proyecto. Parece que sus clientes y su alta dirección no entienden cómo se construye correctamente el software.

Completamente de acuerdo: creo que hay un problema subyacente para el OP
En mi opinión, nuestra alta gerencia tiene un conocimiento muy pobre de cómo se construye correctamente el software. Tienes razón sobre eso.

¿La "alta dirección" es su gestión o la de ellos?

Si es suyo, necesita tener una discusión con ellos que deje absolutamente claro que tratar todas las "actividades que no son de programación" como no esenciales les cuesta dinero .

Si es de ellos, ¿con quién tiene contrato? ¿El cliente o su gestión? De cualquier manera, debe dejar en claro que estas tareas que no son de programación siguen siendo absolutamente necesarias para obtener resultados satisfactorios. Alternativamente, no podría facturar las tareas que no son de programación, sino aumentar los precios para que aún estén cubiertas.

Obviamente, el problema es que su cliente se ha salido con la suya con sus demandas, por lo que tendrá muchos problemas para convencerlo de que esto va a cambiar. Es mejor que reduzca sus pérdidas y encuentre un nuevo cliente, esta vez incluyendo la planificación, las pruebas, las sesiones de retroalimentación, etc. en el contrato desde el principio.

Nuestra alta dirección. ¿Cómo convenzo a los clientes ya la alta dirección de que eliminar estas actividades no ahorra dinero sino que al final cuesta más dinero? No confían en la teoría, así que necesito datos. Sin embargo, no tengo datos para probar esto y no sé cómo podría obtener estos datos.
@user2646988: Para los costos de la forma actual de trabajar, puede calcular eso a partir de las horas que no puede facturar al cliente mientras soluciona los problemas de entrega. Para el costo de realizar la recopilación de requisitos (y otras actividades no relacionadas con la programación), debe hacer una estimación.

Dificil situacion. La razón por la que la otra empresa y su alta dirección no quieren cobrar por el trabajo que no es de programación es casi seguro que no lo valoran.

La otra compañía probablemente lo vea como una forma de pagar la factura y probablemente afirme que ellos mismos están especificando y gran parte de la gestión del proyecto (¡lo he visto allí!).

Su alta dirección no está interesada en el proceso, están interesados ​​en los resultados, por lo que dirían que se debe cobrar por los resultados, pero el resto del proceso debe ser lo más eficiente posible. Cuando compañías como Netflix dicen que pueden eliminar roles como Gerente de Proyecto ( http://www.projectmanagers.net/i/9-current-trends-and-more-in-project-management/ ), la alta gerencia puede creer que muchos los roles de mando intermedio son un mero relleno.

Qué hacer es simple.

Cobrar solo por la programación y correr el riesgo de que la alta gerencia saque el nivel de la gerencia intermedia, ya que es un costo que no genera ingresos; o inflar los cargos por entrega para cubrir los costos de las actividades no relacionadas con la programación.