Identificación Ágil de Microservicios Utilizando DDD y BDD

  • Nicolás Battaglia UAI

Resumo


La adopción de microservicios mejora la mantenibilidad y escalabilidad frente a arquitecturas monolíticas, aunque su diseño inicial es desafiante. Esta investigación propone un marco ágil que integra Desarrollo Guiado por Comportamiento y Diseño Guiado por el Dominio para identificar microservicios y definir arquitecturas escalables. Un análisis de la literatura y un experimento evidencian que combinar diseño estratégico y prácticas ágiles reduce la deuda técnica y mejora la escalabilidad.
Palavras-chave: Microservicios, Metodologías Ágiles, BDD, DDD

Referências

Battaglia, N., Garcia, A. N., & Congiusti, A. (2024). Descubrimiento de Microservicios en Metodologías Ágiles: un mapeo sistemático de la literatura. XXX Congreso Argentino de Ciencias de La Computacion, 1506–1510.

Beck, K. (2022). Test driven development: By example. Addison-Wesley Professional.

Blair, S., Watt, R., & Cull, T. (2010). Responsibility-driven architecture. IEEE Software, 27(2), 26–32.

Booch, G. (2006). The accidental architecture. IEEE Software, 23(3), 9–11.

Cardoso, J. P. S. (2021). A guide for microservices in greenfield projects. Instituto Politecnico do Porto (Portugal).

De Lauretis, L. (2019). From monolithic architecture to microservices architecture. 2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW), 93–96.

Evans, E. (2004). Domain-driven design: tackling complexity in the heart of software. Addison-Wesley Professional.

Fowler, M. (2012). Patterns of enterprise application architecture. Addison-Wesley.

Fowler, M. (2015a). Monolith First. [link]

Fowler, M. (2015b). YAGNI. [link]

Hellesoy, A., Tooke, S., & Wynne, M. (2017). The cucumber book: behaviour-driven development for testers and developers. The Pragmatic Bookshelf.

Hevner, A. R., March, S. T., Park, J., & Ram, S. (2004). Design science in information systems research. MIS Quarterly, 75–105.

Irshad, M., Britto, R., & Petersen, K. (2021). Adapting Behavior Driven Development (BDD) for large-scale software systems. Journal of Systems and Software, 177, 110944.

Kapferer, S., & Zimmermann, O. (2020). Domain-specific Language and Tools for Strategic Domain-driven Design, Context Mapping and Bounded Context Modeling. MODELSWARD, 299–306.

Kruchten, P. (2010). Software architecture and agile software development: a clash of two cultures? Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering-Volume 2, 497–498.

Lewis, J., & Fowler, M. (2014). Microservices - a definition of this new architectural term. [link]

Lima, H. R., Souza, K. C., de Paula, L. V., e Martins, L. M. C., Giozza, W. F., & de Sousa, R. T. (2021). Acceptance tests over microservices architecture using behaviour-driven development. 2021 16th Iberian Conference on Information Systems and Technologies (CISTI), 1–6.

Ma, S.-P., Chuang, Y., Lan, C.-W., Chen, H.-M., Huang, C.-Y., & Li, C.-Y. (2018). Scenario-based microservice retrieval using Word2Vec. 2018 IEEE 15th International Conference on E-Business Engineering (ICEBE), 239–244.

Nord, R. L., & Tomayko, J. E. (2006). Software architecture-centric methods and agile development. IEEE Software, 23(2), 47–53.

North, D., & others. (2006). Introducing BDD. Better Software, 12, 7.

Rahman, M., & Gao, J. (2015). A reusable automated acceptance testing architecture for microservices in behavior-driven development. 2015 IEEE Symposium on Service-Oriented System Engineering, 321–325.

SAID, M. A. I. T., EZZATI, A., MIHI, S., & BELOUADDANE, L. (2024). Microservices adoption: An industrial inquiry into factors influencing decisions and implementation strategies. International Journal of Computing and Digital Systems, 15(1), 1417–1432.

Smart, J. F., & Molak, J. (2023). BDD in Action: Behavior-driven development for the whole software lifecycle. Simon and Schuster.

Su, R., Li, X., & Taibi, D. (2024). From Microservice to Monolith: A Multivocal Literature Review. Electronics, 13(8), 1452.

Taibi, D., & Lenarduzzi, V. (2018). On the definition of microservice bad smells. IEEE Software, 35(3), 56–62.

Taibi, D., Lenarduzzi, V., & Pahl, C. (2017). Processes, motivations, and issues for migrating to microservices architectures: An empirical investigation. IEEE Cloud Computing, 4(5), 22–32.

Tuglular, T., Coşkun, D. E., Gülen, Ö., Okluoğlu, A., & Algan, K. (2021). Behavior-Driven Development of Microservice Applications. International Journal of Computers, 15, 130–137. DOI: 10.46300/9108.2021.15.20

Ünlü, H., Kennouche, D. E., Soylu, G. K., & Demirörs, O. (2024). Microservice-based projects in agile world: A structured interview. Information and Software Technology, 165, 107334.

Vural, H., & Koyuncu, M. (2021). Does domain-driven design lead to finding the optimal modularity of a microservice? IEEE Access, 9, 32721–32733.

Waterman, M. G. (2014). Reconciling agility and architecture: a theory of agile architecture. Open Access Te Herenga Waka-Victoria University of Wellington.

Zhong, C., Li, S., Huang, H., Liu, X., Chen, Z., Zhang, Y., & Zhang, H. (2024). Domain-driven design for microservices: An evidence-based investigation. IEEE Transactions on Software Engineering.

Zimmermann, O. (2017). Microservices tenets: Agile approach to service development and deployment. Computer Science-Research and Development, 32, 301–310.
Publicado
12/05/2025
BATTAGLIA, Nicolás. Identificación Ágil de Microservicios Utilizando DDD y BDD. In: CONGRESSO IBERO-AMERICANO EM ENGENHARIA DE SOFTWARE (CIBSE), 28. , 2025, Ciudad Real/Espanha. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 201-208. DOI: https://doi.org/10.5753/cibse.2025.35304.