Quando se constroem sistemas complexos, poderá ser demasiado fácil focarmo-nos principalmente nas funcionalidades em detrimento das qualidades do software, especificamente as relacionadas com a arquitetura. A pressão para se adaptar e moldar o mercado exige que as organizações adicionem novas funcionalidades, acomodem novas interações e tenham novas equipas a trabalhar na adaptação do software. Alguns acreditam que, simplesmente seguindo as práticas Agile – começando o mais rápido possível, mantendo o código limpo e fazendo muitos testes – uma boa arquitetura surgirá por magia. Embora surja uma arquitetura, se não for prestada atenção suficiente à arquitetura e ao código, a dívida técnica e os problemas de design irão surgir até se tornarem confusos, dificultando a entrega de novas funcionalidades de forma rápida e fiável. Por vezes, uma arquitetura de software simples, que começa por ser pequena quando a comunicação é fácil, pode suportar alterações arquitetónicas guiadas e incrementais e pode evoluir gradualmente com o seu ambiente, mantendo-se adequada aos seus objetivos. Outras vezes não é assim tão simples: a arquitetura de software inicial pode ser pouco adequada para suportar as alterações necessárias ou a acumulação de decisões arquitetónicas não otimizadas (também conhecidas como dívida técnica arquitetónica) pode ser demasiado grave. É essencial ter uma arquitetura sustentável que possa evoluir ao longo do ciclo de vida do projeto. A arquitetura sustentável exige uma atenção permanente, especialmente quando há prioridades em evolução, muitos riscos técnicos e muitas dependências.
Esta será uma mesa redonda em que os participantes e os membros do painel convidados discutirão considerações arquitetónicas para a conceção de sistemas, especificamente sobre arquiteturas para a criação de software de excelência.
“Architectures for building Extraordinary Software” será apresentada dia 7 de fevereiro, das 15:00 às 16:15, na sala B033 e será moderada por Carlos Duarte (DEI).
“Joseph (Joe) Yoder is a research collaborator at IME/USP, president and a fellow of the Hillside Group (www.hillside.net), a group dedicated to improving the quality of software development, and is a founder and principal of the Refactory (www.refactory.com), a company focused on software architecture, design, implementation, consulting, and mentoring on all facets of software development. He is best known as an author of the “Big Ball of Mud” pattern, illuminating fallacies in software architecture. Joe is also a co-author of “A Scrum Book: The Spirit of the Game”; which includes 94 patterns and 2 pattern languages about getting the most out of Scrum. Joe teaches and mentors developers on agile and lean practices, architecture, flexible systems, clean design, patterns, refactoring, and testing. Joe has presented many tutorials and talks, arranged workshops, given keynotes, and helped organize leading international agile and technical conferences. Joe believes software is still too hard to change and wants to do something about this. Recently, the ACM recognized Joe as a Distinguished Member in the category of “Outstanding Engineering Contributions to Computing” and the Hillside Group awarded Joe as a Hillside Fellow.”
“Graziela Simone Tonin has worked in the technology market for over 19 years in Brazil and abroad. Ph.D. in Computer Science. She received the US IBM World Award and the Women of Value Award. Graziela mentors and worked in several national entrepreneurship and innovation programs, such as Innovativa Brasil. Ambassador of Clube Bora Fazer, an entrepreneurship community. She works as a professor at Insper Institution, a Teacher of Executive Education and customized programs for C-Levels, and also is a professor in the Computer Science and Engineering program. She led the Women In Tech Project and co-leader in the Gender Front of the Diversity Committee at Insper. Graziela leads volunteer projects throughout Brazil through the Grupo Mulheres do Brasil. In addition, she is part of a worldwide research project that analyzes initiatives aimed at women in software engineering.”
“Neil Harrison is a professor and former head of the Department of Computer Science at Utah Valley University, USA. He led the department for seven years, in which he directed the creation of three new baccalaureate programs and two new emphases within the BS in Computer Science program. He oversaw the rollout of a graduate program. He led the accreditation of the software engineering program, and the re-accreditation of the computer science program.
Dr. Harrison is the author of over twenty-five widely cited articles in the areas of software patterns, software architecture, and software engineering and organizations. He is the co-author of the book, “Organizational Patterns of Agile Software Development.” He has been a leader in the software patterns movement and is the namesake of the “Neil Harrison Shepherding Award”, which is awarded annually at patterns conferences. He has been an invited speaker and keynote speaker at conferences, including Agile Portugal. Dr. Harrison holds a PhD from the University of Groningen (the Netherlands), an MS from Purdue University and a BS from Brigham Young University, all in computer science.”
“Filipe Correia is a professor of Software Engineering at the University of Porto / FEUP and a researcher at INESC TEC. In the past, he played other roles, from software architect to coach, to developer. His research interests tend to revolve around software design, architecture, agility, and DevOps. In the last few years, his work has been focusing on microservice-based architectures and the highly maintainable and flexible systems they allow to create, and on strategies to improve the Developer Experience across the software development lifecycle. You can find more information on Filipe’s website.”
“Carlos Duarte (Moderador) is a software engineer and researcher at INESC TEC. He is also a PhD student at FEUP’s ProDEI, and an invited assistant lecturer at FEUP (software engineering course). He previously worked at DevScope. His research interests revolve around software architecture, more specifically architectural erosion and evolution. Currently, he is researching the relationship between architectural erosion and technical debt, and how software visualization techniques can help identify and prevent erosion from affecting software systems. His Master thesis focused on improving the refactoring experience in IDEs, allowing the creation of custom refactoring tools by describing detection and transformation patterns using a DSL. The thesis won the 2022 Vestas award for best Master thesis in informatics engineering at FEUP.”