Madurez del desarrollo de software
El proceso de desarrollo de software involucra la realización de muchas tareas, las cuales son divididas en etapas o fases dependiendo el ciclo de desarrollo. La realización correcta de estas tareas en cada fase va a permitir tener un grado de certeza mayor al ir avanzado de fases, es decir, si desde el comienzo voy bien es más probable que termine bien.
Pienso que por esta razón el autor Graing Larman en su libro “UML y patrones” hace tanto énfasis en la etapa de análisis, ya que propone herramientas con las cuales se asegure el entendimiento de las necesidades del cliente para posteriormente trasformar esas necesidades en una aplicación funcional.
Pero no solo el inicio garantiza la entrega de un buen producto de software, hay varios factores, tratare de mencionar los que considero más importantes:
Administración deficiente de los proyectos:
De la buena gestión de un líder de proyecto va a depender mucho el éxito del proyecto, algunas de las cosas que el líder puede hacer para una buena administración es realizar una calendarización para la entrega del producto, contemplando días laborales, jornada de trabajo, capital humano disponible, entregas o avances al cliente para obtener retroalimentación. De esta calendarización va a depender la estimación de los costos ya que se realiza en base al tiempo invertido.
Otras cuestiones en las que un líder falla es a la hora de manejar conflictos entre el equipo de trabajo, obviamente, en un ambiente laboral agradable la comunicación es mas efectiva y el trabajo es mas rápido. Además el líder debe cuidar el cierre de los proyectos ya que de ello va a depender futuras contrataciones, un buen cierre sería: brindar seguimiento al cliente (soporte técnico) y entrega de manuales.
Falta de recursos
A veces para los proyectos no se tiene la tecnología adecuada para realizar o implementar las aplicaciones (hardware, software) o el personal (analistas, programadores, tester) no tiene las competencias para hacer frente al problema, por lo que será necesario capacitar el personal existente y/o contratar.
Mala definición de los requerimientos
Si un cliente esta familiarizado con la tecnología será mas fácil entender sus necesidades a diferencia de un cliente que no, en estos casos la etapa de análisis será mas complicada y se tendrá que invertir mas tiempo.
No se usan estándares de desarrollo
El hecho se usar estándares en etapas de análisis, diseño y programación traerá beneficios para el proyecto como puede ser; usos de métodos probados, además, la integración mas fácil de personal, por que bastara ver los documentos del proyecto para entender el problema y las futuras actualizaciones al sistema se facilitaran por la misma razón.
Realización insuficiente o nula de pruebas en etapas iníciales
Como decía al comienzo de la lectura la etapa inicial es la más importante, entonces no hay que esperar a ver una aplicación funcional para encontrar defectos o ver si es lo que el cliente deseaba.
¿Entonces como esta la madurez de desarrollo de software?
Creo que el desarrollo de software no a alcanzado su madurez porque los desarrolladores no han echado mano de todas las herramientas, métodos y procedimientos que actualmente están a su alcance, sin embargo, si consideró que hay procesos de desarrollo maduros, es decir, que te guían en cada una de las fases de desarrollo y te dicen que hacer al momento de presentarse alguna situación.
Pienso que si los equipos de desarrollo mejoran en estos aspectos los sistemas serian más confiables, con menos defectos, entregados a tiempo, seria más fácil manejar la complejidad y los cambios, lo que nos llevara a la satisfacción del cliente.
Diego Torres Medina
No hay comentarios:
Publicar un comentario