2009-05-29 11 views
13

Se siente muy mal cuando le dijo a su cliente o al gerente que esto puede terminar en 10 días, pero pasó 20 días para obtener un punto que aún no se implementó para vivir.¿Cómo calculó el tiempo que pasará antes de comenzar un proyecto de desarrollo web?

¿Alguna experiencia puede compartir conmigo acerca de cómo calculó el tiempo dedicado a proyectos propuestos?

Gracias

+0

Gracias por la gente que me ayudó con esta pregunta, y no dude en agregar su experiencia. –

Respuesta

25

La experiencia lo ayudará a mejorar como estimación, nada más.

Lo más importante para recordar es mantener informadas a las personas.

Si la tarea se estimó en 10 días y ya está en el día 5 y claramente no va a gestionarlo de 10, usted debe saber a la gente en ese momento, no cuando llega el día 11.

Hay Hay tres opciones cuando las cosas van pasando el tiempo, tomas el golpe y haces el trabajo de todos modos, cortas cosas del sistema o pides más dinero para completar. Cuanto antes se pueda decidir, mejor.

+0

Si pudiera votar esto más de una vez, lo haría. Esta es una gran respuesta. – Abel

+4

Estoy de acuerdo con todo lo que dijiste EXCEPTO la primera oración. La experiencia no es lo único que te ayudará a mejorar en la estimación. Al dividir una tarea en varias subtareas también mejorará su precisión y puede hacerlo hoy, no solo cuando obtiene más experiencia. –

+0

Sí, estoy de acuerdo, estaba siendo un poco binario con esa afirmación. +1 a su respuesta para disculparse :) –

4

Dar estimaciones de tiempo es algo que sólo se puede conseguir mejor en la experiencia.

Tome su última experiencia y úsela para modificar su próxima estimación de tiempo.

Consulte también http://en.wikipedia.org/wiki/Estimation_in_software_engineering para obtener más información.

He descubierto que una de las peores cosas que puede hacer es mirar los requisitos por primera vez y luego adivinar durante la reunión inicial. Siempre diga que tendrá que volver a ellos, y luego analizar los requisitos y dar una respuesta educada.

+0

Lo haré a partir de hoy, muchas gracias. –

12

Tanto como sea posible intente dividir las cosas en pequeños pedazos al principio. He leído antes que las personas no pueden estimar con precisión la duración de algo que es más largo que un par de días, por lo que lo único que puede hacer para evitar esto es tratar de identificar todas las piezas y estimar cada una por separado.

+0

Es bueno hacer esto si pudiera dividir las tareas en pedazos pequeños, saber qué aprender de todos modos. –

3

No puede estimar sin saber lo que va a hacer; debe dividir la tarea en partes que pueda estimar razonablemente: hasta la HORA (nada menos que 1 hora, redondee)

p. "Hazme una página de inicio de sesión"

HTML formulario de acceso - 1 sesión tabla de base de datos para los usuarios - 2 horas etc etc

A continuación, tire hacia arriba de un calendario y tratar de llenar las horas - está bien el lunes puedo trabajar unas 5 horas, por lo que se ocupa de una tarea. ¿Puedes hacer varias cosas de manera razonable? Probablemente, pero no diga que puede hacer tareas de 3 x 4 horas en un día, incluso si tiene 12 horas para "recargar" (eso es demasiado).

Mira los fines de semana; ¿los trabajarás? Probablemente no, así que incluye eso. ¿Tienes que cambiar tu aceite? Boda viniendo? Asegúrate de incluir eso. Incluye un poco de tiempo en caso de que no puedas trabajar algunos días (los niños se enferman, se va la luz)

+0

Sorprendente, realmente desperdicio bastante tiempo en creer "puedo hacer varias cosas a la vez", es verdad que no agregué los efectos de mi vida real, gracias por su respuesta y deseo que ningún niño se enferme más. –

3

De hecho, hago un mapa del sitio muy detallado y luego calculo las horas (minutos) para cada pieza .

Muestro el mapa del sitio al cliente y les digo que tomará el doble de lo que realmente espero.

Y luego detallamos lo que cada página hará para que no haya debate sobre si el sitio está "terminado" o no.

Rechazo de promesa, exceso de entrega. Normalmente soy mucho más rápido de lo que le digo al cliente y siempre están felices de haber terminado "temprano".

+0

Espero que pueda hacer algo como esto, ¿quiso decir que debería decirle a mis clientes o gerente que pasaré 20 días (como esperaba 10 días en el primer punto)? –

+0

Eso es exactamente lo que hago.Nunca he tenido un gerente, así que no estoy seguro de las implicaciones políticas allí, pero para mis clientes funciona bien. - Recientemente le dije a un cliente que el sitio tomaría tres semanas ... me llevó tres días. No se lo entregué por una semana más solo para evitar la apariencia de que todo sería tan rápido en el futuro. –

2

Una cosa para tener siempre en cuenta es el tiempo de prueba. Si algo tardará 10 días en desarrollarse, sería ideal permitir al menos 7-8 días de prueba. Obtener una buena comprensión de los requisitos por adelantado ayuda a estimar el tiempo. Cuando cambien los requisitos, deberá informar al cliente que agregará tiempo adicional a la fecha de entrega.

