Pregunta

Tengo un cliente que quiere una aplicación web que le permitirá hacer lo siguiente (como él me dijo, palabra por palabra):

  • Registro de usuario

  • Pagos recurrentes para los usuarios

  • En línea de reserva de sala de conferencia

Se supone que debo darle una estimación de costos muy rápido y no tengo tiempo para hacer más profundo el análisis de requisitos!¿Cómo lidiar con ese tipo de situación?Puedo dar una muy amplia estimación y el trabajo de los requisitos exactos, una vez aceptado el presupuesto?En que punto se suelen reunir los requisitos, después o antes de conseguir un contrato?

¿Fue útil?

Solución

Esto es lo que normalmente hago para limitar los problemas:

Defina la información usted mismo, describiendo lo que va a hacer en detalles.

Oferta por eso, y solo eso.

Consulte ese documento en su formulario de orden de compra oficial, le pedirá a su cliente que señal.

Como altenador, le sugiero que venda a su cliente con iteraciones en lugar de características fijas, con la flexibilidad de detener o continuar el desarrollo al final de cada iteración.

Si no sabe cómo estimar su propio documento, intente hacer una estimación colectiva usando planificación de póker. También puede dividir cada funcionalidad en tareas y estimar cada una. Suma y multiplicar el resultado por dos Si tienes bastante confianza, o Tres Si no está seguro.

Si no conforta con sus estimaciones, es una buena indicación de que no tiene lo suficiente como para aceptar el trabajo en un esquema de precios fijos.

Otros consejos

Ofrezca hacer el análisis y el diseño en 2 semanas por un precio fijo (con obligaciones de su parte para comunicarse y revisar de manera oportuna); Pueden tomar el resultado de eso y ofertarlo a otros proveedores si lo desean, pero darles un número basado en tres puntos de bala será un shock masivo para ellos o un pago insuficiente por usted.

Cuente las páginas web individuales. Por ejemplo, el "registro del usuario" probablemente significa que hay una página de "registro": ¿también hay una página de "editar mi perfil"? ¿Una página "Mira el perfil de otra persona"? ¿Pueden los gerentes editar a su gente? ¿Hay una página de "cambiar de contraseña"? ¿Una página "Olvidé mi contraseña"? ¿Tienen que proporcionar preguntas y respuestas secretas, en cuyo caso también hay páginas para eso? Repita todo esto para sus otras balas. Se te ocurren algún número, como 7 o 27 o 93 o lo que sea, de páginas web. (Esta lista formará parte de su propuesta y mostrará al cliente que ya ha comenzado a diseñar el proyecto).

Si ha creado páginas web antes de usar la tecnología que planea usar, debe tener una idea aproximada del esfuerzo promedio por página. 1 hora, medio día, 1 día, depende no solo de su tecnología, sino de cuánto tiempo le da en la apariencia, las validaciones, la accesorio, pero ya debe saber este número. Multiplica los dos. Posiblemente, agregue tiempo para "diseñar base de datos y escribir procesos" o "diseños de informes de diseño" si imprime cosas elegantes. Agregue una contingencia del 10-25% dependiendo de lo que crea que el cliente tolerará. Hecho.

Si no ha usado la tecnología antes para hacer páginas web, rechace este trabajo. Si por alguna razón no puede, prepárese para perder dinero porque no podrá facturar por su tiempo de aprendizaje y no estará listo para hacer buenas estimaciones. Como enfoque de desesperación, si realmente cree que debe tomar el trabajo, ofrece un "estudio de viabilidad" en el que diseñará el proyecto y estimará un precio de oferta fija para implementar su diseño. Solicite estar "en el reloj" para el estudio de factibilidad o ofrecer una oferta plana como 1 día o 1 semana o 2 semanas.

Hay algunos realmente grandes respuestas ya.Aquí hay un par de observaciones a partir de haber hecho mi vida haciendo desarrollo externalizado como este para la mayoría de los últimos veinte años.

Sin una adecuada, por escrito, acordado especificación, haciendo los contratos de precio fijo es una forma rápida de perder un montón de dinero.

