Tabla de contenido:
¿Su organización de desarrollo de software está funcionando como debería? Siempre hay margen de mejora, pero algunas organizaciones necesitan más ayuda que otras. Dondequiera que se encuentre en el continuo, es importante identificar dónde debe ir y cómo llegar allí, porque las organizaciones necesitan una visión clara para ayudar a todos a conducir en la misma dirección. Debemos evaluar nuestros procesos, tecnología, línea de productos, documentación, cultura y nuestra propia gente. Pero, ¿contra qué los evaluamos? ¿Cómo medimos nuestro progreso? Creo que hay tres varas de medir clave para evaluar un equipo u organización, y si mantenemos estas cosas enfocadas, la productividad se disparará.
- Calidad
- Eficiencia
- Equilibrar
Miremos de cerca a cada uno.
Calidad
cómo mejorar el negocio
Pixabay
La calidad es fundamental para todas las organizaciones. Esta palabra se aplica a todo lo que hacemos, no solo a la cantidad de defectos conocidos que tenemos en nuestro software. Imagínese lo que puede hacer con 40 horas de alta calidad; es posible que no necesite pedir prestado de noches y fines de semana para ponerse al día. Si escribe una prueba automatizada, conviértala en una buena que agregue valor; de lo contrario, ¿para qué molestarse?
La colaboración es clave para producir un entregable de calidad porque nuestros compañeros verán cosas que nosotros no. Si es necesario hacer algo bien, especialmente si está de cara al cliente, es aconsejable dejar que otros ojos lo miren. Cuando los escritores quieren saber si sus artículos son de alta calidad, piden críticas porque entienden que hay fuerza en los números. Ya sea que se trate de revisiones de código, programación de pares o simplemente "Oye, ¿puedes echar un vistazo a esto?", Aprovechar los pares de ojos adicionales que nos rodean nos ayudará a mantenernos sobre los rieles.
Cuando trato de mejorar la calidad del software, creo que lo más importante son las pruebas automatizadas. Los casos de prueba manuales son más baratos de crear que los casos de prueba automatizados. Sin embargo, las pruebas manuales son mucho más caras de ejecutar, especialmente si tiene que realizar numerosas pasadas para probar todo en varios navegadores, sistemas operativos y tipos de dispositivos. Los desarrolladores deberían realizar pruebas importantes con Karma, Spock o JUnit, pero también debería haber pruebas funcionales con algo como Selenium, SOASTA o Cucumber. Lo que realmente busca con todo esto es la detección temprana de defectos, porque cuanto más se aleja de cuando el desarrollador escribió el código, más trabajo se requiere para resolver un problema. Es mucho más fácil resolver un defecto en el código que escribí ayer que en el código que escribí hace 3 a 6 semanas.
Eficiencia
Mejora de Procesos de Negocio
Pixabay
Centrarse en la eficiencia lo ayuda a optimizar su organización y minimizar la cantidad de esfuerzo requerido para realizar cada tarea. Los procesos repetibles que se han convertido en una segunda naturaleza requieren mucho menos esfuerzo. La automatización también juega un papel importante en la eficiencia, porque desea que los empleados se concentren en realizar tareas que no sean repetitivas y requieran capacidad intelectual (redacción, codificación, diseño, planificación, etc.). Una vez que el código esté listo, la automatización debería hacerse cargo para que el código se compile, pruebe e implemente automáticamente. El mismo proceso de implementación automatizado debe manejar cada entorno posterior, incluida la producción. Las implementaciones sencillas permiten entregas más frecuentes a la producción para que pueda responder mucho más a las necesidades de la empresa.
Es importante que todos en la organización evalúen qué tipo de cosas hacen manualmente. ¿Se pueden simplificar o automatizar esas cosas? Si lo hace mucho, probablemente sea un buen candidato para la automatización. En algunos casos, solo necesitamos redefinir nuestros procesos para eliminar pasos innecesarios. En otros, necesitamos identificar mejores herramientas que automaticen o aceleren más lo que hacemos todos los días.
También se deben evaluar las herramientas de gestión de tickets como Quality Center o Jira. ¿Qué métricas rastreas? ¿Qué informes genera? ¿Pasas mucho tiempo en Excel cada semana obteniendo los números que debes enviar al equipo de liderazgo? Para equipos ágiles, ¿cómo se calcula la velocidad de su equipo? ¿Su herramienta lo maneja por usted? Busque herramientas que le ahorren esfuerzo (por ejemplo, la versión uno) en lugar de simplemente hacer lo que sabe.
Equilibrar
proceso de software
Pixabay
El equilibrio es una parte fundamental para impulsar la eficiencia en su organización. Puede pensar en su organización como un velero. Si el barco está desequilibrado, habrá arrastre que hará que sea más lento en el agua. Además, es posible que el timón no funcione correctamente, lo que dificulta mucho más el giro del barco. Cuando los humanos cometen errores, a menudo lo compensan corriendo hacia el "lado opuesto del barco". Cuando las organizaciones de software soportan el dolor y el sufrimiento porque su producto salió por la puerta sin las pruebas o la planificación suficientes, a menudo corren rápido y furioso hacia procesos pesados, puertas de aprobación y parálisis de análisis. Corren de un problema a los brazos de otro.
"¿Cuánta documentación se debe requerir?" Solo escriba lo que se necesita para que las personas comprendan lo que se debe hacer. Si la documentación se está escribiendo para satisfacer una puerta de aprobación o marcar una casilla, probablemente deberíamos hacer una pausa y considerar si es necesario o no. "¿Cuánto proceso se requiere?" Lo suficiente. "¿Cuánto tiempo se debe dedicar a la arquitectura y el diseño?" Lo suficiente. Si bien el reproceso es ciertamente ineficiente, a veces es mejor posponer la solución real e implementar una solución rápida Responda a las necesidades urgentes de sus clientes. La vida es un acto de equilibrio. Esto se aplica a todo lo que hacemos como empresa. Ricitos de oro buscaba desesperadamente el equilibrio. Tal vez nosotros también deberíamos hacerlo.
Mejorar el desarrollo
Todos queremos que nuestra vida sea mejor. Queremos entregas más fáciles, transiciones más fluidas, equipos más felices y clientes felices, con un mínimo de dolor y sufrimiento. Cuando comenzamos a ver nuestra organización a través de estos tres lentes, nos ayuda a evaluar y priorizar los cambios. Centra nuestra atención en los tipos de cambios que realmente beneficiarán a la organización y la ayudarán a funcionar mejor. Estará más delgado y más malo, por lo que con el tiempo verá aumentar la productividad mientras que el estrés y la frustración disminuyen.
La calidad, la eficiencia y el equilibrio dan como resultado en última instancia algo por lo que toda organización se esfuerza: velocidad. Queremos velocidad de comercialización, capacidad de respuesta a nuestros clientes y la capacidad de hacer un cambio en un centavo, pero en realidad lograr esto no es intuitivo. "¡Contratemos a más personas para que podamos ir realmente rápido!" Agregar a muchas personas sin duda te ayudará a ir muy rápido, desafortunadamente a veces te ayudan a ir muy rápido a la zanja. Un sabio colega me dijo una vez que hay que reducir la velocidad para ir más rápido, y es absolutamente cierto. La velocidad requiere pensamiento y esfuerzo desde el principio, particularmente en el área de automatización. Si se toma el tiempo para garantizar la calidad, la eficiencia y el equilibrio, naturalmente irá rápido. Ruge como un león, corre como una gacela.
© 2017 Mike Zapatería