¿Cuál puede ser el mejor enfoque de desarrollo de software para una startup, que puede ayudar a cumplir plazos cortos sin agregar presión adicional?

Construir cualquier función de software tiene riesgos independientemente de los plazos. Existen técnicas que pueden usarse para mitigar los mayores riesgos a fin de aumentar las posibilidades de que entregue software de trabajo dentro de las limitaciones de tiempo que tiene.

Utilizamos estas técnicas todos los días para ahorrar tiempo y dinero a los clientes sin sacrificar la calidad. No es raro que creemos una aplicación en 2-3 meses en la que un cliente dijo que había estado trabajando durante años, o que muestren un aumento de 5 veces o más en la velocidad después de adoptar una mejor estrategia de gestión de productos.

El motivo es que una onza de prevención vale una libra de cura: una pequeña planificación inicial le ahorrará tiempo y lo ayudará a abarcar su trabajo para cumplir con los plazos. Estas técnicas pueden aplicarse a un proyecto que debe completar en 1 mes, 1 semana o incluso 1 día:

1. Utilice las herramientas y técnicas de descubrimiento rápido

No solo comience a escribir código. Identificar nuevos requisitos o cambios que debe realizar durante la fase de construcción de un proyecto es una práctica que requiere mucho tiempo. En su lugar, use técnicas de creación rápida de prototipos para definir los requisitos y examinarlos antes de construir. Esto le permitirá cambiar su prototipo en lugar de su código , lo que le ahorrará tiempo.

Ejemplo de proyecto pequeño: demuéstrate a ti mismo que UX funciona bien usando bocetos y tramas para maquetas del producto.

Ejemplo de proyecto grande: revise los bocetos y las tramas (o prototipos) con los principales interesados ​​y usuarios antes de construir.

Esta semana hice 4 iteraciones de una aplicación en 2 días usando Balsamiq. Si se tratara de cambios en el código, podrían haber tardado de 2 a 3 semanas por iteración .

* El tiempo real empleado trabajando fue de aproximadamente 4-5 horas

2. Sea comprensivo durante el descubrimiento / creación de prototipos

Al definir los requisitos del producto utilizando técnicas de creación de prototipos, asegúrese de ser exhaustivo. Defina estados de error, estados vacíos, casos de uso requeridos y roles, etc. Elimine el texto lorem ipsum y use contenido real para evitar problemas posteriores con contenido no disponible o inesperado.

Defina cada botón, interacción, transición, etc. Estos son los detalles que se sumarán y le costarán tiempo. Más importante aún, le costarán tiempo que no planificó, lo que significa que estará operando con suposiciones poco realistas sobre lo que puede hacer.

La definición de estos detalles le dará una idea más clara del alcance de su proyecto.

Aquí hay un ejemplo de solo una pequeña parte de la página de resultados de un cuestionario. En el primer ejemplo, los diferentes estados y acciones no están definidos, y parte del texto sigue siendo lorem ipsum. En el segundo ejemplo, se consideran todos los casos, se define el texto y se definen todas las acciones:

Malo: alcance poco claro

Bueno: define el alcance completo:

3. Ajuste el alcance para que coincida con los plazos

Con sus requisitos integrales de producto (wireframes) ahora puede proporcionar estimaciones más precisas. Calcule el trabajo que debe hacerse, sea realista en función de su experiencia pasada, incluya tiempo para las pruebas de aceptación y los comentarios que obtendrá durante la fase de construcción.

Eche un vistazo a cuánto tiempo llevará construir su producto o función en función de sus estimaciones y la línea de tiempo actual, luego ajústelo en consecuencia. Cuando trabajo con un cliente cuyo alcance deseado no coincide con su presupuesto, siempre pregunto a los ingenieros “¿qué crees que podríamos eliminar para ahorrar la mayor parte del tiempo? ¿Existen formas alternativas de implementar alguna función que ahorre tiempo?”

En este ejemplo, eliminamos una función con menor prioridad que el resto de la aplicación. La función (indicada a la izquierda con la etiqueta “FUERA DEL ALCANCE”) se agregó en la siguiente iteración, lo que nos permite cumplir con la fecha límite y continuar creando iterativamente un gran producto:

Resumen

1. Utilice herramientas rápidas de creación de prototipos para realizar descubrimientos y alcance
2. Sea orientado a los detalles para descubrir el alcance completo de su próximo trabajo
3. Priorice las funciones y modifique su alcance para que coincida con su fecha límite

More Interesting

¿Qué lecciones debo aprender en Java que me basten para ser probablemente deseable como programador de Java?

¿Alguien ha cancelado un proyecto de software con un cliente difícil?

¿Qué debe hacer Larry Page para que Google vuelva a sus raíces iniciales?

¿Cómo gestionas los egos con un equipo de desarrolladores remotos?

¿Qué es una capa de caché?

¿Cuál es la diferencia entre un proyecto y un programa?

¿Quién está usando Redis en un entorno de producción?

¿Cuándo puede alguien comenzar legalmente a llamarse científico de la computación?

Ciencia de datos: ¿Cómo se compara la distribución de inteligencia de los científicos de datos con la de los ingenieros de software?

¿Cuáles son algunos programas o programas educativos existentes que puedo aprovechar para hacer la transición al diseño de experiencias virtuales?

¿Está bien trabajar en un lenguaje de programación que no se usa en ninguna parte, excepto en mi pequeña empresa? El lenguaje se basa en conceptos OOPS y es similar a C ++. Estoy realmente preocupado por mi futuro. ¿Debo solicitar otros trabajos?

¿Cuál es la diferencia entre la cascada y los modelos de desarrollo ágil?

En Java, ¿por qué falla @Override para los métodos estáticos?

¿Por qué las aplicaciones o los juegos a menudo ofrecen la opción de idioma inglés británico o estadounidense? ¿Es la diferencia realmente notable e importante?

¿Cuál es la diferencia entre un error o defecto de software y una solicitud, mejora o mejora de funciones?