The Art in Business System Design. Jeff Chapman

Чтение книги онлайн.

Читать онлайн книгу The Art in Business System Design - Jeff Chapman страница 2

The Art in Business System Design - Jeff Chapman

Скачать книгу

in battling through a software project. This is the so-called SDLC, the software development lifecycle:

      Research current and future relevant technology

       Interviews and focus sessions with clients

       Develop implementation alternatives

       Research vendors

       Review alternatives with management

       Develop a project plan

       Create functional specifications

       Design data flows and data structures

       Develop design specifications

       Design the draft of the user interface

       Programming

       Managing the expectations of the sponsors

       Unit testing

       Software corrections

       System and stress testing

       Alpha testing

       Regression testing

       Technical documentation

       Develop an implementation plan

       Develop training materials

       Create online help

       Beta or parallel production testing

       Training

       Post implementation corrections

       Production Support

      Well yeah it’s a lot of stuff; it’s what makes the job both interesting and challenging.

      Artistic Growth

      More than most professionals (perhaps with the exception of doctors) software developers contend with change and growth.

      Outsiders identify the instigators as advances in hardware and new deployment platforms, but when you’re deep inside the works — a fish in the fishtank — the view of change and growth are quite different.

      From inside you see your assignments and what the nearby developers are creating, along with occasional somersaults from the development environment. Food drifts down in fits and starts. Occasionally you get a new bubbly castle.

      In the workplace you tend to get caught up in the office rivalry to impress your boss with your capabilities; you want to eventually move up the ladder from programmer1 to the lead software architect. In this industry staying static — just creating with the same level of technological adeptness — is a certain downward spiral. It’s like being a plastic plant: you may look really good all the time at just one thing, but nobody is going to get terribly excited over what you have to offer. After awhile you will disappear amongst the accumulated algae.

      People acquire skills on the job in various fashions, with as many styles of growth as fish have personalities. One key element to success however is to challenge yourself by volunteering when you smell opportunities. The way you move beyond what you currently know is to step outside of your comfort zone and offer to assume responsibility for something that is slightly beyond, slightly harder than what you think matches your present capabilities. Then the only way out of this predicament is to learn new things and to ask for help.

      You need to make an occasional leap out of the fishtank into a new body of water, spawn and reseed yourself once in a while. Growth is all about the research, the struggle, and the experimentation. And more than anything growth is about the stretch.

      Artful Digression

      Although in this book I focus on the art and science of software development, a thorough picture of a programmer’s life entails quite a bit more. A great deal of outside experience ultimately influences your qualities as a software developer. For me the key peripheral activities for success are reading and walking.

      The best source of inspirational reading in our rapidly changing world is a good library. Here you’ll discover various trade and technical magazines and the library may also subscribe to online services that you wouldn’t otherwise consider investigating. You should periodically research the state-of-the-art business use of computers as well as strategic advancements happening in yours and related industries. I also recommend a broad general reading of a variety of background magazines: you never know when a strange juxtaposition of unrelated ideas will lead you to a new breakthrough.

      I must emphasize the true value of walking. Not only does it clear your head of the clutter and confusions of political interests, the rhythm of your legs and the change of natural scenery will enlighten you to the proper balance in your designs. It will help you create a more naturalistic and organic path for your growth. Walk. Read.

      Artful Notes

      It’s difficult to be a successful developer unless you keep prodigious notes. Notekeeping can be an art all its own: it’s really counterproductive at the point of code development if you find yourself with a huge pile of disorganized Post-Its of the use-cases.

      While designing software, useful information across scenarios pours in with all sorts of formats. You may hold a meeting where everyone is talking. You may receive a PDF specification from a vendor. You may pick up the phone and chat with a colleague to answer some questions. You may shoot off an email that causes a cascade of responses. You may read something relevant on the internet at home. How can you possibly keep track of all this information in a sensible fashion?

      Many of my developer friends like to keep spiral notebooks, but I’ve never been able to easily find what I’ve written previously. I prefer a mixed approach. I use a PIM (personal information manager) to gather and automatically categorize short sentence snippets of concise information. I keep folders organized on the network for documents. I also keep hardcopy in manila folders for documents that I think will have lasting importance. I keep a folder in Outlook for each gigantic-scale project. And I use Google Desktop to find my way amidst all of the detritus.

      In meetings I take a single loose leaf of paper and then either transfer my notes afterward to my PIM or a more formal document to mail or file on the network. I also *always* carry a pen and folded sheet of paper in my pocket for any spur-of-the-moment revelations.

      Notekeeping is complicated: experiment with different methods and software to find something that works efficiently and correctly for your own style.

      The Art of the Stretch

      Many things that contribute toward a successful software-development career have nothing to do with people skills or even with technical knowledge. A larger part of accomplishment than you imagine simply has to do with being comfortable with the physiology of an “office job.”

      Essentially you sit in a chair a couple feet away from a screen with your hands on the mouse and keyboard all day. Folks euphemistically call this a “sedentary” job. Don’t think for a moment this implies that you lie in a hammock twirling a double mocha cappuccino.

      Due to constantly changing tools and requirements the job is full of stress. Other stressful factors include too much work, frequent interruption, unclear or late information,

Скачать книгу