I've been in this business long enough to know that wherever you find a software developer you'll find at least a one-to-one relationship to a deadline. More often, you'll find a one-to-many relationship to deadlines, along with multiple many-to-many relationships among developers, projects, managers, and those pesky end users.
The magazine business is not very different, especially when the magazine is published by a software development company. Here at CODE Magazine and at our parent company, EPS Software Corporation, we often live dual lives with one foot in the software world, one foot in the publishing world, and our fingers in loads of intertwined projects and priorities.
Yesterday, I sat in an office in our Houston headquarters, working through a list of priorities that included a meeting about our strategies for CODE Magazine's booth at upcoming conferences, a marketing meeting to see new brochure ideas for EPS Software's custom software business, and several discussions about two upcoming special issues. All of these items on my list each have multiple deadlines for ideas, discussions, decisions, and implementations, all of which must happen within the next two weeks.
Sharing the office with me today is a copy editor whose eyes appear to have glazed over, the result of almost non-stop editing of this issue's articles over the past 48 hours. Occasionally, we stop to chat briefly, each enjoying the momentary detachment from reality to exchange ideas or just commiserate our common plight. He says, “Hey, do we have a standard headline style for product reviews?” and I ask whether the plural version of CODE Magazine has an italic apostrophe-s at the end. (We do and it does.) We smile, and then it's heads down and tap-tap-clickety-click again.
Elsewhere in our bulging offices, a dozen other employees are focused to the extreme on meeting a delivery deadline for a major custom software project in the final stages of a major project. The project is going well, but is taking its toll on the developers and managers. I was here past midnight Tuesday, rebuilding my computer after an ongoing week-long laptop crash scenario, and some of the developers were still here going strong. As I left at the normal time last night, I glanced in the direction of our offices in the building next door. Sure enough, two developers were silhouetted in the windows, staring at laptop screens and wrestling with their respective sets of deadlines.
In addition, the yellow legal pad beside me right now lists fourteen other high priorities for today, ranging from magazine subscription management to exploring strategic business partnerships. We are partially through converting our Web site to ASP.NET, are right at the deadline for the current magazine issue, and are revising our internal subscription system to meet the requirements of an independent circulation audit.
There is a list of “things people are waiting for from me” and each of today's fourteen tasks branch off into individual pages filled with bullet points, many with implicit or stated deadlines. Yesterday I scratched off two items and added five. Does that represent progress or is it two steps forward and five back? I'm not sure yet. Many of the deadlines seem much more like “dreadlines”. I'm guessing that you know the feeling very well.
Project Management to the Rescue
As more and more companies are trying to do more with fewer IT employees, whether due to perceptions about the economy or a continuation of the downsizing trend, developers can find themselves frantically looking for the silver lining in this cloud. It is often found in the daily disciplines of organization, planning, and project management.
I must admit that my background as a formerly self-employed one-man development shop unfortunately skewed my thinking toward the idea that I have to do it all. Much of the doomish-sounding talk above reflects this bias toward an entrepreneurial, go-it-alone development style, and I have to constantly remind myself (or be reminded by my boss) that we are a team and that we need each other.
One of the best moves that EPS management made in the early stages of the company's growth was to base their approach to software development projects on a solid and rather strict process of gathering requirements, defining use cases and test cases, and modeling the project with UML and Case design tools. All of these are managed on an internal “wiki-web,” which is also accessible by key client managers and project stakeholders. Here, deadlines are balanced by living documents on the wiki that allow easy collaboration and communication as the project progresses. For a seat-of-the-pants developer, this is a radical and helpful change.
Many of our growth-oriented tasks on both the software and magazine sides of the business are also managed in a similar way. For instance, the yellow pad bulleted lists really work much better on the wiki, where other internal stakeholders can comment and help document what it is that I think I am doing. Weekly status reports and summaries of status meetings are kept there, as well.
One of our talented software project managers is helping me make the transition to properly-defined workflow process descriptions with Visio flowcharts for our magazine production and subscription infrastructure. Although such documentation seems to take a painfully long time, we all know that more time will be saved in the long term and that the load will not lighten without the processes and development requirements being properly defined.
The positive fallout from this new (to me) approach to managing my tasks, time, and development efforts has the potential to be enormous, even in other areas of my life. Aside from the gratification of hearing a “well done” at the completion of a major milestone, there is added satisfaction of successfully meeting the deadlines of those milestones. In effect, the deadlines become lifelines, and that's a very good thing.
Why not try a more thorough analysis and planning approach in your next project? You may be pleasantly surprised at the end result. At the very least, you can take a break now and then from the difficult tasks and look at the pretty pictures and diagrams of the things that are overwhelming you.