The photos which appear in this document were licensed from
iStockPhoto.
Vista Software Lifecycle
Vista is the result of a remarkable approach to software development. It is
very different from the way most software is developed, and results in amazing
improvements in development productivity. It has yet to be formally documented.
Overview
This provides a brief overview of the Vista Lifecycle. Special emphasis is
placed on the executive point of view, and on specific things that managers can
do to keep their Vista system healthy. It is a companion of sorts to the
“Vista Architecture” document.
A complete discussion of the Vista Lifecycle, and other issues related to the
management of Vista, can be found in the softcover book
Vista Mastery by
Frederick D. S. Marshall and Kathy Ice, available for
purchase at our bookstore.
“I know medicine . . .
“I know software . . .
“ . . . Let us work together without interference, and your Vista system
will improve!”
The Golden Pair
At the center of any Vista system is the golden pair : one medical
professional and one programmer, working together. The medical professional
knows what the software needs to do. The programmer knows how to get the
software to do it. This golden pair forms the heart of the Vista lifecycle.
The further away you get from this model—one clinician and one programmer
working together—the more the software will suffer. Allow your golden pairs
to work together and communicate freely!
Don’t take on too much at once!
Smaller projects are an easier “lift”!
Small Projects
According to research done by the Standish Group, the majority of IT projects
fail—that is, they do not deliver what they set out to deliver.
There are any number of reasons for this, but one very important reason is
project size. Large projects are more likely to fail. Small projects are less
likely to fail. Success with Vista means keeping projects to a manageable size.
Keep in mind that, just because you can state a project as a simple declarative
sentence, that doesn’t mean it will actually be easy to do. For example, “all
we need to do to form a lasting peace in the Middle East is to write a treaty
that everybody can agree to.” Piece of cake!
If your programmers are telling you that a project is bigger than you seem to
think it is, believe them.
Don’t restrict it . . .
Fix it!
Bugs Happen: the Key to Rapid Prototyping
Bugs happen. Bugs happen because software is written by human beings, and human
beings are imperfect. There is no amount of pre-planning, experience, know-how,
or testing that will completely eliminate bugs.
So don’t try.
Vista is designed for rapid prototyping. Get something in front of the user,
quickly, rather than dragging out the process by trying to prevent what is not
preventable. It is far easier to fix bugs than prevent them—so long as the
rapid-prototyping model stays in place.
“This is what happens when you let me name things.”
What Is a “Patch?”
In everyday language, a “patch” is something you use to fix something that’s
been damaged. You patch a threadbare jacket, or a leaking tire, or a software
vulnerability.
In Vista, the term “patch” began with that meaning, but soon
expanded. Programmers found that the patching system was also the best way to
distribute improvements and new features to the code. When installed as a
patch, the new features do not require the Vista system to be taken offline,
and the clinicians like that part.
So, a “patch” in Vista could contain bug fixes. Or, it could contain some
nifty new features your users would really like. Or, it could contain both. You
will not know until you look at it.
It’s important not to skip a step.
It’s a Process
Vista patches are distributed fairly often. It is very important that your
system remain patched and up-to-date. Why? Because catching up is very
difficult.
Patching Vista is not like installing updates for other software. Each Vista
patch triggers changes that ripple through the software. Each patch must be
installed, one at a time, with no skipping.
When making soup from scratch, a chef adds each ingredient in a specified order
and allows it to simmer for a certain amount of time at each step. This is
important, so that the meat, vegetables, and other ingredients are neither
overcooked nor undercooked, and so the flavor of the spices can come out.
Like soup ingredients, Vista patches have to be added in the right order at the
right time. You cannot expect to add a bunch all at once, any more than you can
expect to dump all the ingredients into the soup pot at the last minute.
The eight essential points of the Vista lifecycle
On June 20, 2009, Frederick D. S. Marshall of the Vista Expertise
Network gave a speech [here’s the transcript] on
some essential points of the Vista software lifecycle. These were, in brief:
Vista Requires the Vista Lifecycle.
Vista Requires Many Code Repositories, Not One.
Managing Vista Requires Many Authorities, Not One.
Users must directly control Vista’s software lifecycle.
Users and programmers need a shared forum.
Vista’s software stream requires many tributaries.
We should restart the lifecycle with just File Manager and Forum.
We need to declare interdependence and form a confederation.