Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 7

Proceso de desarrollo de software en empresas mexicanas

Patricia Martínez Moreno Gabriel Reyes Cruz


Software Engineering Software Engineering
Universidad Veracruzana Universidad Veracruzana
Coatzacoalcos, Veracruz. México Coatzacoalcos, Veracruz, México
[email protected] [email protected]

José Antonio Vergara Camacho Gerardo Contreras Vega


Software Engineering Software Engineering
Universidad Veracruzana Universidad Veracruzana
Coatzacoalcos ,Veracruz, México Xalapa, Veracruz, México
[email protected] [email protected]

Resumen—La ingeniería de software es una disciplina de la identified as a good practice, being the final artifact the
ingeniería que se interesa por todos los aspectos de la Requirements Document. The companies that specified the use
producción de software (Somerville, 2011). Partiendo de ello, of the ERS-IEEE-830 standard are minimal and some few
este trabajo de investigación tiene como objetivo mostrar la perform prototypes, UI/UX design to confirm the requirements
importancia que se le da al proceso de desarrollo de software with the client and finally, the companies that mention good
en las empresas mexicanas que llevan a cabo productos de practices in the deployment and construction stages are scarce.
software, y al mismo tiempo identificar como es que aplican la
calidad en dicho proceso. De acuerdo con Pressman, define al
proceso de software como un marco de trabajo de tareas a Keywords: Process, software, best practices, quality, stages.
realizar para desarrollar software de alta calidad. Esta
investigación se llevó a cabo a través de la Revisión Sistemática
de la Literatura (RSL), identificando una serie de empresas I. INTRODUCCIÓN
nacionales dedicadas a la construcción de software, y entre los El concepto de software, tal y como lo define la IEEE std.
hallazgos se visualizaron que las etapas imprescindibles como 610 son “programas, procedimientos y documentación y
medulares aplicadas durante el proceso de desarrollo son: datos asociados, relacionados con la operación de un
Requerimientos, Diseño, Programación, Pruebas y Despliegue. sistema informático” [17]. Para 1968, Fritz Bauer define a la
Se identificaron como buenas prácticas la buena comunicación
inicial con el cliente, siendo el artefacto final el Documento de
Ingeniería de Software como el establecimiento y uso de
requerimientos, son mínimas las empresas que especificaron el principios robustos de la ingeniería a fin de obtener
uso del estándar ERS-IEEE-830 y algunas pocas realizan económicamente software que sea fiable y que funcione
prototipos, diseño UI/UX para confirmar los requisitos con el eficientemente sobre máquinas reales [16]. En la disciplina
cliente y finalmente, son escasas las empresas que mencionan de la Ingeniería de Software se estudia el proceso de
las buenas prácticas en las etapas de despliegue y construcción. desarrollo de software como el ente nodal para llegar y
alcanzar un producto de software. El proceso de software es
un marco de trabajo de tareas a realizar para desarrollar
Palabras claves-Proceso, software, buenas prácticas, calidad,
etapas.
software de alta calidad donde se incluyen métodos y
herramientas [7], razón de ser de este trabajo de
investigación. A partir de la revisión sistemática de la
Abstract-Software engineering is an engineering discipline that literatura de empresas mexicanas dedicadas al desarrollo de
is interested in all aspects of software production (Somerville, productos de software, se analizan las etapas empleadas para
2011). Based on this, this research work aims to show the concretar un producto con la mejor calidad posible. Se deja
importance given to the software development process in ver lo medular del proceso para la industria del software en
Mexican companies that carry out software products, and at México, las etapas que son imprescindibles para tales
the same time identify how they apply quality in this process. empresas y en caso de aplicar alguna buena práctica para el
According to Pressman, he defines the software process as a aseguramiento de la calidad del producto en cada una de las
framework of tasks to be performed to develop high quality
etapas de desarrollo. Cabe señalar, que esta indagación no
software. This research was carried out through the Systematic
Literature Review (SLR), identifying a series of national busca señalar de manera específica a ninguna empresa sino
companies dedicated to the construction of software, and por el contrario conocer a partir de una pequeña muestra de
among the findings it was visualized that the essential and core empresas mexicanas como se encuentran la industria del
stages applied during the development process are software en México con respecto al proceso de desarrollo en
Requirements, Design, Programming, Testing and términos globales.
Deployment. Good initial communication with the client was
II. EL PROCESO DE SOFTWARE C. Construcción
Un proceso de desarrollo de software es algo más que la En la etapa de construcción de software se incluye un
programación; hay etapas que la preceden y otras que la conjunto de tareas de codificación que lleva a la creación de
siguen, por lo tanto es una estructura constituida por todas un software funcional, esto a partir de la etapa anterior de
esas etapas, utilizadas para el desarrollo de un producto de diseño [4].
software. Entre sus sinónimos están “ciclo de vida” y En la construcción se lleva a cabo la creación directa de
“proceso de software”. Los modelos de procesos de lenguaje de programación en código fuente, la generación
software son representaciones abstractas de estos procesos automática de código fuente que usa una representación
[2]. intermedia parecida al diseño del componente que se va a
construir o la generación automática de código ejecutable
III. BUENAS PRÁCTICAS EN EL PROCESO DE SOFTWARE [7].
Para comenzar a comprender cuando se utilizan o no las D. Pruebas
buenas prácticas en el desarrollo de software, se debe
comprender a que se refieren. La palabra práctica se puede Respecto a las pruebas, con estas se busca evaluar y
entender también como un hábito, es algo que no se necesita verificar que el producto software hace lo que se supone
recordar, al principio para la práctica se necesita recordar debe hacer. Las pruebas de software consisten en la
cada paso y pensarlo bien antes de ejecutarlo, pero cuando se verificación de que un programa proporciona los
tienen buenas prácticas esos pasos ya no se necesitan comportamientos esperados en un conjunto limitado de
recordar pues se convierten en un hábito y rutina. casos de prueba. Las pruebas ya no deben de considerarse
En el proceso de desarrollo de software se suelen cometer solo después de que se completa la fase de codificación solo
muchos errores, los desarrolladores con más experiencia han con el propósito de detectar fallas. Las pruebas de software
aprendido a prevenirlos, y han proporcionado buenas deberían ser, realizadas durante todo el ciclo de vida de
prácticas que les han servido, ayudando a que futuros desarrollo y mantenimiento [4].
profesionales del área no vuelvan a cometer los mismos
errores. E. Despliegue
Por consiguiente las buenas prácticas se pueden definir El despliegue es una etapa opcional en la administración
como un conjunto de métodos rutinarios para evitar en gran de software en la que el software se instala en estaciones de
medida problemas del desarrollo de software, además estas trabajo o se hospeda como una aplicación y es accesible
son comúnmente utilizadas por organizaciones que tienen para otros usuarios en un estado de tiempo de ejecución.
éxito en sus procesos [1]. Dicha etapa consiste en una serie de actividades
IV. ETAPAS DEL PROCESO DE SOFTWARE interrelacionadas que incluyen la liberación del software al
final del ciclo de desarrollo; la configuración del software,
A. Requerimientos de software la instalación del software en el entorno de ejecución y la
activación del software [8].
La etapa de la obtención de los requerimientos de
software tiene como propósito obtener y comprender, las
necesidades y limitaciones de las partes interesadas del V. BUENAS PRÁCTICAS EN LAS ETAPAS DE DESARROLLO
sistema a desarrollar, además se realiza la documentación de DE SOFTWARE
todo ello en una especificación de requisitos [3], [4].
Esta es una etapa crítica del proceso de software, ya que
los errores en ella pueden llevar inevitablemente a Respecto a cuáles son algunas de las buenas prácticas que se
inconvenientes en el diseño y la implementación del pueden aplicar a las etapas del proceso de desarrollo, a
sistema. continuación se recomiendan las fundamentales:

B. Diseño A. Buenas prácticas en los requerimientos del software


Para esta etapa es necesario entender al cliente. Este
El diseño o modelado del software es la etapa del ciclo
normalmente tendrá que explicar lo que necesita de forma
de vida en la que se analizan los requisitos del software para
excesiva o menor de lo real [2].
producir una descripción de la estructura interna del
Para llegar a tener una comunicación más eficiente en
software que servirá como base para su construcción [4].
esta etapa, se puede lograr cambiando la comunicación de
En dicha etapa se define la arquitectura, los
discusiones formales impulsadas por un plan a discusiones
componentes, las interfaces y otras características de un
informales entre individuos [9].
sistema o componente [5]. Además se deben documentar claramente los requisitos
Además en el modelado de sistemas se desarrollan modelos del cliente y realizar un seguimiento de los cambios en estos
abstractos de un sistema, y cada modelo presenta una vista o requisitos. Se debe analizar el impacto de los cambios en el
perspectiva diferente de ese sistema [6]. sistema antes de aceptarlos [6].
También se debe mencionar un problema común que es D. Buenas prácticas en las pruebas del software
no hacer una separación entre los requisitos del usuario y los Las pruebas de software son esenciales para la creación
requisitos del sistema. de productos de software de alta calidad. Dado que es una
“Los requisitos del usuario son declaraciones, en un tarea costosa y difícil de gestionar, su implementación
lenguaje natural y con ayuda de diagramas, de los servicios organizativa tiene que estar bien fundamentada. Algunas de
que se espera que el sistema proporcione a los usuarios del las principales buenas prácticas a tomar en cuenta son:
sistema y las restricciones bajo las cuales debe operar” [6]. Una organización de programación no debe probar sus
Los requisitos del sistema son descripciones más propios programas, todo proceso de prueba debe incluir una
detalladas de las funciones, los servicios y las limitaciones inspección exhaustiva de los resultados de cada prueba,
operativas del sistema de software [6]. examinar un programa para ver si no hace lo que se supone
Otra buena práctica es realizar un prototipo de alta y baja que tiene que hacer es sólo la mitad de la batalla; la otra
fidelidad. Normalmente, el prototipo sirve como mecanismo mitad es ver si el programa hace lo que no se supone que
para identificar los requisitos del software tiene que hacer, una parte necesaria de un caso de prueba es
B. Buenas prácticas en el diseño del software la definición de la salida o resultado esperado [11], pruebas
multiplataforma, y ejecución automatizada de pruebas [12].
Una vez que se analizan y especifican los requisitos, el
diseño es la siguiente etapa para realizar, esta es la etapa en E. Buenas prácticas en el despliegue del software
la que se establecen las bases de la calidad. Entre las buenas prácticas principales para llevar a cabo un
En cuanto a modelar visualmente el software se necesita buen despliegue de software se encuentran:
una buena metodología que sea capaz de captar Lista de comprobación de implementación: Se debe
adecuadamente y con precisión las necesidades de los anotar cada paso necesario para implementar código en los
usuarios, siempre es recomendado utilizar el punto de vista
distintos entornos para crear una lista de comprobación. Esta
de la orientación a objetos, los diagramas UML son una
lista garantizará que se olvide nada.
buena práctica para presentar las vistas estáticas y dinámicas
del software, y permitir que el diseño sea más fácil de Proporcionar a los usuarios finales materiales de apoyo:
realizar de modo que tenga más eficiencia como base para la Deben desarrollarse materiales de capacitación apropiados,
construcción [6], [10]. es necesario proveer lineamientos para solución de
Los diagramas UML que se utilizan, son el diagrama de problemas [7].
casos de uso, el diagrama de clases y el diagrama de Otro punto importante para tomar en cuenta es la
secuencia, entre otros. automatización del proceso de despliegue. Durante el
despliegue de software se tienen altas probabilidades de
C. Buenas prácticas en la construcción del software cometer errores, debido a que en la mayoría de los casos se
realiza de forma manual y son muchos pasos los que se
En cuanto a la etapa de programación o desarrollo, aquí deben de realizar. Si no se ejecutan todos los pasos
se lleva a cabo la generación del código a partir del diseño. necesarios en el despliegue de forma precisa, el producto
Los fundamentos para llevar a cabo buenas prácticas son: software no funcionará de forma satisfactoria [13].
minimizar la complejidad, anticipar el cambio, construcción Otro punto trata la colaboración y comunicación: Se
para verificación, reutilizar, y utilizar normas durante la recomienda que la colaboración debe estar desconectada del
construcción. proceso. Por ejemplo, los pasos del despliegue deberían
La aplicación de estándares de desarrollo durante la registrarse automáticamente en un repositorio al que puedan
construcción ayuda a obtener eficiencia, calidad y costo de
acceder las partes interesadas cuando lo soliciten. Y también
un proyecto. En los lenguajes de programación el uso de
estándares son ayudas importantes para lograr una mayor se recomienda que se reduzca el intercambio de correos
seguridad. Los estándares que afectan directamente los electrónicos innecesarios en cada paso del proceso, ya que
problemas de construcción incluyen esto podría ahorrar mucho esfuerzo de comunicación [14].
• métodos de comunicación (por ejemplo, estándares para
formatos y contenidos de documentos) La integración continua también se recomienda puesto
• estándares para lenguajes de programación en que aporta un resultado con un código de mayor calidad y
específico. confiable para la mitigación de riesgos. Esta es una práctica
• estándares de codificación (por ejemplo, estándares que para ser aplicada correctamente, debe cumplir con
para convenciones de nomenclatura, diseño y sangría) ciertos requisitos como son: mantener un único repositorio
• plataformas (por ejemplo, estándares de interfaz para del proyecto, automatizar la compilación y despliegue para
llamadas al sistema operativo) [4]. que se ejecuten cada vez que el equipo haga un commit [15].
Tambien es importante controlar los cambios en el
software, administrar los cambios mediante un sistema de VI. EMPRESAS MEXICANAS DESARROLLADORAS DE
gestión de cambios. SOFTWARE
Se realizó el estudio de 25 empresas mexicanas que se
dedican al desarrollo de software. Se investigaron los
procesos de desarrollo que utilizan, así como las etapas que Empresa Etapas Estado Año
consideran, ver TABLA I. cambios.
Aquí vale la pena decir que la gran mayoría de empresas Pruebas y validación.
Implementación.
investigadas si muestran las etapas de su proceso de Diseño y arquitectura.
desarrollo de software pero brindan poca información Programación.
Ciudad de
detallada respecto a cada una de esas etapas. Imds Pruebas.
México
2020
Así pues los resultados obtenidos son los siguientes: Documentación.
Mantenimiento.
Al principio del proceso de desarrollo 20 de las 25 empresas Análisis.
empiezan con las etapas de requerimientos del software, Diseño.
Ciudad de
mientras que las otras 5 empiezan con una planificación y Integra IT Implementación.
México
2020
después con la obtención de requerimientos. Fueron 16 Pruebas.
Integración.
empresas las que contemplan la etapa de diseño. Planeación.
Todas las empresas contemplan por separado la etapa de Ejecución.
Intekel 2020
desarrollo, y lo mismo para la etapa de pruebas. También Pruebas. Veracruz
resalta una etapa para la capacitación y soporte. Y solo 17 Implementación.
Diseño.
empresas ponen como etapa el despliegue en su proceso. Itrends Desarrollo. Campeche 2020
Así pues de lo anterior se puede afirmar que más de la Explotación.
mitad de las empresas mexicanas de desarrollo de software Documentación y
aplican las principales etapas en el ciclo de vida del entendimiento de
Leben necesidades. Estado de
software. Software Propuesta de solución. México
2020
Construcción.
TABLA I. ETAPAS DEL PROCESO DE DESARROLLO DE SOFTWARE QUE Implementación.
UTILIZAN LAS EMPRESAS MEXICANAS
Consultoría.
Empresa Etapas Estado Año Estimación tecnológica.
Plan de inversión y
Planificación. propuesta tecnológica.
UI/UX. Formalización.
ACE&KBA Diseño. Monterrey 2021 Consultoría: Ingeniería o
Desarrollo. reingeniería.
Pruebas. Mangoo Determinación de flujos de
Análisis y diseño. Puebla 2020
software procesos (BPMN).
Axsis Construcción. Maquetado tecnológico.
Monterrey 2020
Tecnología Integración. Codificación Construcción.
Implementación. Pruebas (Internas, del
Planeación y arquitectura. cliente).
Estimación de trabajo. Puesta en producción.
DeSoftware Colima 2020
Desarrollo. Evolución y
Fase final. mantenimiento.
Análisis. Análisis.
Diseño. Arquitectura.
Espora Ciudad de
Desarrollo. 2019 Diseño.
Estudio México
Pruebas. Metodika Soporte. Monterrey 2021
Implementación. Implementación.
Recopilar información. Pruebas.
Propuesta. Desarrollo.
eSystems Diseño. Baja Toma de requerimientos,
2020
México Desarrollo. California conocimiento de la
Pruebas. empresa y necesidades.
Lanzamiento. Propuestas y cotizaciones.
Propuesta de solución. OK
Arranque de proyecto. Guadalajara 2020
Análisis, diseño y HOSTING
Entrega y pruebas de
especificaciones. estrés.
SOW y aceptación. Mantenimiento.
Pruebas de componentes Soporte técnico.
Grupo tecnológicos. Ciudad de Q Diseño.
2020 San Luis
PERTI Construcción. México Marketing Desarrollo. 2020
Diseño UI/UX. Potosí
Internet Publicación.
Pruebas de integración de Plan de investigación.
sistemas y unitarias. Ciudad de
RAMSCT Desarrollo ágil. 2020
Implementación. México
Liberación de aplicación.
Entrega y liberación. Requerimientos.
Definición y análisis de Diseño.
requerimientos. Raxione Morelos 2021
HighBits Chiapas 2020 Programación.
Arquitectura y diseño. Despliegue.
Desarrollo y control de
Empresa Etapas Estado Año TABLA II. BUENAS PRÁCTICAS QUE APLICAN LAS EMPRESAS
MEXICANAS DURANTE EL PROCESO DE DESARROLLO DE SOFTWARE
Requerimientos.
Diseño de arquitectura. Empresa Buenas prácticas
Scio Diseño de la experiencia Michoacán 2021
Análisis y Planificación Estratégica.
del usuario (UX).
Wireframe.
Desarrollo y pruebas. ACE&KBA
Capacitación y documentación.
Análisis de requisitos. Diseño UI/UX basados en estándares.
Diseño.
Softdem Veracruz 2020 Especificación de requerimientos.
Análisis y diseño.
Análisis y diseño de la aplicación.
Implementación y pruebas.
Casos de prueba de unidad.
Planificación. Pruebas de unidad
Codificación. Axsis Tecnología
Casos de prueba de unidad.
Implementación. Pruebas del sistema
Pruebas. Ciudad de Pruebas de aceptación
SOFTTIS 2020
Liberación. México Capacitación.
Adaptación.
Creación del modelo de requerimientos
Operatividad y supervisión
iniciales, creación de mockups, estructura
del software.
inicial de la base de datos.
Connect. Pruebas unitarias, entregas parciales al cliente
Research. DeSoftware
para validación de funcionalidades y ajustes a
SYE Design Think. los requerimientos iniciales.
Software Lean – UX. Guadalajara 2020 Instalación en el ambiente de producción y
Passion Planning. pruebas completas del sistema y capacitación.
Agile DEV.
Definición del problema: colaboran con el
Improvement.
cliente para definir el problema y
Identificación de documentarlo.
requerimientos. Uso de estándares para definir los
TASI Diseño de Software. Ciudad de requerimientos del sistema.
2020 Espora Estudio
SOFTware Desarrollo de Software. México Análisis del problema: las ideas son
Pruebas de Software. convertidas en prototipos funcionales.
Gestión de Proyectos TI. Producción: Se coloca el sistema en los
Diagnóstico. servidores del cliente y se le da un monitoreo
Ciudad de
Vexilo Diseño. 2020 sobre los errores que hayan salido.
México
Desarrollo. Comprensión de las necesidades del cliente.
Planificación. Creación de prototipos de la función y el
Análisis y diseño. diseño de estructuras.
Implementación. eSystems México Pruebas de control de calidad.
Ciudad de
X1 México Control de calidad. 2020 Prueba de usuario
México
UAT y despliegue con una Pruebas beta.
gestión y control de Mantenimiento.
proyecto continua. Documento con todas las especificaciones del
proyecto.
Verificación de requisitos especificados de
Otro punto que se revisó con las empresas fue si aplican o Grupo PERTI acuerdo con las tecnologías aplicadas.
Aplicación de parámetros para diseño de
no buenas prácticas durante las etapas de su proceso de interfaz y la experiencia del usuario.
desarrollo de software, TABLA II. Creación de prototipos.
Los resultados muestran que todas las empresas empiezan Obtención de requerimientos con el estándar
con una correcta comunicación para la obtención de los ERS-IEEE-830.
HighBits
Control de cambios.
requisitos de las partes interesadas, y fueron pocas empresas Prototipos alfa y beta.
que especificaron el uso del estándar ERS-IEEE-830 en esta IEEE Std. 830-1998.
etapa. Al lado de ello 9 empresas también realizan Documento ERS.
prototipos, diseño UI/UX para confirmar los requisitos con UML.
Imds
Diagrama de Entidad/Relación.
el cliente antes de la construcción. Modelo cercano a la programación orientada
Y de los datos obtenidos solamente 14 empresas a objetos.
especificaron realizar las pruebas correspondientes a su Infraestructura de nube con aplicaciones con
producto software, 2 empresas afirman utilizar buenas alta disponibilidad, rendimiento y tolerancia a
fallos.
prácticas con el uso de estándar al generar el código fuente, Integra IT
Entendimiento del negocio, con el
hay que mencionar que solo 2 empresas hicieron mención descubrimiento de sus procesos, estrategias y
importante al uso de control de cambios en sus procesos. problemáticas de negocio.
Fueron 17 empresas las que brindan soporte y material de ISO 9001:2008.
Definición de la Arquitectura del proyecto.
apoyo para el despliegue. Intekel Diseño de pantallas o mockups.
Diseño del modelado de datos.
Plan de pruebas.
Empresa Buenas prácticas Empresa Buenas prácticas
Diseño de prototipo no funcional. Pruebas de sistema y aceptación basadas en
Resguardo y control de cambios. casos de uso.
Todo el código fuente se guarda en Documentación del usuario.
Itrends repositorios privados, con la plataforma Revisiones técnicas.
Gitlab para llevar el control de cambios y la Pruebas del sistema.
implementación automática. Pruebas beta y reglas para la liberación.
Pruebas en entorno similares a los reales. Definición de arquitectura de software.
SOFTTIS
Entendimiento correcto del problema. Reutilización de análisis.
Correcta comunicación en la obtención de Trazabilidad de requisitos.
requisitos. Casos de prueba.
Leben Software
Entregables funcionales constantes. Programar/construir la aplicación que incluya
Soporte al cliente en la puesta de producción la definición de estándares de codificación.
del software. Conocimiento acerca de las necesidades del
Análisis a detalle de los procesos, negocio.
SYE Software
departamentos y actores de los procesos a Planificación de la arquitectura.
Passion
Mangoo software sistematizar. Desarrollo de software de manera iterativa e
Maqueta tecnológica antes de la construcción. incremental.
Comprobación de la correcta operación. Se capturan y describen detalladamente los
Análisis para determinar las características de requerimientos de funcionalidad y de calidad
la solución revisando que cumpla con los del producto que se desarrolla.
objetivos propuestos por el cliente. Diseño de interfaz UX bajo los estándares
Se define cómo interactuarán los diferentes recomendados para cada tipo de plataforma y
componentes del sistema. Adecuación a la TASI SOFTware tipo de aplicación.
arquitectura requerida por el cliente. Pruebas digitales, pruebas de movilidad,
Metodika
Diseño UX/UI. pruebas en la nube, pruebas de datos, pruebas
Uso de estándares de código mundiales de seguridad, pruebas de implementación,
cuidando la calidad del desarrollo. pruebas funcionales, pruebas de rendimiento
Hypercare durante el despliegue. y servicios de pruebas de automatización.
Pruebas unitarias y de integración para Entender la visión del cliente.
Vexilo
asegurar la calidad del producto. Desarrollo con metodologías ágiles
Comunicación prácticamente diaria durante Se garantiza que la aplicación hace lo que
todo el desarrollo del proyecto. tiene que hacer.
OK HOSTING
Terminado el sistema se somete a pruebas de Se garantiza que lo hace como tiene que
uso. hacerlo.
Identificación de las necesidades de la Se garantiza la seguridad de la aplicación.
Q Marketing empresa, para ayudar a aterrizar la idea del X1 México Se garantiza la correcta integración con
Internet proyecto de manera que resulte útil y terceras partes.
funcional. Se garantiza el rendimiento mediante técnicas
Entendimiento de negocio, determinación de de estrés.
alcances funcionales. Se garantiza la compatibilidad para los
Demo visual y maquetación. dispositivos especificados.
RAMSCT Control de calidad y testing QA.
Infraestructura.
Documentación y manuales. VII. CONCLUSIÓN
Soporte productivo.
Desarrollo iterativo. Hoy día en internet se puede aprender a programar de
Raxione Diseño de UX/UI. manera sencilla o desarrollar un producto software, sin
Fábrica de pruebas.
embargo, esto no es algo difícil de realizar, lo difícil es crear
Cobertura multiplataforma.
Escalabilidad e inter-operatividad. un producto software que cumpla con una serie de buenas
Seguridad y cumplimiento. prácticas para que este sea de calidad.
Definición de perfiles de los usuarios.
Diseño de experiencia del usuario.
Scio Se afirma que más del 50% de empresas contemplan la
Prototipos para realizar pruebas de usabilidad
y validar diseños. cinco etapas importantes para el proceso de desarrollo:
Pruebas para detectar errores y problemas requerimientos de software, diseño, construcción, pruebas y
antes de que se publique la aplicación. despliegue, mientras que el resto contemplan el desarrollo
Mantenimiento y soporte.
en menos etapas. En cuanto a buenas prácticas 20 de 25
Identificar casos de uso.
Organizar casos de uso en grupos. empresas realiza una correcta obtención de requerimientos
Asignar requerimientos no funcionales a que es de suma importancia porque dicha etapa es la base
casos de uso. para el resto, también la mayoría hizo mención en la
Detalle a partir de modelos de alto nivel. realización de pruebas. Aunque fueron pocas las empresas
Softdem
diagramas de secuencia.
Verificar cumplimiento de requerimientos. que hicieron mención en el uso de buenas prácticas en las
Análisis de robustez. etapas de despliegue y construcción.
Diagramas de clases.
Componentes.
Es un hecho que las empresas que más crecen son las que [17] IEEE, IEEE Standard Glossary of Software Engineering
Terminology/IEEE STD 610.12-1990. Piscataway, NJ: IEEE
más invierten en diseño y mejor lo gestionan. Los esfuerzos Publications, 1991.
de desarrollo de software dan como resultado la entrega de
un producto de software que satisface los requisitos del
usuario. Así como las competencias distintivas de una
empresa pueden ser difíciles de imitar por otras, sus mejores
prácticas pueden ser difíciles de replicar de igual forma, es
porque con el uso de buenas practica en el proceso de
desarrollo puede aportar un gran cambio, como se hizo
mención anteriormente el uso de esas prácticas es
comúnmente utilizado por empresas que tienen buenos
resultados. El proceso de propagar las mejores prácticas a
través de una organización está lleno de desafíos, pero es un
esfuerzo que bien vale la pena realizar.
REFERENCES
[1] M. G. García Sandoval, H. D. Ariza Torrado, M. Lucia Pinzón, y A.
S. Flórez Fuentes, “Buenas prácticas aplicadas a la implementación
colaborativo de aplicativos web “, Mundo Fesc, vol. 5, n.º 10, pp. 27-
30, feb. 2016.
[2] R. Noriega Martinez, El Proceso de Desarrollo de Software. North
Charleston, SC: Createspace Independent Publishing Platform, 2015.
[3] A. Fleischmann, Distributed systems: Software design and
implementation, 1994th ed. Berlin, Germany: Springer, 1994.
[4] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering
Body of Knowledge, Version 3.0, IEEE Computer Society, 2014;
www.swebok.org.
[5] B. Bruegge and A. H. Dutoit, Object-oriented software engineering
using UML, patterns, and java, 3rd ed. Upper Saddle River, NJ:
Pearson, 2009.
[6] I. Sommerville, Software Engineering: United States Edition, 9th ed.
Upper Saddle River, NJ: Pearson, 2010.
[7] R. Pressman, “Ingeniería del software: un enfoque práctico”, 7th ed.
Mexico: McGraw Hill Interamericana, 2010.
[8] A. Dearle, "Software Deployment, Past, Present and Future," Future
of Software Engineering (FOSE '07), 2007, pp. 269-284, doi:
10.1109/FOSE.2007.20.
[9] M. Pikkarainen, J. Haikara, O. Salo, P. Abrahamsson, and J. Still,
“The impact of agile practices on communication in software
development,” Empir. Softw. Eng., vol. 13, no. 3, pp. 303–337, 2008.
[10] Maylawati, D. Sa’adillah, Ramdhani, M. Ali, Amin, and A. Syakur,
“Tracing the linkage of several unified modelling language diagrams
in software modelling based on best practices”. International Journal
of Engineering & Technology (UEA), 2018.
[11] G. J. Myers, T. Badgett, and C. Sandler, The art of software testing,
third edition. John Wiley & Sons, 2012.
[12] R. Chillarege, “Software Testing Best Practices”. IBM Research
Division, 1999.
[13] A. Yeja Hernández and J. Rubier Porven, “Procedure for the security
of the deployment process of web applications”. Revista Cubana de
Ciencias Informáticas Vol. 10, No. 2, 2016.
[14] V. Mohan, L. ben Othmane and A. Kres, "BP: Security Concerns and
Best Practices for Automation of Software Deployment Processes: An
Industrial Case Study," 2018 IEEE Cybersecurity Development
(SecDev), 2018, pp. 21-28, doi: 10.1109/SecDev.2018.00011.
[15] J. Zapata, Y. Ceballos Fernando, and , “Herramientas y buenas
prácticas para el aseguramiento de calidad de software con
metodologías ágiles”. Revista de Investigación Desarrollo e
Innovación Vol. 6, Nº. 1, págs. 73-83, 2015.
[16] F. L. Bauer, Ed., Software engineering: An advanced course, 1975th
ed. Berlin, Germany: Springer, 2006.

También podría gustarte