Comencemos por contratar un buen equipo de los profesionales adecuados para su proyecto. En una aplicación comercial típica, necesitaría contratar a un desarrollador de bases de datos y un dba, una persona de control de calidad, un administrador de sistemas, analistas de negocios, desarrolladores de aplicaciones, un especialista en interfaz de usuario y líderes de equipo como mínimo. DBA, administrador del sistema, analistas de negocios y control de calidad deben estar en una cadena de informes separada del equipo de desarrollo. El especialista en bases de datos de desarrollo debe informar al mismo líder técnico que los desarrolladores de aplicaciones y el especialista en IU.
Configurar el espacio de la oficina. Las oficinas privadas son geniales si puede obtenerlas (le deseo mucha suerte con esto), pero en un mínimo necesita escritorios, teléfonos, computadoras, pizarras y un par de salas de conferencias dedicadas. Asegúrese de que haya un lugar para el almuerzo, un refrigerador, refrescos, refrigerios y café disponibles. Refrescos y café gratis aún mejor.
Configure servidores dev / qa / staging y prod para la aplicación y las bases de datos. Las bases de datos nunca deberían estar en el mismo servidor que las aplicaciones. Dependiendo del tamaño y el alcance del proyecto, es posible que necesite varios servidores o SAN, etc. para cada entorno.
Tan pronto como se configuren los servidores, programe copias de seguridad del sistema de archivos, la base de datos y los registros de transacciones de la base de datos. Haga esto el primer día que se arreglen las cosas. Contrata una empresa como Iron Mountain para realizar copias de seguridad fuera del sitio semanalmente.
Configure un sistema de control de origen y cree un documento que describa cómo se utilizará. No olvide insistir en que TODOS los cambios estructurales de la base de datos y las inserciones de datos para las tablas de tipo de búsqueda estén en scripts en el control de origen. Esto facilitará la implementación.
Compre software comercial o descargue software de código abierto para el conjunto de herramientas que decidió utilizar con licencias para todos los usuarios pertinentes.
Compre máquinas para desarrolladores que griten rápido y que tengan dos monitores. Compre al menos una máquina de usuario de prueba que gime lentamente y sea típica de lo que los usuarios tendrán en sus escritorios.
Entrene a sus nuevos desarrolladores en cómo desea que se hagan las cosas. Si tiene un equipo lo suficientemente grande como para tener algunos desarrolladores junior, entonces programe capacitación adicional para ellos e incluya el tiempo en la planificación de su proyecto. Monitoree a los jóvenes muy de cerca por al menos tres meses. Monitoree de cerca a todos los nuevos empleados durante el primer mes. Deshágase de Deadwood y desarrolladores rebeldes lo antes posible.
Determine qué debe hacerse en qué orden (la ruta crítica). No asigne tareas al final de la ruta crítica hasta que se completen las tareas de las que dependen.
Crear planes de prueba y requisitos.
Establezca reuniones de progreso programadas regularmente con los clientes. Merecen saber qué estás haciendo y cuáles son los obstáculos. No dejes de decirles cuándo llegarán las cosas tarde. Si faltan tres semanas para la fecha límite y ya sabe que la perderá, ese déficit no desaparecerá mágicamente antes de que tenga que avisarle al cliente. Asegúrese de que el cliente sepa que los requisitos adicionales significan costos y tiempo adicionales y que cada requisito adicional tendrá que eliminar otras tareas o la fecha límite cambiará por la cantidad de horas en las nuevas tareas. Dejar esto en claro desde el principio le ahorrará mucho dolor y horas extra y costos excesivos absorbidos por su grupo y no por el cliente.
Configure un entorno para la prueba de rendimiento, no solo la velocidad de un usuario, sino uno en el que pueda probar la cantidad esperada de usuarios simultáneos. No espere para hacer esta prueba hasta el día anterior a su lanzamiento.
En la planificación del proyecto, suponga que el control de calidad encontrará errores y que llevará tiempo solucionarlos. No programe el control de calidad solo por un día al final.
Cree datos de prueba que sean aproximadamente del tamaño que cree que tendrá la base de datos. Haga que todos los desarrolladores prueben su código con la base de datos de este tamaño. No permita que los desarrolladores solo desarrollen en una pequeña base de datos en sus máquinas personales. Esta es una causa frecuente de código que funciona bien hasta que llega a producción.
Planifique recompensas en el presupuesto. Desmotiva a las personas cuando trabajan duro durante meses y solo los gerentes obtienen bonificaciones. También diga gracias con frecuencia y por escrito.
Es posible que necesite un sistema de gestión de proyectos o al menos configurar hojas de cálculo para rastrear lo que necesita rastrear. Al hacer la planificación del proyecto, no asuma más de seis horas al día como persona en su plan. Esto ayuda a tener en cuenta el tiempo que no se dedicará al proyecto, como vacaciones, enfermedad, vacaciones, reuniones de recursos humanos, revisiones de rendimiento, etc. Si sabe que el proyecto se encuentra en un período de alta indisponibilidad (por ejemplo, un proyecto que se ejecuta del 1 de noviembre al 1 de enero en los EE. UU.), es posible que deba hacer asignaciones adicionales para más vacaciones y vacaciones. No es justo esperar que los desarrolladores renuncien a sus vacaciones y vacaciones y nadie puede predecir cuándo sucederán cosas como tiempo de enfermedad, servicio de jurado, tiempo de duelo, etc. Suponga que sucederán con su equipo en este proyecto.