Mi esposa y yo tenía la costumbre de desarrollo de software de la empresa.Alrededor de 1998, se nos acercó para hacer un puerto."Realmente no tenemos una especificación o incluso una lista de características, sólo necesitamos un programa de Mac con las mismas características que nuestra versión de Windows." Así que miró más de la versión de Windows, propuso un precio, dickered un poco, y de acuerdo en un precio.Y luego resultó que no sólo los mentirosos tienen una lista de características, pero había un montón de características ocultas que no había notado durante nuestra revisión, que eran muy difíciles y que requieren mucho tiempo para poner en práctica.Nuestros salarios de los empleados solo para completar ese proyecto nos costo tres veces nuestros ingresos por ello.

Mi experiencia ha sido que las personas que no proporcionan una especificación, y no están dispuestos a pagar para escribir uno, son aficionados o tratando de obtener algo por nada, y los dos tipos de clientes son un gran problema.

No escribir una especificación y darle al cliente de forma gratuita.

Es muy tentador hacerlo, así que usted puede llegar a un acuerdo con el cliente y protegerse a sí mismo - pero yo solía hacer eso, y decidió que es un error.Una vez hice eso, he incluido información en la especificación sobre los que no tenía experiencia particular.El cliente potencial cambió a una más barata del equipo de desarrollo;la información en la especificación de lleno en la falta de brechas en su conocimiento - y el importante trabajo que yo había puesto en la especificación fue en el inodoro.

Yo ahora considerar las especificaciones y el diseño de los documentos a ser no sólo los productos del trabajo, pero altamente especializados para que me carga mucho mayor tarifa por hora que yo de programación simple.De esa manera, si el cliente quiere poner fuera de las ofertas en hoteles de código de monos en eLance, sin resentimientos.

De hecho, en los últimos ocho años, he resuelto el problema de manera muy sencilla:Yo ya no proyectos de precio fijo y tiene una tarifa por hora de piso no voy a ir por debajo.Desde que cambiar, yo soy mucho más feliz, hacer más dinero, y la skeevy clientes van a otra parte.

No puedes. Dígale al cliente que es similar a la construcción de un puente o una casa, y requiere la misma cantidad de preparación para dar una estimación precisa.

Bienvenidos al mundo real.

Le aconsejaría a su cliente que use una tarifa diaria de £ x por día para calcular sus precios, y podría producir algo que cumpliera esa especificación en unas pocas horas reconfigurando Outlook, pero que no está seguro de que es lo que su cliente es realmente después. Sugiera que se reúna y pase alrededor de una hora pasando por los detalles.

Si su cliente no está preparado para dedicar tiempo a definir cuáles son sus necesidades cuando buscan un implementador, solo se deteriorará a medida que avanza el proyecto.

Está diciendo que el cliente se niega a darle suficiente tiempo para un análisis de requisitos más profundos. Eso por sí solo es una bandera roja. Tal vez ya han recibido una estimación de otra persona y no le gusta, y piensen que si pueden engañarlo para que acepte esto por un precio bajo, podrán obligarlo a entregar.

Hay tres formas en que he visto lidiar con esto:

  1. Haga una estimación intestinal de todos modos, sin un análisis más profundo
  2. Estimándolo automáticamente como 150 días de hombre y apuntando al cliente a la solución 3 si eso los sorprende.
  3. Vender al cliente en un proyecto de análisis

No puedo recomendar la solución 1. El riesgo de que termine comprometido con una estimación imposible es demasiado grande.

La solución 2 sigue siendo arriesgada. 150 días de hombre son lo suficientemente grandes como para que si muerden por lo general, puede definir un alcance que se adapte a esa estimación. Pero, dependiendo de lo que su cliente quiere decir mediante la reserva de la sala de conferencias, esto aún no podría ser suficiente.

