Buena pregunta y tengo curiosidad por saber cómo otros organizan su trabajo y proyectos. Comencé como profesional independiente y desde entonces me he convertido en una pequeña agencia. El proceso con el que comencé se ha ajustado para pasar eficientemente del desarrollo local a los sitios en vivo y permite la colaboración con otros en nuestro equipo (u otros trabajadores independientes), así como compartir de forma segura lo que se necesita con nuestros clientes y diversos interesados en el proyecto.
Las piezas más importantes del rompecabezas son la simplicidad y la semántica. Al mantener las cosas lo más simples posible, puede trabajar rápidamente y buscar archivos sin buscarlos por todas partes. Los proyectos, especialmente los sitios web y los proyectos relacionados con el código, pueden volverse difíciles de manejar muy rápidamente. Si su objetivo es tener código limpio y marcado semántico, comience ese proceso con su estructura de archivos y carpetas cuando trabaje localmente.
Para el trabajo local utilizamos una combinación de herramientas. Los más utilizados son Transmitir, cuenta de Amazon S3 y DropBox (Equipos en nuestro caso, pero la edición personal funciona de la misma manera). Todo el mundo quiere escribir código en sus propios editores preferidos, y realmente lo único que importa es en qué se siente eficiente y cómodo. Sin embargo, el almacenamiento y las rutas de documentos, archivos, aplicaciones, etc., todo debe establecerse y definirse.
- ¿Qué tipo de trabajo independiente puede hacer un tipo de finanzas y cómo hacerlo?
- ¿Qué tan bueno dirías que es un guitarrista de sesión independiente que puede tocar cualquier estilo ...? En comparación con un jugador estrictamente de metal / rock
- ¿Cómo debo decirle a un cliente existente que mi tasa de freelance ha aumentado?
- Cómo conseguir un trabajo como desarrollador independiente de WordPress
- Soy un adolescente que gana un nanogrado en Desarrollo web front-end de Udacity, ¿podría comenzar a trabajar independientemente cuando lo termine?
También organizamos clientes y proyectos de la misma manera. Dentro de Dropbox, tenemos una carpeta de Cliente. Dentro de esa carpeta están nuestros clientes individuales. Cada cliente obtiene su propia carpeta que está estructurada exactamente igual. Creamos una plantilla (! Nueva plantilla de cliente) dentro de nuestro directorio de Clientes, y cuando agregamos un cliente simplemente “Duplicamos” la plantilla y la renombramos con el nombre de nuestro Cliente. La carpeta está organizada alfabéticamente, así que colocando un! al frente de nuestro conjunto de plantillas de cliente, siempre se encuentra en la parte superior del directorio y es fácil de encontrar.
La nueva plantilla de cliente es la siguiente:
- Entregables : en realidad, no utilizamos mucho esta carpeta ya que confiamos en nuestro conjunto de gestión de proyectos para manejar los entregables. Tendemos a mantener cualquier horario relacionado fuera de estas carpetas. Las carpetas y el trabajo local son estrictamente para el desarrollo, no para la administración. Sin embargo, en ocasiones, dependiendo del proyecto, esta carpeta de entregables estará llena de activos
- Documentos : dentro de la carpeta Documentos guardamos cosas como Estimaciones, Propuestas, Facturas y Contratos. Todos los contratos y acuerdos son gestionados digitalmente por DocuSign, sin embargo, una vez firmados por todas las partes, los almacenamos localmente, así como dentro de la aplicación de gestión de proyectos. Docs es para referencia rápida y es utilizado principalmente por el gerente de proyecto para buscar y verificar las cosas que hemos acordado hacer dentro del contrato. Esta carpeta se comparte con el cliente.
- Archivos de proyecto : esta carpeta contiene otra carpeta titulada “_De cliente” que contiene todos los activos que el cliente nos ha proporcionado. Estos generalmente son sin procesar del cliente y no los editamos. Se usan como referencia y son una segunda copia (los originales nunca se tocan ni se archivan en S3). Cuando usamos un activo de la carpeta _De cliente, cambiamos el nombre a lo que necesitemos y luego lo colocamos en la carpeta Archivos de proyecto. Si está en esta carpeta, la hemos editado y la estamos usando.
- Hojas de trabajo del proyecto : esta carpeta contiene borradores, esquemas, bocetos o documentos relacionados con el proyecto. También tiene todo lo que el cliente ha proporcionado que hemos solicitado antes de comenzar el proyecto.
- Sitio : dentro de esta carpeta está nuestra instalación local del sitio en sí. La carpeta está organizada exactamente como estará cuando esté en un servidor en vivo y sea accesible públicamente. Básicamente, desarrollamos el sitio dentro de la carpeta Sitio y cuando se completa el proyecto, migramos toda la carpeta al servidor en vivo y luego archivamos la copia de desarrollo.
Algo a tener en cuenta es que DropBox es increíble, pero todavía lo considero un producto de consumo pesado. No me siento cómodo confiando en él para el almacenamiento a largo plazo o para cualquier recuperación ante desastres como hacen algunos freelancers y agencias pequeñas. En cambio, confiamos en Amazon para manejar las copias de seguridad reales.
Utilizamos una combinación de herramientas para hacer copias de seguridad en los servidores de Amazon. El primero es transmitir. Es simple, rápido y cualquiera puede usarlo. Pero es manual y la gente olvida. No usamos ningún SVN o repositorio central para administrar el código y los proyectos, por lo general, solo 1-2 personas trabajan en algo, por lo que omitimos la ruta SVN / Git.
Dentro de nuestro almacenamiento S3 tenemos cubos que coinciden exactamente con la carpeta DropBox. Cuando agregamos un nuevo cliente en DropBox, lo agregamos a S3 manualmente. No tocamos archivos S3, son estrictamente para archivar y recuperar.
Luego usamos Arq para administrar las copias de seguridad diarias, y esas se envían a un cubo S3 separado. Arq se ejecuta cada hora como lo haría Time Machine. Solo creo que es mejor. La carpeta Clientes DropBox está respaldada con Arq y sincroniza cualquier cambio cada hora.
Como Rich Freedman mencionó en su estructura, para clientes con múltiples proyectos solo tenemos esos proyectos dentro de la misma carpeta de cliente. Todo es nombrado por Year_Client_Project_Project-Manager. Entonces, si Quora es un nuevo cliente y yo soy el gerente del proyecto, su carpeta se lee como 2012_Quora_WordPress_Knechtel. Así fue como todo se configuró en 2011, y una vez que comenzó 2012, archivamos todos los proyectos de 2011 y comenzamos un nuevo directorio de 2012. Entonces, si Quora fuera un cliente en 2011, entonces dentro de su Carpeta de Cliente se leería así:
2012_Quora_WordPress_Knechtel
2011_Quora_Ruby_Smith
Lo más nuevo siempre en la cima.
Esa es básicamente nuestra estructura, espero que esto ayude un poco. Lo más importante es la simplicidad (el desarrollo local se transfiere directamente a la vida, el almacenamiento y el archivo) y la semántica. Todo es fácil de encontrar rápidamente y todo tiene sentido para cualquier recién llegado que se una al equipo.
Justin