¿Por qué es probable que el software desarrollado con modelos evolutivos sea difícil de mantener?

Recientemente he trabajado en un proyecto basado en el modelo evolutivo. Espero poder responder esto basado en mis experiencias.


El modelo evolutivo también se llama modelo de prototipos o simplemente modelo iterativo. Me pareció el modelo más fascinante para los desarrolladores que tienden a lanzar productos en poco tiempo y lanzan un prototipo a sus clientes. Y luego nuevamente reconstruido en base a los comentarios de los usuarios.

Pero es probable que el software desarrollado con el modelo evolutivo sea difícil de mantener debido a las siguientes razones:

  • Conduce a implementar y luego reparar la forma de construir sistemas.
  • Prácticamente, esta metodología puede aumentar la complejidad del sistema ya que el alcance del sistema puede expandirse más allá de los planes originales.
  • La aplicación incompleta puede hacer que la aplicación no se use como
    El sistema completo fue diseñado.
  • allí resulta un análisis de problemas incompleto o inadecuado.

Apreciado por Upvotes 🙂

En teoría no sería más difícil de mantener. El modelo evolutivo / iterativo / ágil requiere una refactorización Que cualquier elemento de código que ya se haya completado se refactorizará o rediseñará con el tiempo para que sea mantenible y eficiente. El problema con esto es que la gerencia puede no alentar o comprender la refactorización.

El software es algo raro en el que podrías vender el prototipo. Ford nunca podría hacer eso con un modelo de arcilla. Nadie compraría un modelo de arcilla. Los prototipos de automóviles a menudo no tienen un tren de fuerza o todos los equipos de seguridad obligatorios. Pero el software puede acelerar un prototipo, ponerlo en la web para descargar y listo.

Esta es una pregunta escalonada, creo. Estas son algunas de las razones, creo que ese sería el caso:

  • Cadena de dependencias: cada vez que hablamos sobre el aprendizaje automático o no, necesita un conjunto de datos para aprender.

    Y dado que existe una gama tan amplia de escenarios de casos diferentes, en términos de adaptación a dichas situaciones, necesitaría seguir encadenando, ingresando o analizando entradas.

    El problema con esto surgirá de analizar ejemplos de la vida real, y eso puede ser realmente difícil de integrar y mantener.

    Quizás desee aprender a contar, cómo habla la gente. Necesitaría una gran variedad de personas que hablen, dialectos, regiones, idiomas …

    El volumen necesario, es una locura.

  • Base relativa: cuando hablamos de cosas que derivan de otra, generalmente acomodamos esa idea, con eso derivamos de algo, que se basa en algo.

    Como, Java VM tiene que adaptarse a Architechture of Computers o Architechtures of Machinery.

    A medida que Tech se acelera en el desarrollo, la evolución, el despliegue y lo que no: el modelo evolutivo, inherentemente, DEBE ser capaz de adaptarse a dichas cosas y acomodarlas a medida que avanza.

    Esto es muy difícil de afirmar. Porque, no solo, NO puede, FÁCILMENTE, predecir cómo va a ir el mercado, qué hardware va y qué va y qué no.

    Pero, además, tendrías que adaptarte correctamente a esas cosas, lo cual sería difícil de acomodar. Quizás no imposible. Pero duro

  • Estado de mutación: similar a lo que hemos visto, en el aprendizaje automático, que la IA que puede ser justa, alimentarse con datos, no tiene un filtro inherente a lo que se alimenta.

    Esto se remonta a los ejemplos de robots de Facebook, Google AI, que derivan mucho de la intención o idea original: que no podemos evaluar con precisión la idea de lo que se supone que deben aprender, de una manera natural y fluida, comparativamente, al estado de mutación que atraviesan.

    La diferencia entre los humanos y la IA es que los humanos pasan por el mismo proceso, pero tenemos una selección natural. Tenemos propagación de nuevos humanos, basados ​​en ciclos genéticos.
    Esto lleva mucho tiempo filtrarlo.

    AI, recorra esto, MUCHO, más rápido. Y dado que no sienten agotamiento o necesitan reproducción biológica, no tienen necesidad de afirmación biológica (como comer, dormir, etc.).

    Pueden, virtualmente, seguir mutando, siempre que su línea base de recursos se mantenga en línea.

Estos son mis pensamientos sobre el tema y lo que propondría.

More Interesting

¿Por qué un ingeniero de software no tiene ningún valor en India?

Cómo encontrar una buena compañía de desarrollo de software

¿Cómo deciden los desarrolladores experimentados qué patrón de diseño usar? ¿Cómo pueden los desarrolladores menos experimentados aprender a hacer esto?

¿Se aplica el impuesto de servicio a los desarrolladores de software independientes?

¿Cuáles son las diversas metodologías de desarrollo de software?

¿Una prueba de software se considera un trabajo sin salida? ¿Realmente no tiene perspectivas de futuro en términos de salario?

¿Qué tan cerca estamos técnicamente de desarrollar software que pueda escribir software, esencialmente reemplazando la mayoría de los trabajos de programación y desarrollo de software realizados por humanos?

Cómo conseguir un trabajo de desarrollador de software en Japón

Si la oferta de desarrolladores de software eventualmente excede la demanda, ¿qué sucederá?

Como desarrollador de software, ¿qué son los indicadores o las banderas rojas por el hecho de que paso demasiado tiempo en un boleto?

¿Cuáles son los requisitos para el desarrollo de software?

¿Cuáles son las 10 principales compañías para comenzar su carrera como desarrollador de software para nuevos en la India?

¿Cuáles son algunas startups que se centran en productos para desarrolladores?

¿Cuál es la mejor empresa de desarrollo de software del mundo?

¿Cuáles son algunas de las formas de obtener una pasantía de desarrollador de software pagado en Alemania?