Específicamente en ese tema, ¿qué tan bien conoce el espacio de problemas? ¿Has pensado en todos los aspectos involucrados?

  • ¿El sistema tendrá que integrarse con Outlook?
  • ¿Tendrá que admitir catering y equipo (por ejemplo, Beamers)?
  • ¿Tendrá que apoyar a los participantes de seguimiento, con la integración del mostrador de recepción?
  • ¿Tendrá que apoyar la facturación automática de habitaciones reservadas y catering relacionado? ¿Qué tipo de modelos de precios tendrá que permitir?
  • ¿Tendrás que rastrear las teclas de la habitación, con el check-out / check-in?
  • ¿Podrán todos reservar algo o necesita seguridad a nivel de habitación?
  • ...

Acabo de pasar un año rediseñando el front-end de un sistema de reserva de sala de conferencias maduras, y las especificaciones de diseño terminaron llenando varios cientos de páginas. No subestimes la complejidad de un sistema competitivo de reserva de sala de conferencias.

Por supuesto tú pueden mantenlo simple. Pero si su cliente quiere un sistema competitivo con lo que ya está disponible, Simple no lo cortará. A menos que este cliente esté de acuerdo con anticipación en exactamente Qué es lo que construirá, está prácticamente garantizado que terminará en una negociación aproximada una vez que llegue el momento de entregar y pagar.

Elija una cantidad aleatoria, duplízlela, luego dígale al cliente ese número, más o menos 200%. Eso debería transmitir el punto.

Hay un par de sistemas de estimación, y no son particularmente nuevos.

Puntos de función
La idea de "puntos de función"Básicamente, todos los programas tienen las mismas 5 características: salidas, consultas, entradas, archivos internos e interfaces externas. Ya ha utilizado un esquema de" registro de usuarios ", por lo que tiene una buena idea de cómo se ve uno de esos. En cuanto a los. "Sistema de pago recurrente" Esto será más complicado y probablemente querrá buscar una API existente (muchas personas van con PayPal hasta que PayPal los atornillará, así que tenga en mente un "Plan B" cuando siga esa ruta) .

Hay una serie de herramientas de punto de función "por dinero", pero una gratis es aquí.

Cocomo
Modelo de costo constructivo Utiliza datos históricos para estimar, pero supongo que le falta datos históricos para descubrir cuánto tiempo y esfuerzo implicará este proyecto.

Palabras de comadreja: Cocomo no está relacionado con la ciudad en Indiana llamada Kokomo. Cuando los Beach Boys estaban haciendo comerciales para Delco Electronics (una división de GM ahora se separó y llamó Delphi Electronics), dijeron que les gustaba tanto el nombre de la ciudad que querían ponerla en una canción.

Estos métodos de estimación necesitan datos históricos, que la mayoría de los desarrolladores no recopilarán solos. Un método para hacerlo, para un único practicante sería PSP. Si bien eso no lo ayudará a apagar este incendio en particular, ayudará con su estimación futura. Parte de la razón por la que estimar es tan difícil para las personas es que no realizan un seguimiento de sus estimaciones (por lo tanto, no pueden decir dónde salieron mal o necesitan ajustarse en futuros proyectos). Y otra parte importante de por qué estimar es tan difícil es que la gente ha sido quemada por Mismángidos jugando juegos políticos con los desarrolladores. Las estimaciones del manguito siempre están terriblemente mal con las únicas excepciones de "Hicimos eso antes y se necesitó exactamente X para completar".

Lo más probable es que su cliente haya visto una aplicación similar en el sitio web de un competidor, así que pídale que le indique ese sitio web (si tengo razón); Luego examine dicha aplicación web y estime el tiempo para construir algo similar.

  1. Levántate en Google, busca una aplicación similar (No tengo idea del desarrollo web, así que no puedo darte más consejos prácticos que este), una empresa o un desarrollador privado que los hace, y pídales una cita. Preferiblemente, pregunte dos.
  2. Con base en su experiencia, consulte cómo se ajusta a su plan de desarrollo y piense si puede hacerlo por menos (generalmente los desarrolladores solitarios (suponiendo) tienen menos costos en algunas áreas que las empresas dedicadas a ese tipo de desarrollo).
  3. Déle una aproximación, enfatizando fuertemente que el precio exacto dependerá de sus requisitos (del cliente, es decir).
Licenciado bajo: CC-BY-SA con atribución
scroll top