When building complex systems, it can be all too easy to primarily focus on features and overlook software qualities, specifically those related to the architecture. Pressure to adapt to and shape the market requires organizations to add new features, accommodate new interactions, and have new teams work on adapting the software. Some believe that by simply following Agile practices—starting as fast as possible, keeping code clean, and having lots of tests—a good architecture will magically emerge. While an architecture will emerge, if there is not enough attention paid to the architecture and the code, technical debt, and design problems will creep in until it becomes muddy, making it hard to deliver new features quickly and reliably. Sometimes a straightforward software architecture that starts out small when communication is easy can support guided, incremental architectural changes and can gradually evolve with its environment, remaining fit for its purposes. Other times it is not so simple: the initial software architecture can be poorly suited for supporting required changes, or the accumulation of suboptimal architectural decisions (also known as architectural technical debt) can be too severe. It is essential to have a sustainable architecture that can evolve through the project life-cycle. Sustainable architecture requires ongoing attention, especially when there are evolving priorities, a lot of technical risks, and many dependencies. This will be a roundtable spirited discussion by invited panelists and participants discussing architectural considerations for designing systems, specifically on architectures for building excellent software.
“Architectures for building Extraordinary Software” will be presented February 7, 15:00-16:15, in room B033 and will be moderated by Carlos Duarte (DEI).
Short Bios:
“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.”