project-management - proyectos - project manager curso
¿Cómo maneja su propio pequeño proyecto? (27)
Como tengo un trabajo, y quiero escribir algo de mi propio software en mi tiempo libre, quiero saber cómo ustedes organizan, planifican y desarrollan un proyecto tan pequeño. Ya que no es un trabajo, puede ser interrumpido por muchas otras cosas, entonces ¿cómo puedo hacer que siga funcionando bien?
- Si se trata de un proyecto pequeño, debe ser capaz de realizar un seguimiento de la información general en su cabeza. Si no puedes, es demasiado grande. Habiendo dicho eso, una lista de errores y características (por ejemplo, en Excel) es una buena idea.
- Calcula cuánto tiempo generalmente trabajas de una sola vez y prepara una lista de tareas que se ajusten bien en ese momento. Por ejemplo, si obtiene (digamos) una hora por las tardes después del trabajo pero antes del té, haga una lista de tareas de media hora. Deben ser pequeños (por ejemplo, "alinear estos controles", "refactorizar esta clase única", "agregar un campo de entrada adicional"). Es mejor tachar una tarea pequeña que decir "He logrado un 1% de progreso en esta gran tarea".
- Mantenlo pequeño. Recortar, recortar y recortar un poco más. Calcula cuál es el mínimo absoluto v1. Incluso si eso no tiene ninguna esperanza de ganar dinero, podría generar ingresos publicitarios o al menos una discusión en la web. Una vez que haya hecho la v1, puede preocuparse por v2. Si administra una hora por noche, entonces un proyecto de seis hombres llevará cerca de tres años.
- Utilice el control de fuente y use copias de seguridad. ¿Tienes más de una máquina? Uso una computadora portátil como servidor SVN y trabajo en mi máquina principal. Utilizo un archivo por lotes para guardar un volcado del repositorio en Dropbox una vez a la semana. Gratis y facil.
- No abandones a tu novia, consigue un buy-in. ¿Pueden ayudar en el proyecto? Escribir los documentos? ¿Promocionarlo? ¿Diseño gráfico? ¿Prueba? ¿Código?
2 tareas sencillas: 1) establecer un objetivo semanal 2) establecer una hora al día para trabajar en esos objetivos
Si no tienes una cárcel clara, no lograrás nada. Además, si no establece el tiempo para trabajar en ello, lo más probable es que nunca protagonice su proyecto.
Saludos cordiales.
Actualmente estoy haciendo lo mismo y no quería ninguna solución elegante, simple pero efectiva. Con una solución gratuita de alojamiento de código que se encarga del control de versiones, uso MonkeyGTD para registrar y rastrear todas las acciones en el proyecto. También puedo configurar ticklers, alertas para acciones temporizadas. Organizando mis pensamientos
Luego uso MonkeyPirateTiddlyWiki para grabar cualquier cosa que encuentre útil y que pueda reutilizar en el futuro. Persistiendo en mis pensamientos
Todo esto en simples archivos html con copia de seguridad automática.
Apague su teléfono, regale su televisor y desconecte el internet.
Otros pasos que pueden ser necesarios dependiendo de su situación: dejar a su novia, encontrar un pasatiempo para su esposa, vender a sus hijos y contratar a un ama de llaves.
En una nota más seria, las mañanas tempranas son mucho más productivas que tratar de trabajar por la noche cuando hay tantas distracciones. Como efecto secundario, acostarme antes te hace una persona mucho más enérgica y feliz en mi experiencia.
Aquí hay algunas cosas que he encontrado útiles:
- Calcule sus horas pico de productividad: algunas personas trabajan mejor a las 6 AM, algunas personas a las 6 PM, algunas a la medianoche. Probablemente también tengas otros compromisos, así que asegúrate de averiguar los mejores momentos, fuera del tiempo que tienes, para hacer las cosas.
- Cómo hacer las cosas: hay un gran book (del mismo nombre) de David Allen que trata sobre cómo administrar todo su tiempo, ya sea trabajo, diversión o sus pequeños proyectos. Encontré sus técnicas extremadamente útiles. No te ayudarán a diseñar el cronograma del proyecto directamente, pero te ayudarán a maximizar el tiempo que tengas.
- Diseñe un cronograma del proyecto: concédete una fecha de vencimiento y algunas fechas intermedias para varias fases del proyecto. Incluso una sola hora dedicada a diseñar una hoja de ruta para su proyecto puede ayudar a solidificar el proceso en su mente, e identificar qué tipo de programa puede lograr de manera realista. Encuentro que programar recompensas (salir a cenar, un día libre, un nuevo videojuego) para cumplir los objetivos ayuda mucho. Asegúrese de realizar un seguimiento de su progreso una vez por semana más o menos. Esto te ayudará a mantenerte enfocado en el proyecto.
- Mantenga su área de trabajo bien definida : reserve un área (idealmente, una oficina en el hogar o algo similar) donde trabajará en el proyecto. Cuando estés en ese lugar, trabaja solo en el proyecto. Incluso si se trata de un pequeño rincón dentro de su oficina, ese lugar debe reservarse para el proyecto. Cuando tengas tiempo para trabajar en ello, siéntate en ese lugar. Cuando sea el momento de relajarse o hacer otras cosas, siéntese en otro lugar.
- Tómese el tiempo para relajarse: no durará mucho tiempo trabajando un día completo de 8 horas, se ocupará de todos los demás compromisos y luego pasará todas las horas de vigilia trabajando en su proyecto. Tu cuerpo (y tu mente) necesitan tiempo para relajarse y rejuvenecer.
- No tengas miedo al fracaso: muchos proyectos pequeños fallan. Si quieres hacer algo, dale una buena oportunidad. Acepte que podría no funcionar, pero si decide trabajar en ello, comprométase a pensar que tiene éxito, y no mire hacia atrás.
- Diviértete: si no lo estás disfrutando, encuentra la manera de hacer que el trabajo sea agradable. Escuche su música favorita, escriba su código en una pequeña cafetería acogedora en algún lugar, o simplemente trabaje en una parte diferente del proyecto por un tiempo.
Básicamente, organizo mi día. Es como si fuera a programar cualquier otra rutina, como ir al gimnasio.
Específicamente me digo a mí mismo que apartaré determinadas horas del día para trabajar en mis proyectos personales. Ahora, como son personales, deberían ser divertidos de hacer, por lo que no debería tomarse TODO el esfuerzo. Sin embargo, si las cosas te interrumpen, está perfectamente bien.
Al final, me digo a mí mismo que vale la pena seguir, especialmente porque hay mucho que aprender sobre el desarrollo de software cuando lleva a cabo un proyecto personal.
Bueno, no administro mi pequeño proyecto ... ¡me maneja!
Cuando estoy de humor para jugar con él, absorberá toda mi energía. Esto generalmente dura algunos días. Luego lo abandono (pero solo temporalmente, por supuesto).
En pocas palabras: si es un hobby, hazlo cuando quieras y no dejes que te estrese.
Colóquelo en code.google.com (u otro motor de alojamiento de código abierto de su elección), "flogéelo" en las listas de correo, sitios yc que podrían hacer que la gente realmente se entusiasme con el concepto, y déjenlo explotar. Es poco probable que ganes mucha tracción hasta que tengas ALGUN código semi-funcional en svn o hg, ¡pero nunca se sabe! -)
El código abierto es la clave: si solo puedes trabajar en el proyecto en breves instantes de tiempo, no irá a ninguna parte, hasta que puedas conseguir otros contribuidores a bordo, lo que significa código abierto ;-).
Coloque un cuaderno junto a su cama. Siempre tengo las mejores ideas a las 3 de la mañana.
En cuanto a la planificación de un proyecto pequeño, puede hacer una gran cantidad de gestión de proyectos en una hoja de cálculo antes de que se vuelva difícil de manejar. Si solo hay uno de ustedes, eso es poco probable. Pase 10 minutos al día anotando las tareas completadas y las tareas pendientes. Mantenga todo actualizado.
Debo recomendar que pruebes FogBugz . Tiendo a trabajar en una serie de proyectos en el lado, y no podría seguir adelante con eso. Algunas cosas rápidas que me gustan de esto:
- Wiki para planificación y documentación de proyectos. Si el proyecto requiere que la documentación sea entregada al cliente, también utilizo el wiki como punto de partida y lo copio en archivos PDF una vez que se completa.
- Seguimiento de errores para seguir el progreso en el desarrollo de características y errores que encuentro en el camino. Creo que esto termina siendo más escalable que una lista en papel o TODO en el código, incluso para proyectos pequeños.
- Se integra con mi repositorio SVN para que mis confirmaciones aparezcan adjuntas al ticket apropiado.
- Todas las consultas de ayuda de mis clientes van directamente a FogBugz por medio de la API. Facilita el seguimiento de solicitudes de soporte y guarda la información para el futuro.
Como se mencionó en otra parte del hilo, FogBugz tiene una versión gratuita para hasta 2 personas. Si está buscando configurar un repositorio de origen, pruebe Beanstalk (beanstalkapp.com); también tienen una versión gratuita.
También puede considerar Basecamp (basecamphq.com). No lo uso personalmente, pero a la mayoría de las personas parece encantarlo.
En cuanto a la organización del proyecto, estoy trabajando en un proyecto a gran escala por mi cuenta y tengo muchos aspectos que debo considerar. Tengo experiencia en la codificación y desarrollo de sitios grandes, pero este será 100% mío. Utilizo dos herramientas que me ayudan a organizar mis pensamientos antes de comenzar a abordar el código y evitar perder el tiempo de la siguiente manera:
- FreeMind : software de asignación mental gratuito que le permite realizar una lluvia de ideas sobre funciones y funciones y mostrarlas de forma organizada.
- Grabadora de notas de voz en mi BlackBerry Storm: cada vez que me llega la inspiración o recuerdo un artículo perdido, rápidamente me dejo una nota de voz y la guardo hasta que pueda agregarla al mapa mental.
He estado trabajando en el mapa mental de todo incluido durante aproximadamente 3 semanas, solo para asegurarme de no omitir ningún aspecto del desarrollo y no siento que esté listo para comenzar a codificar. El mapa mental será bueno para eliminar elementos que se completen y obtener un método visual de seguimiento de mi progess.
Espero que esto ayude.
En general, es mejor designar un día fijo en el que desee dedicar algunas horas a su proyecto por semana. La regularidad es muy importante para mantener las cosas en marcha durante un largo período de tiempo.
Aparte de eso, recomendaría usar Version Control Management (Google Code, como ya se mencionó, es una buena idea ya que tiene una copia de seguridad en una máquina remota. También está OpenSVN o SourceForge . Con OpenSVN puede usar Trac , con es útil para rastrear su progreso y errores).
El resto depende del tamaño de su proyecto, pero algunos hitos de grano grueso con fechas ciertamente no dañarán el proceso. Aparte de eso, no tiene mucho sentido hacer demasiada gestión de proyectos en un proyecto pequeño. :)
Encontré esta publicación en el blog muy útil también: anteru.net/2009/06/08/508
Escribo mis ideas en una libreta (bolígrafo y papel) durante mi largo viaje en tren hacia / desde mi trabajo real. Probablemente promedie unas 3 horas de planificación y redacción por cada 1 hora de codificación real. Debido a que paso tanto tiempo planificando y diseñando, cuando realmente me siento a escribir algún código, el código es de mucha más calidad y no necesita ser reescrito con tanta frecuencia. Probablemente sería un poco menos productivo si pasara todo ese tiempo escribiendo código.
Además de eso, también puedes usar FogBugz en casa de forma gratuita, aunque realmente no me gustó como herramienta de gestión de proyectos.
Estoy en la misma situación. Tengo mi pequeño proyecto en el que trabajo en mi tiempo libre.
El elemento clave aquí es seguir creyendo en tu juguete. No te frustres porque va demasiado lento. por supuesto, si hay poco tiempo, será lento. Puede llevar meses o años. solo cree en ello y sigue trabajando en ello, sin establecer el plazo (seguramente lo perderás).
En el día puede pensar en lo que hará esta noche, buscar en Internet, recopilar información, leer algunos blogs y ejemplos, y por la tarde ya sabrá qué hacer y cómo abordarlo.
GTD siempre es una buena ayuda. Una lista de elementos accionables del tamaño de un bocado para marcar mientras avanza mantiene el progreso y la moral al máximo. También es clave reservar tiempo y espacio para trabajar.
Otra herramienta que es indispensable es tener a alguien más que esté trabajando en su propio proyecto o alguien que entienda la motivación del suyo disponible para ayudarlo a rendir cuentas. Tener actualizaciones de progreso un par de veces por semana con otra persona generalmente lo mantendrá productivo porque será muy difícil no traer nada a la mesa en las reuniones. Incluso una simple conversación telefónica funcionará y agregará una increíble cantidad de productividad a su proyecto.
Mantenga el proyecto tan ubicuo como sea posible también. Me parece que si puedo tener mi TODO / Project Spec en alguna parte que pueda acceder a él en el trabajo y en el hogar, realmente me ayuda a ser más productivo. Puedo consultarlo si tengo un pensamiento en el trabajo y verificar mis ideas cuando llegue a casa para trabajar en las cosas. Utilizo Evernote para mi spec / TODO y un cuaderno de Moleskine para un receptor de idea móvil.
En la línea de la persona que lo hará responsable, también puede configurar un blog para publicar mensajes de estado. Esto proporcionará muchos beneficios. Uno le permite dividir el trabajo en piezas de tamaño postal para que pueda abordar piezas discretas del proyecto a la vez y luego escribir sobre ellas. En segundo lugar, consolida las cosas en su mente al expresarlas en palabras, de forma similar a enseñarle a otra persona cómo hacer algo. Por último, es mucho más fácil cuando terminas de tener contenido para que tus clientes vean cómo surgió el producto, conoces tu historia y comienzas tu marketing / branding.
He estado trabajando en un proyecto favorito durante más de 10 años, y lo que hago para mantener la planificación en forma y la motivación en su lugar cambian año tras año. Actualmente uso Google Code, donde el sistema de seguimiento de problemas me permite administrar el trabajo que quiero hacer (y los errores de los usuarios) de una manera sensata y fácil. También integra muy bien el control de fuente y el seguimiento de problemas, lo que hace que mantener los dos sincronizados sea agradable y fácil. Es el mejor sistema (con el menor costo) que he encontrado para administrar el proyecto.
Para rastrear el trabajo, defino un conjunto de hitos para aproximadamente los próximos tres lanzamientos, y pongo las cosas que quiero hacer en esos hitos y luego me alejo. Sin embargo, es importante no quedar atrapado en una rutina, este proyecto es en parte para mí, así que de vez en cuando agregaré una nueva característica o volveré a escribir un gran fragmento por capricho. Claro, no estaba en el plan, pero entonces nadie me está pagando para entregar a tiempo y dentro del presupuesto :)
Para interactuar con los usuarios, anteriormente dirigía listas de correo, pero ahora parecen ser menos populares y requieren más de una inversión percibida por parte de los usuarios. Agregué foros a mi sitio (gracias a bbPress ) y he visto muchos más retiros y beneficios de esos. El sitio web principal que ejecuto es un skin muy mínimo sobre Wordpress para que se vea menos como un blog: usar un conjunto de herramientas preconstruidas para administrar tus sitios significa que no gastas tiempo en actividades no esenciales. Quiero pasar tiempo desarrollando mi editor de texto, no un CMS. Finalmente, para la documentación, he analizado una serie de enfoques diferentes, pero el que actualmente funciona bien para mí es el alojamiento de una wiki. Es una fricción muy baja para las personas para contribuir, y para mí, sumergirme en cualquier momento para documentar algo en respuesta a una pregunta en los foros. El archivo de ayuda precompilado que solía compilar se está volviendo completamente obsoleto.
Una de las lecciones más importantes que aprendí es cómo decir que no. Una vez que obtenga un grupo de usuarios, comenzarán a solicitar cientos de funciones / opciones de configuración / corrección de errores y llegó al punto en que me sentí como si estuviera viviendo bajo una nube de trabajo que no quería hacer. Al ver otros proyectos, aprendí a decir: "Claro, buena idea, pero no voy a trabajar en esto". El beneficio del código abierto es que alguien más puede hacerlo si es lo suficientemente importante para ellos.
Para motivarme, me parece que es esencial querer usar lo que estás construyendo: si no alimentas tu código o ganas dinero con él, entonces probablemente te aburrirás y seguirás adelante.
Finalmente, recuerde que puede tomarse unas vacaciones del proyecto; es útil volver fresco con nuevo entusiasmo.
La mayoría de los trabajos que he tenido han sido del tipo en que hay mucho tiempo de inactividad (esperando que ocurra basura), sin mencionar los insoportables viajes en autobús hacia / desde el trabajo.
Como resultado, siempre llevé un libro de proyectos conmigo (por ejemplo, una libreta de direcciones de una tienda en dólares), en el que guardo todos mis proyectos e ideas. Luego puedo mapear las cosas en papel (lo que siempre es más rápido y sencillo) que en una computadora). De esa forma puedo hacer todo el diseño, así como el código pseudo- (y no tan pseudo).
Cada vez que me quedo atascado en mis proyectos mientras trabajo en la computadora, trato de imprimir los trozos de código relevantes para poder ver la imagen completa (con una mejor resolución que en un monitor) y hacer todo tipo de notas y cambios. a lápiz, mucho más fácil y rápido.
Encuentro que siempre soy más productivo con lápiz / papel. Aún mejor es que de esta manera, puedo hacer cosas (incluso rápidas, pequeñas cantidades de trabajo) en el menor tiempo posible (por ejemplo, mientras subes en un ascensor o haces cola en la tienda). De esta forma puedo hacer una gran cantidad de trabajo en mis proyectos en el "tiempo inútil" que de otro modo se desperdicia.
Además de mis proyectos de codificación, tengo todas mis otras ideas allí (guiones, bocetos, listas de todo tipo, inventos, etc.) De esta manera cada vez que tengo un momento libre, siempre puedo encontrar algún tipo de cosa productiva para hacer . La única pega es que después de un tiempo se vuelve bastante hinchado y tengo que podar proyectos completos / muertos, etc. :)
En cuanto a la logística, solo puedo recomendar lo que siempre recomiendo: ¡haz una lista! Ya sea que use un programa o papel, haga una lista de sus tareas (y subtareas, subtareas secundarias, etc.). Es imposible ser productivo si tiene que intentar hacer un seguimiento de sus tareas en su cabeza. . Ni siquiera puedo contar lo suficiente como para contar la cantidad de veces que le he gritado a mi madre cuando regaña por tener demasiado que hacer y sentirse abrumada a pesar de que le dije que lo escribiera con sangre. Recuerdo una vez cuando fue a Noruega a ver a su madre durante un mes, así que tuve que asumir todas sus responsabilidades aquí. Sigo diciéndole que debido a que tenía una gran lista de cosas que hacer, logré hacerlo todo sin sentirme abrumado.
Haga una lista y realice las tareas a medida que avanza. Se sorprenderá de lo fácil que son las cosas cuando puede ver las tareas y su progreso ante sus ojos.
La mejor manera de mantenerlo sería considerarlo tan serio como su trabajo. Sugiero incluir algunos amigos más afines en el proyecto si es posible. Incluso sugeriría incluir a su familia para hacer algunos de los quehaceres del proyecto, como pruebas de usabilidad, documentación, etc. De esta manera no sonará como un trabajo rutinario y le encantaría trabajar en él ya que todos son comprensivos, dedicados y esperanzados de ver. el proyecto tiene éxito.
Mi recomendación:
Pruebe PivotalTracker . Ponga en "historias" lo que su proyecto debe lograr, inserte errores encontrados. Dado que usamos PivotalTracker, hay mucha más motivación en el equipo y también en mis propios proyectos. Usted está realmente al tanto de lo que hizo y de lo que todavía tiene que hacer.
Pero lo más importante: puede ser interrumpido en cualquier momento. Incluso ser interrumpido por otro proyecto es divertido (a menudo me pasa) porque solo tiene un clic y está al día con el progreso de otros proyectos. Y puede decirle a su cliente (si el programa no es solo para usted) qué ha hecho en la última semana.
Por supuesto, es solo una herramienta, pero de los disponibles vi, mi favorito.
Tengo un gran proyecto de c ++ desde hace años. (solo codificador ...) Mi consejo: tómate un descanso si lo necesitas: código forzado == código incorrecto. Además, su cabeza se encenderá, incluso si sus dedos no están escribiendo ... (de manera reproducible)
Tengo una pequeña empresa de consultoría que corro "en el lado". He tenido algunos proyectos a lo largo de los años, algunos de ellos lo suficientemente grandes como para tener que incorporar otros desarrolladores. Lo más importante para mí fue obtener un entendimiento inicial con mis clientes sobre las limitaciones de tiempo y el presupuesto. Sé que puedo hacer mi trabajo a tiempo completo: trabajo 2 horas por noche durante la semana y 5 horas por día durante el fin de semana. Más que eso y tengo que presupuestar para más personal que solo yo mismo. Sé que mucha gente puede decir que 5 horas al día en el fin de semana no es mucho, pero les digo, ¿lo han hecho antes con los clientes que pagan? Hay necesidades de la vida de las que también debe ocuparse, y solo hay muchas horas en un día. Hasta ahora, no he tenido clientes decepcionados que usen este sistema, y para mí, eso es lo que más cuenta.
Sé que algunos de ustedes están a punto de decir "Pero espera - dijo su propio pequeño proyecto". Esto es cierto, pero luego él es su propio cliente. Si quiere "mantenerlo funcionando", debe tratar cada proyecto como si tuviera un cliente al que responder, incluso si ese cliente es él mismo. Puede establecer sus propios requisitos de tiempo y "presupuestar" su tiempo de desarrollador en consecuencia.
La mejor de las suertes en su esfuerzo arsane.
Uno de los métodos más efectivos que aprendí fue agarrar un compañero . Cuando empiezas a aventurarte en un proyecto, puede ser muy solitario y deprimente. Un espectáculo de un solo hombre hace que sea más fácil simplemente plegar la tienda e irse a casa.
Con un socio, es posible que tenga la obligación de entregar lo que necesita para cumplir su promesa, que debería ser "vamos a tener éxito". Además, si tienes un compañero, puedes intercambiar ideas de él. Fuera de la caja, pensar será mucho más fácil.
Otros consejos pueden ser Establezca hitos, semanalmente, si no diariamente.
Uso Codebase (codebasehq.com) para mi servidor de git y gestión de código. También hay muchas otras aplicaciones de administración de proyectos basadas en SaaS que son relativamente económicas, por ejemplo, Basecamp.
Sin embargo, lo más importante que le aconsejo es encontrar a otra persona que codifique con usted: hace que los proyectos sean mucho más interesantes cuando trabaja con otra persona de ideas afines. Descubrí que todos los proyectos en los que he trabajado solo han consistido en mucho más trabajo que los que he completado con un "amigo de codificación".
¡Buena suerte!
Utilice el sitio web de gestión de proyectos como / w para rastrear sus tareas y el código fuente. La peor parte de trabajar en un proyecto fuera del horario de trabajo solo es poder trabajar en él en ráfagas cortas, por lo que es esencial poder continuar desde donde lo dejó lo más rápido posible.
Personalmente utilizo Codespaces.com y lo recomiendo encarecidamente para rastrear pequeños proyectos. Tiene un repositorio de tareas, wiki y SVN. ¡Lo mejor de todo es gratis para proyectos de menos de 500 MB!
Yo uso www.manymoon.com
Es una herramienta muy simple de usar pero con suficiente potencia para proyectos pequeños.
Usted debe darle una oportunidad. la versión básica es gratis.
Una respuesta más pragmática ...
- Asegúrate de tener control de revisión remoto (subversión y git son realmente buenos).
- Aloje su control de revisión en un servidor del que se hace una copia de seguridad (ya sea el suyo o el servicio gratuito)
- Trac para seguimiento de fallas / tickets, hitos del proyecto, wiki, etc. Se integra con la mayoría de los sistemas de control de revisiones de código abierto. (si eres un usuario de git, entonces recomiendo github lugar de trac)
Obtenga una cuenta FogBugz gratis
Primero, haz las cosas que recomienda Alex Martelli ... todas son excelentes pistas.
Segundo, obtenga una cuenta fogbugz ... es gratis para un proyecto pequeño como el suyo. Úselo para registrar sus pensamientos, desglosar tareas, etc.
Es sorprendente la diferencia que tiene tener un plan para su proyecto cuando tiene poco tiempo para trabajar en él.
http://www.fogcreek.com/FogBugz/StudentAndStartup.html?isl=140855