This edition of SugarLoaf PLoP will hold the 1st Patterns’ School, organized around a series of introductory courses on patterns in different areas like Test Driven Development, Agile Methods and Security. The school will also include a course with hands-on experience on writing patterns.
Speakers at the Pattern School are well recognized members of the patterns’ and agile communities, including Eduardo Fernandez (Florida University, USA), Yoe Yoder (The Refactory Inc.,USA), Hernán Wilkinson (10 Pines, Argentina), and Eduardo Guerra (INPE, Brazil).
The courses of the Patterns’ School are aimed at students, academics and professionals with application to industry projects.
The courses at the Patterns’ School
Fundamentals of Test Driven Development
(Wednesday, 4 hours)
This course is intended to understand the origins of TDD, why it emerges and why it is important to apply it. We will use a concrete and simple example of the application of TDD to understand its impact in developers. We will analize the benefits of TDD in the short and long terms. We will discuss patterns of the application of TDD in a development team, analyzing their feasibility, especially in the case of an existing system that should be maintained.
Hernan Wilkinson graduated in Computer Sciences from the Facultad de Ciencias Exactas y Naturales at UBA. He has been teaching Object Oriented Programming and Advanced Design with Objects in the same University for more than fourteen years and also at the industry through 10Pines. He also teaches Software Engineering II at the same faculty. He has been working as a programmer, architect, technology and development manager in different companies such as IBM, Banco Galicia and Mercap SRL.
Hernan has been speaker in different international congresses such as OOPSLA (Object Oriented Programming, Systems, Languages and Applications), ESUG (European Smalltalk User Group), Smalltalks, Agiles, RubyConf Argentina and PHPConf Argentina. He has been Key Note Speaker at Scrum Gathering Ecuador 2015 and the JalaSoft’s TechZone 2014. He has been chair of Smalltalks (the Smalltalk conference in Argentina) and PC Member of IWST 2011, 2012, 2013, 2014 and 2015, Smalltalks 2010, 2011 and 2012, and WISIT 2014. He contributes to many open source projects like Aconcagua and Chalten. He is founding member of FAST (Fundacion Argentina de Smalltalk) and 10Pines SRL, company where he works currently. And besides all this, he is still a passionate programmer.
You can reach him at firstname.lastname@example.org and follow him at @hernanwilkinson
Being Agile About Qualities: Values, Practices, and Patterns
(Thursday, 2 hours)
As organizations transition to agile processes, Quality Assurance (QA) activities and roles need to evolve. This course introduces techniques and practices for interjecting system quality specification and related architecture, design and testing efforts into your project while being more agile about it. I will present several agile techniques and practices that support the definition and delivery of system qualities. I will explore how QA, including testers, and architects can collaborate to ensure that system qualities are addressed in an agile manner emphasizing architecture capabilities such as usability, security, performance, scalability, and availability. You will learn options for coordinating work among teams and be exposed to techniques and practices that support the incremental definition and delivery of system qualities along with system functionality and weaving quality-related work into your projects and programs.
Joseph Yoder (agilist, computer scientist, and pattern author) is the founder and principle of The Refactory (http://www.refactory.com), a company focused on software architecture, design, implementation, consulting and mentoring on all facets of software development. Joe serves as president of the board of The Hillside Group, a group dedicated to improving the quality of life of everyone who uses, builds, and encounters software systems. He is best known as an author of the Big Ball of Mud pattern, which illuminates many fallacies in software architecture. Joe teaches and mentors developers on agile and lean practices, architecture, building flexible systems, clean design, patterns, refactoring, and testing. Joe thinks software is still too hard to change. He wants to do something about this and believes that you can start solving this problem through the use of best practices (patterns) and by putting the ability to change software into the hands of the people with the knowledge to change it.
Joe has given many presentations, workshops, and keynotes at various conferences (some include: Agile in the USA, AgilePortugal, AgileBrazil, AsianPLoP, CBSoft, ECOOP, Israel Conference on Software Architecture, JAOO in Denmark, JDD in Poland, OOPSLA, SPLASH, SugarLoafPLoP, Saturn, and YOW! in Australia,) as well as in industrial settings to many of his clients. Joe has recently been working with organizations and thought leaders on the best practices for Agile Quality Assurance. In 2015 he won the New Directions award with a colleague at Saturn 2015, given to the presentation that best describes innovative new approaches and thought leadership in the application of architecture-centric practices for the presentation “QA to AQ: Shifting from Quality Assurance to Agile Quality” (https://insights.sei.cmu.edu/saturn/2015/05/saturn-2015-awards-conferred.html). On a personal side, Joe resides in Urbana, Illinois, is an avid amateur photographer, motorcycle enthusiast, and enjoys samba dancing!!!
Personal Website: http://www.joeyoder.com/
Building Secure Distributed Systems Using Security Patterns
(Thursday, 2 hours)
Security patterns join the extensive knowledge accumulated about security with the structure provided by patterns to provide guidelines for secure system design and evaluation. We consider the structure and purpose of security patterns, show a variety of security patterns, and illustrate their use in the construction of secure systems. These patterns include among others Authentication, Authorization/Access Control, Firewalls, Secure Broker, Web Services Security, and Cloud Security. We introduce patterns in a conceptual way, relating them to their purposes and to the functional parts of the architecture. We show how to apply these patterns through a secure system development methodology.
Eduardo Fernandez has been a Professor of Computer Science and Engineering at FAU since 1984. Before that, he worked at the University of Chile, IBM Corp., and the University of Miami. He has also consulted for a variety of companies. Eduardo has written several books and book chapters, over 40 journal papers, and more than 200 conference papers. He has directed 9 Ph.D. Dissertations and 37 MS theses. He has lectured all over the world, including places such as Santiago, Chile, Buenos Aires, Argentina, Shanghai, Shenyang, Shenzhen, and Beijing, China, Munich and Regensburg, Germany, Genoa and Pisa, Italy, Johannesburg, South Africa, and many others.
Eduardo’s most recent book, Security Patterns in Practice: Designing Secure Architectures Using Software Patterns, was published by Wiley in 2013.
Pattern Writing Dojo
(Friday, 3 hours)
This course starts with an one hour presentation about patterns, the important sections of a pattern, how to write a pattern, the concept of pattern languages, etc. The rest of the course is an interactive section where a pattern is written by the participants. Initially they will raise a pattern candidate on a domain that everyone can contribute. Then, all members of the audience will have a part in writing the pattern in pairs. The audience can give opinions only in the end of each iteration and when the pair ask them for help.
Eduardo Guerra is researcher in the National Institute for Space Research (INPE) in Brasil, where he is the current coordinator of the graduate program in Applied Computing. He was a teacher in one of the most recognized engineering institutes in Brasil, the Institute of Aerospacial Technology (ITA), for 6 years, where he concluded his graduation, mastering and PhD. He is currently developing an on-line specialization course about software design and agile methods in partnership with ITA for the Coursera platform. He was for 7 years the chief-editor of a programming magazine focused on the Java platform called MundoJ and he also have 2 books about software design published in portuguese: “Design Patterns com Java: Projeto orientado a objetos guiado por padrões” and “Componentes Reutilizáveis em Java com Reflexão e Anotações”.
He has a lot of Java certifications and practical experience as software architect for desktop, mobile and enterprise application in Java. He participate in open-source framework projects, like SwingBean, Esfinge and ClassMock.His research areas are framework development, software design and architecture, software repository mining, and agile methodologies, which resulted in several papers published in recognized conferences and journals. He participate actively from the patterns community, being a member of the board from Hillside Group, and organizing the following events: MiniPLoP 2011, PLoP 2012, MiniPLoP 2013 and SugarLoafPLoP 2014.