Guia Para Clientes Sobre el Ciclo de Vida del Software

Todo lo que los clientes quieren saber sobre outsourcing, offshoring y nearshoring.
¿Cuál es el ciclo de vida del software? ¿Sabes cómo se hace el software? Cuando abres una aplicación en su teléfono, ¿alguna vez has pensado en el proceso que la llevó hasta allí? Si no lo has hecho, este artículo puede arrojar algo de luz sobre el proceso. Pasaremos paso a paso por el proceso del ciclo de vida del software que muchas (sino todas) las empresas de desarrollo de software utilizan para elaborar un producto.
Tu próxima gran idea
Tal vez estás leyendo este artículo porque has tenido una buena idea para un móvil, web u otro tipo de aplicación para respaldar tu negocio actual; o una idea en la que deseas invertir como emprendedor. Una idea errónea común es que la creación de software no es más que unir algunas líneas de código, pero es mucho más que eso. Con media vida para invertir, puedes aprender todos los diversos lenguajes de codificación, técnicas de UX / UI, habilidades de diseño y otras disciplinas para crear un software perfecto, totalmente funcional y que sea gráficamente atractivo, todo por ti mismo.
La opción más inteligente, sin embargo, es ir con una empresa de desarrollo de software con experiencia. Para ser claro, tienes opciones. Cada empresa (incluida la nuestra) tiene su propio proceso y su propio modelo de negocio que afectará el ciclo de vida de tu software. Algunos tomarán tus ideas y las dirigirán a China o India, lo que podría significar tener que participar en un programa extraño para obtener respuestas simples a preguntas importantes. En WebCreek, entendemos esas limitaciones y trabajamos en un modelo alternativo en la costa que siempre opera en las zonas horarias de los clientes para que la distancia nunca afecte el trabajo.
El ciclo de vida del software
Una vez que hayas hecho lo correcto subcontratando el desarrollo de tu nueva solución de software personalizada o aplicación móvil para mejorar el alcance de tu negocio, es importante comprender cómo funciona el “ciclo de vida del software”. Las diferentes compañías generalmente emplean versiones modificadas del mismo proceso para adaptarse a su modelo, pero pueden usar terminología ligeramente diferente. Este artículo se centra en los términos que WebCreek usa en nuestro proceso. Como una empresa con muchos años de experiencia en el desarrollo, nuestro proceso, que se detalla a continuación, ha evolucionado a medida que hemos aprendido lo que se necesita para crear un software increíble a tiempo y por debajo del presupuesto.
Fase de descubrimiento
Cada proyecto comienza como debería: con un millón de preguntas. La fase de descubrimiento es la primera parte del ciclo de vida del software donde presentamos el plan general. Dado que la comunicación es el fundamento absoluto sobre el que se construyen todos los proyectos exitosos, somos inflexibles a la hora de definir un plan de comunicación que identifique a todos los interesados tanto en su empresa como en la nuestra. En Descubrimiento, también presentamos un cronograma para el cronograma del proyecto basado en estimaciones razonables de lo que el trabajo requerirá.
También revisamos la visión de tu empresa y las amplias características que te definen, incluidos los competidores, y la estrategia de mercado. Si bien esto puede parecer redundante, ayuda a completar la imagen de lo que eres, lo que te gusta y lo que no te gusta. Para realizar tu visión, podemos identificar elementos que necesitan ser agregados o restados. No es raro que los clientes inspirados lleguen con ideas embriagadoras sobre la reinvención de Internet completo. La fase de Descubrimiento nos trae a todos a la realidad y nos pone a todos en la misma página.
Fase de visión
La fase de visión es cuando ponemos pluma al papel, por así decirlo. En este punto, comenzamos a involucrar a otros profesionales de nuestro personal. Esto incluye a nuestros analistas de negocios, que hacen una profunda inmersión en su proceso comercial y comienzan a determinar los requisitos específicos. Este análisis también puede ayudar a predecir el valor futuro de su producto, o proporcionar ideas para agregar algún valor.
A partir de ahí, nuestro departamento creativo comienza a esbozar una apariencia, preparando wireframes, maquetas y cualquier elemento de marca adicional que pueda ser necesario; y nuestro Departamento Técnico comienza a compilar simultáneamente todos los requisitos técnicos principales para determinar el enfoque técnico.
Al final de este proceso, como cliente, deberías sentir que la mayoría de tus ideas se han convertido en algo cercano a lo que deseas según nuestra presentación de prototipo. Además, se define el proceso de cómo completar tu visión.
Fase de análisis y diseño
En esta fase, nuestro equipo técnico comienza a trabajar en “Historias de usuarios”, que son escenarios breves, escritos de manera concisa, que analizan los posibles pasos que los usuarios pueden experimentar en cada giro posible mientras usan la solución. Las historias repasan, en detalle de alto nivel, lo que los usuarios ven cuando entran a una página; cuáles son sus opciones, y qué sucede si falta algo, no funciona o ingresa incorrectamente. Esto requiere una mezcla de pensamiento estructurado, imaginación y creatividad.
Mientras tanto, nuestro departamento creativo, formado por diseñadores, animadores y especialistas en UX / UI refinan su plan para la solución en función de los comentarios recibidos en la fase de visualización. Crean prototipos a gran escala que muestran el flujo visual y lógico de cómo se vería cada página, deciden los esquemas de color adecuados, las fuentes correctas y la ubicación correcta para el texto, etc. Dependiendo del proyecto, nuestro equipo de contenido puede también participe en la búsqueda del tono de los mensajes del sistema y otros textos ubicados a lo largo de la solución.
Como cliente, debes esperar participar activamente en la aprobación de diseños y la revisión de requisitos. Ciertas ideas, una vez analizadas, pueden requerir soluciones alternativas o una actualización del alcance. Al final de esta fase, todo el plan debe ser resuelto hasta el más mínimo detalle.
Fase de desarrollo
Esta es la fase en la que los geeks salen de su escondite y trabajan su magia de codificación. Nuestro equipo de proyecto toma todos los requisitos y elabora un plan que divide el trabajo de codificación en iteraciones discretas para que nuestros equipos de desarrollo comiencen a construir. Esta es probablemente la parte más conocida del ciclo de vida del software porque tiene resultados tangibles.
En WebCreek, utilizamos la metodología Agile, que opera en “sprints”. Cada sprint, que puede durar entre una y cuatro semanas, contiene un entregable al final, que generalmente es algún tipo de elemento que puede ser visto por el cliente. Al final de cada sprint, el cliente puede ver el progreso y hacer los comentarios necesarios para asegurarse de que los productos sigan su visión. Ver el sprint después del sprint finalizado es como ver una casa construida ladrillo a ladrillo: se vuelve más emocionante a medida que se completan más sprints.
Desenrollar
Una vez que se completen todos los sprints, y estamos seguros de que lo que hemos diseñado coincide con lo que hemos entregado, llegamos a la fase de lanzamiento. El cliente debe esperar ver un producto completo que incluya todos los elementos principales, con excepciones hechas solo para superficialidades no cruciales. La fase de implementación incluye un período de tiempo durante el cual el cliente tendrá acceso completo a la solución, a menudo a través de una plataforma de prueba, para probar el contenido de su corazón.
Esta Prueba de aceptación del usuario (UAT) podría, y de hecho casi siempre lo hace, encontrar errores menores que se comunican a nuestro equipo para arreglar a.s.a.p. Como cliente, debe tenerse en cuenta que un error, aunque ocasionalmente angustioso, es un hecho de la vida, por lo que hemos definido un proceso distinto para abordarlos.
Es posible durante esta fase, aunque no siempre requerido o deseado, que haya un manual de usuario que acompañe al software. Si es necesario, nuestro equipo de contenido se une a la refriega y comienza a redactar uno, para que los usuarios puedan comenzar a funcionar una vez que el software se active.
Al final de la fase UAT, el proyecto se considera terminado, y el cliente puede tomar su producto y usarlo de todas las maneras que han previsto, ampliando su negocio, conectándose con nuevos usuarios, etc.
Apoyo
El último paso en el ciclo de vida del software es el soporte, a veces denominado mantenimiento. Ningún código está a salvo de la obsolescencia. Si bien comenzamos cada proyecto con el pie derecho mediante la construcción con la última tecnología y con la mayor flexibilidad posible para el crecimiento, algunas empresas simplemente crecen demasiado rápido. En esos casos, nos aseguramos de ofrecer el mayor apoyo posible para el programa. Desarrollamos relaciones que duran décadas con las empresas, esencialmente brindando soporte de desarrollo de fondo que algunas compañías esperan para crecer.
Cuanto más sabes…
Ahora que conoces el ciclo de vida del software y su aspecto, es importante mencionar que no todos los proyectos son parecidos, no siempre requieren el mismo tipo de atención. Quizás tu proyecto ya estaba medio construido por un desarrollador que no tuvo el cuidado adecuado o con el que tuvo problemas para trabajar. En ese caso, podríamos hacer pivotar nuestro trabajo rápidamente, moviéndonos casi de inmediato a la fase de Desarrollo después de un par de conversaciones iniciales. Tal vez ya tengas un programa de software desarrollado hace años que requiere alguna actualización, ajustes u obtener algún tipo de soporte para. En esos casos, asumiríamos un rol completamente diferente, ajustado a la situación.
Esperamos que este artículo te haya dado una idea acerca de cómo se hace el software. En WebCreek, estamos orgullosos del modelo que hemos utilizado para crear un excelente software para todo tipo de empresas. Con nuestro modelo nearshoring, hemos hecho posible el trabajo de desarrollo de software de manera más eficiente y proporcionar servicios y experiencia ampliados.
Una historia larga, corta: el desarrollo de software no es para todos, y es importante que elijas las personas adecuadas para el trabajo.