¿Cómo organizan otros diseñadores / desarrolladores proyectos localmente en sus máquinas?

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.

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:

  1. 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
  2. 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.
  3. 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.
  4. 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.
  5. 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

Soy diseñador gráfico y web.

Primero, tengo una carpeta de trabajo en mi disco que contiene todos mis proyectos de cliente.

Los proyectos se ordenan en subcarpetas por tipo:

  • Ilustración
  • Logotipo (la marca completa también va aquí)
  • Impresión
  • Valores
  • Web

Dentro de cada carpeta de tipo hay una carpeta de proyecto con el nombre del cliente.

Si tengo más de un proyecto para el mismo cliente en un tipo determinado (por ejemplo, “Imprimir”), los ordenaré en elementos como “Folleto”, “Folleto”, “Banner roll-up”, etc.

Dentro de cada carpeta de proyecto, tengo una carpeta “Materiales” donde reside todo el contenido que me envió el cliente, así como los recursos que compro específicamente para este proyecto.

Dependiendo del tipo de proyecto, tengo diferentes estructuras de carpetas. Para un proyecto web, se ve así:

  • _materiales
  • Manual (aquí es donde escribo la documentación para el cliente)
  • PSD
  • capturas de pantalla (archivos JPEG que envío al cliente para su aprobación)
  • plantillas (HTML / CSS va aquí, si estoy entregando plantillas estáticas)
  • WordPress (archivos de tema WP)

Mi copia de seguridad local refleja esta estructura, pero no subo todo a Dropbox o Drive. Eso sería demasiado costoso para mí, ya que mis archivos de impresión son enormes.

Tengo una carpeta Proyectos con subcarpetas para Web, Mobile e Infraestructura. Debajo de la carpeta Web, por ejemplo, tengo una subcarpeta para cada cliente y una carpeta debajo para cada nombre de proyecto relacionado con ese cliente. Dentro de una carpeta de proyecto web real tendré un directorio de documentos, un directorio de prueba y un directorio de producción. el directorio de producción se configurará para sincronizarse con el servidor del cliente a través de SFTP, mientras que la carpeta “prueba” se sincronizará con mi propio servidor, o con un directorio de prueba en el servidor del cliente, según el proyecto.

También guardo fragmentos de código y funciones útiles en mi cuenta de Evernote para usar en otros proyectos.

Espero que eso ayude.