En general, como dijo Zack, mientras más experiencia obtenga, más preciso será con sus estimaciones de tiempo. Dar una estimación de tiempo poco realista solo para conseguir un trabajo solo puede ser algo malo. Por supuesto, no estoy sugiriendo que sea eso lo que hiciste. Simplemente lo estoy diciendo como un punto de buena práctica.

+0

Gracias por su respuesta, las pruebas me tomaron aproximadamente el 80% del tiempo, esa es parte de la razón por la que no puedo terminar mi proyecto a tiempo, sin embargo, necesito mejorar las habilidades de prueba para reducir esta parte. –

1

Uno de mis profesores de programación favoritos solía repetir esta oración cada vez que obtenía el cambio: "Tómate el tiempo que creas que te llevará a hacerlo y multiplícalo por 3. Incluso entonces será una decisión difícil" .

Al principio, al carecer de una mejor manera de hacer las cosas, de hecho lo hice. Todavía lo hago! Principalmente en esos proyectos que puede sentir la presencia de un cliente aunque :)

Funciona para mí. No es científico, pero funciona.

+0

Me dijeron (medio en broma) tomarse el tiempo, duplicarlo y levantar la unidad. ¡Entonces tres horas pasan a seis días! Scarily exacto ... –

2

¿Cuánto tiempo ha dedicado realmente a trabajar en esto? ¿Qué distracciones hay? Cada vez que te estás concentrando y alguien rompe esa concentración (un estado normal de cosas donde trabajo) puedes perder 30 minutos volviendo a ese estado de concentración. Cuatro o cinco de ellos al día y (también por las razones de las interrupciones) has perdido medio día. Cada día.

Todos hacemos esto. Mucho después de que deberíamos haber aprendido mejor, todavía lo hacemos. Pensamos que "eso no puede tomar más de un par de semanas" y hablamos de inmediato en lugar de ser inteligentes y pensar. Estoy hablando mucho, ¡aquí!

¿Cómo podría ser si dijéramos algo como esto: "Creo que en un mundo ideal podría hacer esto en tal vez 10 días, pero tú y yo sabemos que las cosas salen a la luz y necesitan ser tratadas y eso será tener un efecto. ¿Qué hay de priorizar las características y voy a trabajar en ellas en orden e informar, ya que cada una está terminada, con una estimación actualizada de tiempo restante? "

1

Desglose el proyecto en las tareas más pequeñas que puedo. Luego repasé la lista tres veces.

La primera vez que reviso la lista busco cosas con las que tengo mucha experiencia. Estas son las cosas en las que, según mi experiencia previa, puedo hacer una estimación muy precisa del tiempo que lleva.

Luego repaso la lista buscando cosas de las que no estoy seguro, y me preocupa que demoren mucho. Dedico algo de tiempo a investigar cada uno de estos y los desgloso en tareas aún más pequeñas. Eso me permite tener una mejor idea de qué es exactamente lo que está involucrado, y será más fácil abordarlo más tarde.

La última vez que revisé la lista, supongo que cada tarea le tomará a un programador completar un día de trabajo. A veces, alguien puede hacer un montón en un día. Eso es genial. Pero a veces una sola tarea tiene todo tipo de maldad oculta que nadie esperaba, y le tomará a alguien una semana para resolverlo. Se nivela al final.

Esto no le dará una estimación muy precisa. Realmente no se puede tener una estimación precisa. Nunca puede predecir de manera confiable exactamente qué día terminará algo. Sin embargo, esto le dará una muy buena estimación conservadora y precisa. La precisión y la precisión son dos cosas diferentes.

1

Identifique todas las tareas que pueda. Como han señalado otros arriba, mientras más pequeñas sean las tareas que está estimando, más preciso será. Sume el tiempo total, luego multiplique por el factor loco. Mientras más loco esté su cliente, más tiempo tomará. Has estado consultando por un tiempo, así que estoy seguro de que sabes el tipo.

+0

Gracias de todos modos mate. –

1

Milestonear un proyecto que he encontrado puede ser muy útil. Con esto quiero decir que identifica las partes clave en su proyecto, lo que ayuda a dividirlo en marcos de tiempo para los entregables.

De esta manera en cada hito, puede hacer un balance de cómo progresa y ver si se está quedando atrás, a tiempo, etc. con su proyecto.

ps. o podrías hacer el enfoque clásico de tomarte el tiempo que "piensas" que te tomará, y luego doblarlo !!! ;)

+0

No quiero solo duplicar el tiempo que pienso, ya que no sé cuál es el momento en que creo que pienso. Si sabes a qué me refiero. –

+0

aye! ... ese último fue más tonto en la mejilla. – kevchadders

1

Asimismo, recuerda el viejo dicho ...

"El primer 90% se lleva el 90% de las veces el último 10% toma el 90% del tiempo.".

No creo que puedas equivocarte si tomas el tiempo que crees que un proyecto de programación tomará y lo triplicarás. A menos que haya construido EXACTAMENTE lo mismo antes y fue en el último año, sucederán muchas cosas inesperadas. No puede reemplazar la experiencia, pero puede usar esta regla general para no meterse en problemas por el camino.

Y upvote la primera respuesta ... ser honesto y proactivo en el camino es enorme. Es mejor evitar promesas que tener que decir que no vas a golpear una marca.

+0

¿Quiso decir que el primer 90% toma el 10% del tiempo, el último 10% toma el 90% del tiempo? –

+0

No. El total es al menos el 180% del tiempo. :) –

Cuestiones relacionadas