Soy un programador superior a la media (me interesa el desarrollo de lenguajes, marcos y tecnología en general y tengo una buena comprensión de los sistemas), pero constantemente me encuentro incapaz de entregar cosas (a tiempo). Esto no afecta mi trabajo diario, ya que tiene un buen proceso de control (tareas pequeñas con desarrollo impulsado por la vergüenza) Pero definitivamente me perjudica en mis proyectos personales.
Algunas de las razones que creo que están en juego. -Hago las cosas más complicadas de lo que deben ser. A menudo, mucho más de lo que admito. -No soy muy bueno para hacer las tareas más pequeñas a veces. -Me alejo por rincones oscuros cuando los encuentro en lugar de mantener un foco láser.
El resultado es a menudo que no entrego. Ahora puedo saber en el fondo de mi cabeza lo que tengo que hacer, pero agradecería su estrategia sobre cómo ser el tipo que "cumple".
fuente
Respuestas:
Un par de observaciones:
Según Seth Godin , la forma de enviar a tiempo y dentro del presupuesto es la siguiente: cuando se acaba el tiempo o se queda sin dinero, se envía. Eso es.
También dice que la gente tiende a las cosas de oro; desarrollan la picazón para corregir solo un error más, o agregan solo una característica más. Hacen esto, no porque realmente necesiten esa nueva característica o arreglo para enviar, sino porque tienen miedo al escrutinio; siempre que el producto no se envíe, pueden evitar las críticas.
Las personas ganan una reputación de ser valiosas porque saben cómo hacer las cosas, no solo porque tienen buenas ideas. Tienen la capacidad de terminar. No se trata de una estrategia. Se trata de una mentalidad. Use esa mentalidad para rodearse de las herramientas que necesita (tanto mentales como físicas) para ser lo más productivo posible.
Dicho todo esto, defiendo una técnica que defiendo, y son las explosiones cortas de productividad de alto nivel. Dese períodos de 20 o 30 minutos en los que decida que va a ser lo más productivo posible durante esa breve explosión. Establecer un temporizador. Cuando ese temporizador termine, tómate un descanso de 5 minutos. Estirar, caminar. Vacia tu mente. No pienses en el trabajo durante ese tiempo.
Enjabonar, enjuagar, repetir.
fuente
Hay una gran diferencia entre llegar tarde a una tarea fija y bien definida y llegar tarde porque la tarea cambia. En el trabajo, es el cliente quien solicita los cambios, y todos entienden que el horario cambiará en consecuencia.
En casa eres el cliente y el programador. Cuando estás trabajando en algo y la idea se te viene a la cabeza "Caramba, si cambio A o reescribo B, el proyecto será mejor", eso es un cambio, no llegar tarde. En los negocios, un cliente sopesaría las alternativas y tomaría una decisión, en casa usted está haciendo lo mismo.
Considere crear un sitio web en el trabajo y a la mitad del cliente llama y pregunta "Sé que está construyendo parte de él en Flash, pero ¿podríamos usar HTML5 en su lugar?" Pensaría y respondería algo como "Bueno, sí, pero hará que el proyecto demore 3 semanas adicionales y agregue x dólares al costo".
¡En casa la diferencia es que generalmente tenemos un duh! momento en el que nos damos cuenta de "Gee, esto sería mejor si estuviera usando HTML5". La parte que omitimos es la parada para pensar en las implicaciones del cambio en términos de programación; en otras palabras, generalmente no hacemos una pausa para pensar en el cambio. En cambio, generalmente seguimos adelante y lo hacemos porque "sabemos" o "pensamos" que es la mejor manera. No iniciamos Excel y hacemos un cálculo financiero como lo haría un contador de frijoles en el trabajo al decidir si se debe hacer un cambio.
Personalmente, me gusta esto en casa, no todo el desarrollo debe ser impulsado por contadores de frijoles ;-)
No te golpees, apenas comprende lo que está sucediendo.
fuente
Un gran consejo aquí: además de eso, trata de conseguir un socio que esté interesado en el mismo proyecto que quieres hacer. Entonces pueden motivarse mutuamente y hacer las cosas. Es como conseguir un compañero de gimnasio: ayuda mucho en los días de escasez.
Esta es exactamente la razón por la cual los proyectos de código abierto funcionan: muchas personas que realmente quieren hacer eso, se presionan entre sí para mantener una entrega de calidad / consistente.
fuente
Pocos puntos vienen a la mente:
Establecer un objetivo alcanzable específico.
Haga de la simplicidad un objetivo por el que luchar.
Pon un plan de proyecto realista y trata de cumplirlo.
Aislar la investigación de la entrega.
Analiza tu rendimiento (como lo estás haciendo aquí).
Ponga el tiempo por adelantado en el diseño.
fuente
Lo que funciona para mí es escribir entre 5 y 10 tareas del tamaño de un bocado en mi pizarra al comienzo del día. Nada muy ambicioso. Mi objetivo principal es tachar esas tareas antes del final del día. Si nada más, solo haz esas tareas.
Por supuesto, saldré a las tangentes y trabajaré en muchas otras cosas, pero si el día está llegando a su fin, dejaré esas tangentes y volveré a esa lista. Mi motivación es que quiero la satisfacción de ver esa lista completa tachada y comenzar una lista completamente nueva al día siguiente.
Es sorprendente lo mucho más productivo que soy cuando hago esto.
fuente
Para proyectos personales, este nivel de dilación está bien. Son más divertirse y aprender que producir productos finales. Si estuviera hablando de proyectos de clientes, este sería un asunto muy diferente.
Si le preocupa su productividad en proyectos personales, me fijaría metas alcanzables con recompensas. También debe aceptar que el envío es una característica. Es mejor tener un producto imperfecto ahora que un producto perfecto en el futuro
fuente
Tengo el mismo problema y he descubierto que las siguientes 2 cosas me ayudaron enormemente:
fuente
No te permitas comenzar otro proyecto hasta que termines el que estás trabajando. Termino acumulando demasiadas cosas que quiero hacer, que no termino ninguna de ellas. Si te aburres, haz malabares con 2 proyectos.
fuente