NFJS – day 2

It’s the second day of the No Fluff, Just Stuff symposium, and my focus is on a couple of software architecture sessions put on by Ted Neward.  This is my primary area of interest and I’ve been particularly looking forward to these.

Architecture in this context is the application of software engineering to large systems, particularly  to the creation, care, and feeding of distributed software systems.  Too often we hear the word “architecture” used casually as a synonym for “design” or else pretentiously to mean a philosophy for software development. It is more useful to think in terms of engineering.  Large systems have architectural requirements which can be addressed by architectural patterns.

All software starts with requirements.  If you aren’t addressing requirements, you’re just goofing around.  Large systems have architectural requirements, often grouped as the “*ilities”: scalability, availability, reliability, manageability, extensibility.  Also performance, security, etc.  All professional software should create business value, and architects should be directly involved in the overall business models supported by their systems.

Ted is a good speaker and very entertaining.   Me, I’d have been content with less stand-up comedy and more architecture.  But that’s just me, and everyone else seemed pretty happy.  Ted plainly knows the subject and covered it well, puncturing some of the pretension that usually surrounds the field.  He went into the “*ilities”, the types of architecture, and the concepts high level design.  His particular contribution is a catalog of architectural concepts, decomposing how we can think about large systems.  The discussion focused on pragmatism and choosing solutions that are appropriate rather than philosophically pure.

The second session was the most useful.  In the “Architectural Kata”, we broke up into small teams and each group was given a software project.   We had 45 minutes to throw together an architectural design and then presented our approach for discussion.

There was only time for five presentations.  Three teams proposed using Google App Engine.  One proposed using Grails.   My group hadn’t picked a presentation framework or app server, but we had broken out basic components and distributed data centers.  We’d worked out requirements for data replication, security, availability, and usability, and had discussed basic use cases.  Definitely not a whole system, but good work for 45 minutes.

Overall, a good and informative conference.

Advertisements

No comments yet

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: