Sunday, September 09, 2007

New Media Exploration - Process

Process, while not a fascinating topic, is a necessary one. It applies to any business and any product – be it a car, a toy, a cell phone, or a multimedia web site.

First, Terminology 101. Businesses must manage the way they produce a product – from conception to delivery and beyond, until product ‘end of life’ (when you quit fixing it and dump it to build a newer and much cooler widget) something you often hear referred to as ‘cradle to grave’. This is referred to as lifecycle management. Processes (also called methodology) are the tools of management. They specify what phases, stages or steps (equivalently) that a business goes through to produce a “good” product (“good” is included in quotes because what comprises “good” is industry and customer dependent). Procedures (or methods) specify how those steps are to be accomplished.

Process is often described in a very structured way (that has a tendency to put even the most determined to sleep). However, on the most fundamental level, it simply ensures you properly define what it is you are going to make, that you make what you intended to make, and that when you’re all done… it works. That’s it, end of story. Not hard, is it?

To understand the importance of process, we’ll briefly examine the growth of a start-up company… to make it more personal, we’ll name the company ‘Really Cool Multimedia’ or RCM for short.

RCM starts up in Bob’s office. Bob is a really, really smart and creative guy who can hack out multimedia designs faster than you can say ‘jack’. People really love his stuff. They look at his online portfolio and pretty soon Bob is getting more Email requests for information than he can handle. SO, Bob… being the web type guy he is… quickly networks to other smart and creative people he knows and starts building a business. At this point, Bob is living on coffee and chocolate bars, working 14 hours a day and doesn’t have time to baby sit employees… so he connects with and brings in other experienced, smart and creative people like himself that he knows and can trust to do what he needs done with minimal interaction.

Time goes on. RCM is making money and bringing in more business. This is a good thing, right? Sure… (do hear the hesitation in Bob’s voice) Bob is forced to come to the realization he needs to expand his business. He has tapped out his personal network and so must look outside for more employees. He is also at a point where there is a great deal of work that can be taken on by less experienced employees. He’d like his more experienced employees to focus on new business and to delegate a lot of the actual development work.

Fortunately, Bob is able to use Monster.com and rapidly bring in more talented people at a variety of levels. NOW RCM should be able to take on the projects that have been waiting in the wings. Except, Bob starts to notice work is actually slowing down. Holy Snail Pace Batman!? What’s going on!?

Well, RCM has been functioning to date with a small tight knit group of very experienced, smart and creative people. These people know what needs to be done, how it needs to be done, and they get it done. They have a history with each other and heck, they hardly have to talk to each other to get things done. The new employees are talented but they have no experience with the company, the company’s projects or the other employees at the company. Some are just out of college, maybe they have done some internships but they do not have experience that spans a large team project from start to finish. The new employees feel a bit intimidated but they conscientiously dig in by reviewing the details of previous projects, looking at the actual application files, mark-up language and scripts… and basically, hoping someone (please God) actually documented something. They try to build a mental picture of how all the pieces fit together… and they start asking questions... a lot of questions.

The only people around that have answers are, of course, the experienced employees. So, they spend their time answering questions (often one-on-one, often the same question for different people) on previous or current projects instead of working on new projects. So who’s working?

Hmmm… Bob starts to see the problem and the word ‘process’ pops into his mind. (Ow, hate it when that happens.) If only they had written things down. If only they had outlined coding standards for the new employees… if only they had tracked the changes (and the reasons for them) that came in along the way. OH, and how about the project goals… that would have been useful. If only…

There are endless scenarios that lend a hand in explaining the importance of process – the story of the customer reviewing the final site and their comment “That’s really neat but I wanted…”, the web site that cost three times what it was estimated to, the site that went live… and didn’t work, the site that should have been extensible… but you had to rebuild the WHOLE darned thing to change one ostensibly simple function.

I could go on, but I think you’ve got the idea. Process is a way of curing the ‘if onlys’.

