Why I’m at U of T

You don’t have to know the subject matter of a book to figure out what’s in it. The table of contents gives you an outline of how the material is organized. The index helps you find specific terms and concepts. If you know the language its written in, even better!

Most people can pick up books (or other mainstream print media) and learn from them. I don’t know what specific mental processes are involved—but it happens.

Like delving into the pages of their favourite novel, some people can unzip the latest sources of their favourite software product and figure out how it works. Open source development is viable because its contributors tend to be self-sufficient.

There is very little literature (or maybe even none?) about how people familiarize themselves with a software system. Many software development companies give novice employees around four months for this learning process. Some people can ramp up faster. Some need a little or a lot more time. I want to know what accounts for those differences. We need to get the fast people to divulge their secrets.

People? I’m classifying us three ways: Those intending to learn software development; those who already have some experience with some parts of the development process; and finally, those who don’t care. I don’t care about them either–at least as far as my research is concerned.

Familiarize? That’s the set of activities that results in acquiring knowledge and/or experience about a particular domain.

What’s a software system? My definition: the set of human-readable documents that detail the requirements, analysis, design, and implementation of a software product.

Human-readable document? There are two types: diagrams/pictures; and those that contain a series of glyphs containing semantics that someone, somewhere, at some point in time actually understood. This definition may even be broad enough to include source code written in Perl or XSLT.

Software product? Think YouTube. Firefox. Vista. Stuff that makes the lights turn red just as you approach the intersection.

Software development? According to Wikipedia, it’s:

…the set of activities that results in software products. Software development may include research, new development, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.

Oy–I’ll define those terms later. I’m not sure I’m even happy with that definition.

And so begins my journey.

Update: Jorge pointed out my original definition of human-readable documents excludes pictures. I’ve changed the definition.

5 Responses to “Why I’m at U of T”

  1. Jorge Says:

    Nice definitions. But are you excluding pictures (screenshots, for instance) in your definition of human-readable documents?

  2. jrrmzz Says:

    Good catch! A glyph is just an element of writing. It doesn’t extend to diagrams and pictures. I’ll update. Thanks!

  3. neil Says:

    Hey Jay, you should check out proceedings of ICPC and WCRE for literature; also the work of Peggy Storey, Hausi Mueller, Gail Murphy, etc. (you probably knew this, sorry).

    I think an interesting extension is beyond ’software’ as in code, and out towards ’system’ as in people, process, and environment.

  4. jrrmzz Says:

    Thanks, Neil! I wasn’t actually aware of those conferences. Can you tell I’m new at this? :)

    I agree. Coincidentally the research I intend to do focuses on the people and process part of things. I’ll definitely take environment into account as well.

    Thanks!

  5. Matt Doar Says:

    Jay,

    Greg W. reviewed my book “Practical Development Environments” (O’Reilly, 2005) and since then I’ve been running a one-man consultancy business helping organizations with their software tools - version control, wikis, build tools and systems, bug trackers etc.

    I’ve found myself learning lots of new tools to do this, most recently “pylons”. I have a certain set of actions that I follow when I do this, but I’m not sure how easy they are to itemize. I know I got much better at it during research for my Ph.D. and it involves a lot of reading very fast! I reckon I’ve got it down to a few days for most tools. Feel free to email me at mdoar at pobox dot com if you want to dig for more details.

    Best wishes,

    ~Matt