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?
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.
¿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.
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.
Bart van Ingen Schenau
usuario2187
Bart van Ingen Schenau
usuario2187
Bart van Ingen Schenau