2009-09-24 12 views
7

Trabajé como desarrollador freelance de php por un tiempo, y manejé todos los aspectos de programación por sí solo. Aunque trabajé con un desinger gráfico, toda la codificación fue hecha por mí.cómo manejar un proyecto de php con un equipo?

Actualmente tengo un trabajo con un equipo para programar algún proyecto.

Entonces, le temo a este nuevo desarrollo. Cómo gestionar un equipo y dividir el trabajo, seguir el cambio.

Buscaré soluciones completas.

+0

¿Serás el líder del equipo o un miembro del equipo? – Michelle

+0

un líder de equipo .. – assaqqaf

Respuesta

9

Esta es una buena pregunta; Estoy seguro de que es una situación que enfrentan muchas personas a medida que cambian de freelance a un entorno de equipo.

Primero de todo, ¡no tengas miedo! Tus pares te harán un mejor programador solo por la exposición a sus formas únicas de hacer las cosas. Y, ahora tendrá grandes recursos para recurrir cuando parece que no puede encontrar ese error tipográfico que lo dejó perplejo durante horas.

Trabajar juntos en el mismo proyecto no tiene que ser difícil. Divídalo en trozos modulares. Comience por configurar un esquema, defina la E/S entre diferentes funciones/métodos/segmentos de código, y luego dele a cada persona una "caja negra" para que complete el código.

A medida que aprende las fortalezas de cada uno & debilidades, puede delegar tareas a las personas en función de sus puntos fuertes para cumplir hitos importantes, o en función de sus debilidades para ayudarlos a desarrollar sus habilidades.

Adopte el control de versiones tan pronto como sea posible e invierta tanto como sea necesario para aprender a usarlo bien. Asegúrese de comprender cómo crear, usar y fusionar ramas. Cualquier sistema de control de versiones funcionará ... Recomiendo SVN (Subversion) o CVS. Prefiero Subversion.

Desarrolle un sistema para el seguimiento de errores y para realizar un seguimiento de las listas de tareas para las nuevas funciones. No tiene por qué ser elegante para trabajar. Si eres una operación nueva y pequeña, puedes hacerlo en algo tan simple como una hoja de cálculo compartida de Google Docs. Si tiene dinero para gastar, Atlassian JIRA y FogBugz son ambos sistemas de seguimiento de grandes problemas.

Lo que es más importante, escuche y respete lo que sus nuevos compañeros tienen que decir, incluso si están completamente equivocados. Nunca olvides que son aliados y no adversarios.

¡Diviértete! Y buena suerte.

+5

'git' es un fabuloso sistema de control de versiones que vale la pena señalar. – brianreavis

0

Recomiendo leer algunos libros sobre la gestión exitosa del equipo. He aquí un buen punto de partida:

Successful Team Management by Nicky Hayes

responsabilidad: nunca he leído este libro. Ni siquiera sé si es bueno. Otros en la misma categoría pueden ayudarte.

0

Definitivamente necesitará comenzar a usar un sistema de control de versiones, si no lo está ya - algunas buenas opciones son git (excepcionalmente rápido y completo, http://git-scm.com/) o bzr (mucho más lento, pero más fácil de usar, http://bazaar-vcs.org/)

2

El Joel Test sirve como un esquema decente de gestión de equipos mejores prácticas

  • de control Uso fuente
  • utilizar un sistema de seguimiento de tareas
  • Mantener un horario
  • Documento su diseño
  • prueba
2

Una parte importante del desarrollo de PHP basado en equipos es dividir la funcionalidad en varios archivos. La mayoría de los desarrolladores de PHP se dividen en dos campos; Desarrolladores web que necesitaban aprender un lenguaje del lado del servidor e Ingenieros de software que se están moviendo al desarrollo web. Los primeros tienden a escribir todo su código en archivos retorcidos monstruosos, y los segundos usan PHP para escribir código de apariencia limpia, pero a menudo no logran dominar el diseño sin tablas.

Para hacer un excelente trabajo con PHP, es importante hacer las dos cosas bien. El desarrollo del equipo requiere separar diferentes partes de la funcionalidad y la IU en diferentes archivos, ya sea mediante inclusión o mediante el uso de un marco. Sin embargo, tenga en cuenta que tanto el lado del software como el lado de la web tienen la misma solución; separación del modelo del controlador de la vista, separación del contenido del diseño.

Una cosa más: la típica estructura de directorio de control de versión de troncal/sucursal no funciona tan bien con el trabajo web. Lo que normalmente hago es tener una estructura de directorios en desarrollo y en vivo. Sus desarrolladores trabajan en la rama desarrollo, y luego cuando desea aplicar los cambios al sitio en vivo, solo necesita decirle a su software de control de versiones que aplique los mismos cambios allí (Subversion es muy bueno en esto).

Lo mejor de la suerte.

0

Buscaré soluciones completas.

Bueno, su única completa solución es contratar a un gerente de desarrollo de software profesional.

Si aún espera superarse, tendrá que olvidarse de escribir el código usted mismo. Tendrá que concentrarse en la administración de tareas, el código fuente y la calidad del software (prueba). Hay herramientas, por supuesto, pero las herramientas no son soluciones completas (no importa qué tan buenas sean estas herramientas). Aquí hay una metáfora de: si tienes un buen martillo, no necesariamente significa que todas tus uñas se suavizarán y nunca se doblarán.

Por lo tanto, la gestión del equipo de desarrollo de software requiere conocimientos y experiencia, no solo herramientas. Es muy diferente de la aplicación de escritura por su cuenta.

¡Y sé valiente!

0

Una idea interesante que he escuchado sobre este tema es usar Test Driven Development (TDD) donde se escriben las pruebas usando PHPUnit o SimpleTest y luego entregarlas al equipo de desarrollo. Cuando las pruebas pasan la tarea se considera hecha.

1

Comencé a usar Trac cuando comencé a trabajar con otro desarrollador en una aplicación. Es una gran manera de asignar tareas, rastrear errores y características, versiones, etc. Estoy usando junto con Subversion.Como muchos otros han mencionado, necesita una forma de asignar trabajos, rastrear errores y, por supuesto, control de versiones, que es fundamental.

¡La comunicación es primordial! Correo electrónico, próximo Google Wave, un servidor de IRC gratuito, algo que sea de fácil acceso y que utilicen sus compañeros. Todos deben estar en la misma página, nada peor que trabajar en una función o bloque de código para descubrir que alguien más ha estado abordando el mismo problema.

¡Buena suerte! Es una atmósfera bastante diferente cuando lideras y administras. Esté abierto a las sugerencias del equipo.

Cuestiones relacionadas