As computer and software systems evolve more complexity due to changing business and home user requirements, effective software design becomes more important than ever. As software systems evolve, they often become less manageble, as simple expedient solutions are implemented with no concern for the overall function of the application. Over time this eventually leads to a system which needs to be completely refactored or redesigned. While this cycle is not always inevitable, it's process can be substantially slowed, if not prevented, with the use of proper software architecture.

Often, proper architecture is deemed an unecessary expenditure in today's rushed business world. Deadlines and bottom lines compete with quality for importance. Quality, efficient software architecture can be expensive, but "If you think good architecture is expensive, try bad architecture." (Big Ball of Mud, Foote, Yoder)

The Refactory specializes in developing and adapting frameworks and implementing analysis-and-design best practices for dynamic architecture. We can perform an assessment of your current system, offering suggestions, consultation and training to your software development team for evolving your current architecture, cleaning up "muddy" systems or designing new systems.

"I have worked closely with Joe... 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..." -Daniel Long Sr. Technology Specialist Caterpillar Inc.

Refactory Profile

The Refactory, Inc. and its consultants provide top notch on-site training and consulting services. Through our combined years of industry and academic experience, the principals of The Refactory base our consultation on proven practices backed by industry leading research. We have the skills, experience and ambition to make your project successful.