Es un poco un mito que necesites ser un programador para comenzar una empresa de software o incluso administrar un proyecto de software. Muchos de nuestros clientes no son técnicos y gestionan proyectos de desarrollo exitosos.
Si bien no creo que necesite habilidades técnicas, sí necesita comprender lo siguiente:
- Las mejores prácticas de gestión de proyectos para el desarrollo de software.
- Cómo comunicar sus ideas a un equipo de desarrollo.
- Cómo priorizar las especificaciones de su proyecto
Una cosa importante a tener en cuenta es que, incluso si no está realizando ninguna codificación, administrar un proyecto de desarrollo lleva mucho tiempo. Como gerente (o Propietario del producto, como se le suele llamar), necesitará tiempo para investigar, pensar estrategias, asistir a reuniones, explicar su visión, preparar especificaciones y estar disponible para responder preguntas de su equipo. Creo que es seguro decir que se necesita al menos el 25% del tiempo de alguien (al menos 10 horas / semana) para ser un gran propietario del producto en un proyecto pequeño. Los proyectos grandes y complejos pueden ser un trabajo de tiempo completo para que los gestione un propietario de producto.
- ¿Cuáles son algunos de los hacks de código más ingeniosos pero simples que podrían facilitarnos la vida?
- ¿Es la automatización de pruebas un buen campo para alguien a quien le gusta la programación pero no puede entrar en desarrollo?
- ¿Cómo haría para crear un nuevo software empresarial para un sistema escolar (calificar, asignar HW, etc., todo en línea)?
- ¿Ha mejorado significativamente tu vida después de entrar en la profesión de ingeniería / programación de software?
- Si Lisp es un lenguaje tan bueno, ¿por qué no se usa más en el desarrollo de software?
Las mejores prácticas de gestión de proyectos para el desarrollo de software.
Hay dos enfoques populares para la gestión de proyectos: el método de la cascada y el método ágil. Probablemente ya esté familiarizado con el Método de la cascada, es el enfoque clásico para la gestión de proyectos, las etapas de este método siempre están en el mismo orden: Análisis – Diseño – Codificación – Pruebas – Implementación.
Sin embargo, recomiendo que los gerentes técnicos y no técnicos aprendan la metodología Agile y Scrum. Estas metodologías fueron diseñadas para resolver dos problemas comunes en la industria del desarrollo de software: los proyectos de software estaban llegando más allá de la fecha límite y sobre el presupuesto. Poner en práctica Agile y Scrum lo ayudará a utilizar mejor su equipo de desarrollo y mejorará sus posibilidades de entregar proyectos con éxito
En lugar de crear un producto de software con todas sus características de una sola vez, Agile recomienda construir y lanzar productos de software de forma incremental. Cada versión es utilizable y se basa en la última.
Podría pensar en Agile como una filosofía de gestión de proyectos y Scrum como las reglas y direcciones específicas para usar día a día.
Aquí hay algunas guías que hemos escrito para ayudar a los gerentes no técnicos a usar Scrum / Agile
Una guía para la gestión de proyectos ágiles con Scrum. Pt 1 – Ruta escalable
Seis consejos para el éxito con Scrum: ruta escalable
Cómo comunicar sus ideas a un equipo de desarrollo.
Compartir su idea de producto con su equipo de desarrollo es una de las primeras cosas que puede hacer como propietario del producto. Un documento de requisitos puede ser un excelente punto de partida para su producto: describir su propósito, quién lo usará y cómo usarlo. Es un precursor esencial para el diseño y desarrollo.
No es necesario definir cada cosa posible que hará su aplicación, no es productiva y, francamente, a nadie le gusta escribir (o leer) documentos detallados de requisitos. Desea que tenga los detalles suficientes para obtener estimaciones de tiempo y costo de su equipo de desarrollo.
Un documento simple de requisitos del producto generalmente incluirá:
- Metas
- Personas de usuario
- Historias del usuario
- Mapa del sitio
- Descripciones de página
- Wireframes (opcional)
- Requerimientos no funcionales
- Riesgos
- Iteraciones futuras
Aquí hay una guía simple que escribimos para nuestros clientes sobre cómo escribir un documento de requisitos para su equipo de desarrollo: Cómo escribir un documento de requisitos de producto efectivo: ruta escalable
También tenemos una Plantilla de requisitos de producto gratuita para acompañar estas instrucciones.
Cómo priorizar las especificaciones de su proyecto
Lo más importante que hará como propietario de un producto es establecer las prioridades para las nuevas características y las correcciones de errores que se deben trabajar a continuación. En Scrum, tenemos el concepto de Backlog del producto, que es una lista priorizada de características que el software debería tener. El trabajo número uno del propietario del producto es asegurarse de que esta lista tenga las características más importantes y que se priorice correctamente.
Es su responsabilidad guiar al equipo de desarrollo hacia la creación del producto adecuado (no cualquier producto) para su negocio, clientes y usuarios.
Para obtener consejos sobre cómo priorizar y comunicar sus especificaciones, consulte nuestra guía sobre Cómo ser un excelente propietario de productos: ruta escalable