The most basic stages in life cycle management are the same for any product. They are not always described precisely the same, but they are always a simple set and one description can always be mapped to another with more or less accuracy. In most cases, these stages are described as a sequential set. While that helps in grasping the concept, it is not strictly representative of what actually happens. Yes, in a broad sense a project should progress from one stage to another in the manner described… yet, any supporting processes must handle the natural sputters and restarts that occur in any development process (the ‘technical term’ for those points in the development is an… pardon the expression… “oh, shit” moment).

I describe those stages as follows:

  1. CONCEPT AND PLANNING– Develop the concept for the product, start the project planning. In other words, define the product to be solved and the boundaries / constraints on the problem. This includes not only design, user, and functional requirements but also programmatic requirements like cost and time to market. Remember, different assumptions, requirements, or proposed solutions may lead to dramatically different results.
    1. Define your customer / identify your target market (users).

Note that these may or may not be the same. Who is paying you and who is going to use the product?

    1. Identify the requirements that this customer and/or market places on the product. Identify the requirements that the product’s environment places on the product.

The term ‘environment’ refers to a number of things – physical environment for products like a cell phone or software / hardware environment for products like web sites. How are you constrained by the connection speed, monitor size, operating system, browser type/version, etc.? Often, you have to deal with legacy issues. You could build a cooler widget if you were not constrained to operate it in situations that involve older technology.

  1. ANALYSIS AND DESIGN – Analyze the product requirements and, with your customer, finalize a design solution.
    1. Brainstorm potential product design solutions.
    2. Analyze the trade-offs involved.
    3. Document and present your analysis and proposed solution to your customer.
    4. Negotiate and document a final design.
  2. DEVELOPMENT – Build to the design specification.
  3. (INTEGRATION AND) TEST –Test focuses on a system level test ensuring that you built what you intended to build.

In many lifecycle management descriptions you will see integration listed with test. This applies to products that are comprised of more than one major component that have been developed and component-tested separately. Integration at this stage takes the individually developed components, puts them together and ensures that the components all work together as a system. I include it in parentheses because with multimedia web site projects, any integration is largely a lower level activity that is really part of the development effort. The work does not proceed in the same way as say a cell phone where one manufacturer makes the chips, another makes the case and purchases the accessories from a third… and then SOMEONE has to put all the pieces together and make sure they all play nice.

  1. (PRODUCTION) – Manufacturing.

I include this stage in parentheses since it is only applicable if the product is something that is manufactured, i.e., you’re making more than one of an identical widget. That does not apply to a business that makes one up customer-specific multimedia web sites.

  1. DELIVERY – Deliver the product,. Take the site live.
  2. MAINTENANCE AND SUPPORT – Maintenance is the process of keeping a system running despite changes in its surrounding environment. Support is the process of assisting customers and users after delivery.

I chose a set of firms and used the information on their websites to build a cross reference table to the generic lifecycle management stages I described above. This allowed me to review and compare their processes. I included four I found on Karl’s list of multimedia design studios/firms plus four companies that identify themselves as web site developers (but do some interactive design) because they are interesting examples.

Process Cross Reference Table

Generalizing what I saw in the sample of web sites I reviewed – multimedia design studios / firms seemed to present their process (if at all) in a less formal, more conversational or entertaining manner. Firms that characterized themselves as offering broader web services had a bit more of a tendency to describe process in more detail (infrequently in too much detail). In retrospect, those generalities seem appropriate to their industry. If you are in the business of dealing with the government or military, detailed and formal process descriptions are necessary. In other industries, the level of formality presented... particularly on a web site where you are seeking to attract new clients is more open. In a design industry, clients are looking first to see what you can do and what you have done, then they'll proceed to substantiating for themselves that you are a reputable and reliable business. Business philosophy with a light sprinkling of process may be just the right mix for this industry... and that was where a fair number of the multimedia design firms went on their web sites.

No comments: