Joseph W. Yoder (agilist, computer scientist, and pattern author) is the founder and principal of The Refactory (, a company focused on software architecture, design, implementation, consulting and mentoring on all facets of software development. Joseph is an internationally recognized leader in many facets of software development specifically with Agile Best Practices. Joe's work has included working with both large and small companies and working with startup organizations. Joe has many years of practical hands-on experience where he has conducted architecture and design reviews of enterprise applications and systems, reviewed the design and implementation of a various systems and frameworks, provided assessments and `detailed analysis of existing systems, assisted with framework and object-oriented development, and leading various successful Agile teams.

Joseph is an international speaker and pattern author, long standing member of the ACM and the Agile Alliance, and the President of The Hillside Group, a non-profit group dedicated to improving the quality of software development. Joseph specializes in Agile Methods, Architecture, Analysis and Design, Patterns, Adaptable Systems, Refactoring, Reuse, and Frameworks. Joe is the author of many papers, including being an author of the Big Ball of Mud pattern, which illuminates many fallacies in the approach to software architecture.

Joseph evolved from the Software Architecture and Patterns group at the University of Illinois. Joe has worked on various projects during his career that has incorporated many technologies. These range from stand-alone to client-server applications, web applications, web services, cloud computing, service oriented architecture, micro-services, multi-tiered, various databases, object-oriented, frameworks, human-computer interaction, collaborative environments, and domain-specific visual-languages. In addition these projects have spanned many domains, including Medical Information Systems, Financial Systems, Ordering, Import, Invoicing, Print, Shipping, Warehouse Management, Manufacturing, Medical Examination, Statistical Analysis, Scenario Planning, Client-Server Relational Database System for keeping track of shared specifications in a multi-user environment, Telecommunications Billing System, and Business & Medical Decision Making.

Joe teaches Agile Methods, Architecture, Design Patterns, Object Design, Refactoring, Being Agile at Quality, and Testing in industrial settings. Additionally Joe has been providing assessments and evaluations, consulting and mentoring people on the above mentioned concepts, along with assisting agile teams in successfully building and deploying various systems.  His work has also included deploying frameworks and Domain-Specific Languages for some of his clients.

Joe has presented many tutorials and talks, arranged workshops, given keynotes, and help organized leading technical conferences held throughout the world, including international conferences such as Agile, Agile Brazil, Agile Portugal, Encontro Ágil in Brazil, AOSD, CBSoft, GOTO, JAOO in Denmark, Israel Conference on Software Architecture, JDD in Poland, QCon, PLoP, AsianPLoP, SugarLoafPLoP, OOPSLA, ECOOP, SATURN, SPLASH, and YOW! in Australia. Joe thinks software is still too hard to change. He wants do something about this and believes that with good practices, putting the ability to change software into the hands of the people with the knowledge to change it, and bringing the business side closer to the development process is a promising avenue to solve this problem.

Joe has recently been working with organizations and thought leaders on the best practices for Being Agile at Quality. Joe has been innovating, collecting and writing on the best practices and patterns on this topic for the over 5 years with various colleagues. During this time he has given presentations, workshops, and keynotes at various conferences and in industrial settings. He has published (and continues writing and collecting) over two dozen patterns on this topic. Joe have also been working with organizations on the best practices for Agile Quality Assurance, helping them apply these techniques, and has shepherded Agile Experience reports on the topic. 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”.


I had the pleasure of working with Joe Yoder from 2006 to 2011 at Iron Mountain Fulfillment Services where I was the Director of Corporate Operations. During that time, he lead The Refactory who provided application development for Iron Mountain’s proprietary WMS and TMS applications collectively known as GroupTrak. In my role as GroupTrak product manager, I regularly interacted with Joe and team to collaborate, design, develop, test, and rollout new applications used throughout all IMFS operations. I was always impressed with how intuitively he understood the business rules and functional requirements while making sure they remained central throughout the agile development process.

On numerous occasions, Joe’s guidance and experience made the difference to improve our functional requests and get the most out of the development team. He also provided solution concepts for some of the more complex functions including Print-On-Demand workflow, Lot and Serial Control capabilities, shipping solution enhancements, among other core functional improvements. When we were faced with only a two-week turnaround to fully integrate FedEx servers into our freight process and incorporate numerous enhancements, he organized the developers to deliver what seemed to be impossible. This development required a complete revision of our shipping solution that automated checks-and-balances that ultimately saved us over $500K annually and was delivered on time with complete operational continuity.

Joe provides a balanced approach to problem solving that brings vision and leadership while keeping all parties engaged. Needless to say, I was regularly impressed by his consistent management style that helped us meet our goals. I am confident that Joe offers the same level of work ethic, experience, and spirit to every engagement in which he is involved. Please feel free to contact me for any additional information that may be of interest.
Kevin Wright

I am the architect of a set of frameworks in use at Caterpillar called TheUniversal Frameworks (TUF). These frameworks form the underpinnings of nearly every Java-based web application currently under development at Caterpillar. We currently have approximately 250 VisualAge for Java licenses at Caterpillar and most of these licensees are leveraging TUF for their application development. I mention these details only to lend credence to my forthcoming comments regarding Joseph Yoder Enterprises.

I have worked closely with Joe on numerous occasions over the last five years on a variety of projects utilizing Smalltalk and Java languages, Design Patterns,Object Oriented Analysis and Design processes, and framework design and implementation. It is my opinion that Joe and his colleagues at The Refactory Inc. possess superior academic knowledge coupled with the ability to disseminate that knowledge to our programmer/analysts at Caterpillar. Joe has worked with me on several teams at Caterpillar to perform all phases of the application development process from concept through development. The output of these efforts has always been technically excellent. Joe has performed tasks such as analyzing functional requirements, conceptual and detailed design,development and review of existing OO systems and frameworks. Joe has also provided Caterpillar with training on numerous occasions on topics including OO design patterns and frameworks.

Besides Joe's technical skills, I believe his interpersonal skills are equally good. Joe's professionalism, attention to detail and quality of work product are excellent. Especially important is Joe's ability to convey technical information in an understandable manner. The ability to effectively transfer technical knowledge is a highly prized skill for a consultant and I believe Joe does very well at this. Joe is equal parts technician and mentor, and that is a highly potent combination.

Please feel free to contact me either via phone or e-mail if you wish to discuss my experiences with Joe Yoder Enterprises and The Refactory Inc. in further detail.

Daniel Long Sr. 
Technology Specialist

Joe Yoder worked for the Illinois Department of lnsurance on contract for two years (July 1998 - June 2000). He served as a mentor for our Smalltalk developer, and assisted us with documenting a Smalltalk framework that we had acquired. Joe worked with us one or two days a week assisting our developer with problems and accumulating documentation. He also spent time outside of our office bringing the documentation together. The environment Joe worked with included the latest versions of IBM VisualAge Smalltalk, and DB2 databases on our NT network. The framework we use includes GUI classes and classes that are capable of storing data in DB2. Joe was able to learn the framework, and teach us how to use it and modify it as necessary. Our contracts with Joe were very beneficial to the Department. I highly recommend him for any project involving Smalltalk

Paul Escarraz
Database Manager
Illinois Department of Insurance

Iron Mountain, Fulfillment Services division, has engaged the services of The Refactory over the last 7 years. We have worked specifically with Refactory principal Joe Yoder.

Joe and his company have provided high-quality development work throughout this period. Three of the developers engaged through the Refactory have been providing services to us for over 5 years, and several others have been engaged in various short-term projects. All of the developers provided by the Refactory have excellent technical skills, show extraordinary dedication to their tasks, and are just plain good folks.

In addition to his role in recruiting developers, Joe has done an excellent job managing his team ensuring they meet our corporate coding standards, stay up to date with the latest technical developments, and code to the requirements given to them for the applications they are developing.

Joe has acted as the technical lead for his team and has made significant technical contributions himself, both on the architectural side and on the more complex applications his team has worked on. Additionally, Joe worked closely with our team on integration of business frameworks into our environment along with appropriate training and technology transfer.

Refactory team members were involved in a broad range of activities for us, including a complete rewrite of our back end core systems and ancillary services. They were involved at the architectural level as well as design, development, and testing and implementation support. This work included the architectural design and development of Enterprise business frameworks specifically using Microsoft's .NET Frameworks and related technologies.

Without exception Joe and his team were quick to pick up on the domain knowledge required to implement complex business rules for our ordering, import, invoicing, print, shipping and warehouse management systems. Core Technologies and Practices are: C#/.NET, SQL Server, WebServices, Soap, WCF, .NET Remoting, VisualStudio, NUnit, EDI, XML, SVN, Agile, Use Cases, UML, SOA, Web Applications and Windows Form Applications.

We enthusiastically recommend the Refactory as a technically sound, innovative and reliable source for contract development work.

Don Moonshine 
Iron Mountain Fulfillment Services

Joseph Yoder and The Refactory, Inc. provided support and brought a sweeping variety of knowledge, skills, experience, and expertise to the Pre-Production Reliability Development (PPRD) project. The PPRD project greatly enhanced the quality, usability, integrity, and intelligence of the design of the project, while accelerating the project’s completion.

The PPRD project is a web-based application that resides on our Caterpillar intranet. The PPRD is part of a suit of tools known as QRWB. This application is responsible for acquiring data about the performance of equipment in the field, reporting this data, and presenting an analysis of them. It is a three-tiered architecture that uses a Java Applet for the client, Java Servlets as the middle tier, and Oracle for the backend tier. The project uses Java as the development language. Java Servlets are being used on the server side to support the Java Applet clients. The development environment is IBM's Visual Age for Java. The server environment is built using IBM's WebSphere server, with Oracle 8 on the backend.

Paul Saletzki & Duane Parker
PPRD Project  Manager QRWB Team Leader
Caterpillar, Inc. 

With the training by Joe, I now have the knowledge and techniques needed to help my business in the adoption of the TDD process. The course combines theory and practice and provides a very solid foundation on refactoring and TDD. As a bonus, you have the opportunity to meet Joe, a guru in our area, an extremely fun and an incredible didactic person.

Guilherme Utrabo


Upcoming Travel


Joe's Publications

Can be downloaded from my website. I add new material as it's been published.

View Library

Training Mentoring

Are you looking for design patterns training or mentoring? Joseph provides training courses for a variety of languages.

Learn More