Overview of Rhino Research

Why Rhino Research?
Rhino Research is devoted to improving the state of software practice. We do this by using our industrial and academic roots to give you the freshest and most practical advice in classes and during consulting engagements.

Our clients
We have taught classes for many kinds of clients, ranging from regular Information Technology shops, to huge internet shops, to NASA.

The good news is that software architecture is no longer a black art and the field has consolidated on a set of shared ideas as its foundation. Temperament and aptitude help, but it is now possible to teach developers the essentials of architectural design. The bad news is that mainstream developers are just now starting to become aware of these ideas, yet the scale and complexity of systems has been steadily increasing year after year.

Here are some insights to our philosophy:

  • Risk-driven architecting. You can do just enough software architecture by focusing on risks and choosing corresponding design techniques. Your designs will vary in detail depending on how risky each area is for this project, perhaps deep on security but light on auditability.
  • Democratic approach. Our courses are for developers and architects. Architecture is a kind of software design that all developers should understand, not just architects.
  • Emphasis on engineering. Our courses are on how to design software, not on how to facilitate meetings. Soft skills are a compliment to design skills, not a substitute for engineering know-how.
  • Practical advice. You will learn techniques that work in practice and learn anti-patterns to watch out for.

Software Architecture and Design Courses at Rhino Research

Course participants will leave with a coherent mental framework of software architecture, helping them to reconcile business needs with implementation issues, identify risks, and successfully design systems.

Courses

We offer a set of interlocking classes designed to suit your needs. The shorter the course, the more general the intended audience. Combining the two 3-day architecture courses yields the same content as the 5-day marathon course. Splitting the training is recommended so that participants have an opportunity to try out the new techniques (and generate questions) before the advanced material.

Course Length % Lecture Audience Content
Dine and Discover 90 min 100% Fully general What and why of software architecture
Essence of Software Architecture 1 day 90% Mostly general Dine and Discover + a tour of how architecture is done
Software Architecture with UML 3 day 60% Engineers Essence of architecture + simplified how-to + exercises
Advanced Software Architecture 3 day 60% Engineers Adds realistic wrinkles + advanced techniques
Software Architecture Marathon 5 day 60% Engineers Combined Introduction + Advanced courses
Software Design 3 day 70% Engineers Module and component design (not architecture)

The lectures in the 3- and 5-day courses contain a running example and comprise about 60% of course time. The remaining 40% are in-depth exercises designed to reinforce key concepts.

Praise for my book Just Enough Software Architecture

The book Just Enough Software Architecture will not be available through the publisher until the beginning of September, but here is some advance commentary based on the final draft.

This book reflects the author’s rare mix of deep knowledge of software architecture concepts and extensive industry experience as a developer. If you’re an architect, you will want the developers in your organization to read this book. If you’re a developer, do read it. The book is about architecture in real (not ideal) software projects. It describes a context that you recognize and then it shows you how to improve your design practice in that context.

Paulo Merson, Visiting Scientist at the Software Engineering Institute, and practicing software architect

Video: Intro to Software Architecture and the Risk-Centric Model

In case you were wondering what my book on software architecture will be like, you can now see the video that describes its basics. This talk was given at a joint session of the Denver IASA and the Agile Denver groups on 16 November 2009. The topic is the Risk-Centric Model of software architecture, which helps you answer the question, "How much architecture/design should I do?"

The first 17 minutes of the talk are a quick summary of software architecture; the remainder describes the Risk-Centric Model.

Here is a direct link to the video, in case you cannot see it embedded here:
An Introduction to Software Architecture and the Risk-Centric Model from George Fairbanks.

Syndicate content