Microsoft Solutions Framework 3.0 is possibly one of Microsoft's best
kept secrets. Although many operations professionals and developers may
be aware of MSF, the word hasn't spread much further outside that circle.
For the uninitiated, the MSF is Microsoft's best practices on how to design,
develop, and deliver IT projects. While generally geared toward development
projects, the framework can be applied in a variety of settings.

In this article I'll cover the scope of the MSF exam, 70-301: Managing,
Organizing, and Delivering IT Projects by Using Microsoft Solutions Framework
3.0, and highlight how it is a particularly good test of real-world experience.

If you're coming at the 70-301 exam from the MCSD .NET track, note that
it has a different focus than many of the others — you have to be
able to think beyond code (there is none) and apply experiential knowledge
to situations instead. You may find that what you observe in the day-to-day
management of operations is perhaps the most useful knowledge in preparing
for this exam. In that sense, this exam is most similar to the MCSD Solution
Architecture exam (70-300; more on that similarity later).

70-301: MSF Practitioner

Reviewer's Rating
Developers who have a less technical approach and background
will probably find this right up their alley; analytical
IT professionals who manage projects will also find
this exam to cover many relevant subjects. There is
no substitute for experience and practical knowledge
on this exam. That said, understanding the framework
will require study as well as the ability to apply it.

There is no question that 70-301 targets those who are overseeing IT
projects. Microsoft has included it in both the MCSD and MCSE tracks as
electives and it seems to be geared for MSF specialists within those tracks,
although it still useful for those who will never lead an entire project,
such as developers and operations staff. Even firms where the MSF is not
utilized will benefit from a thorough understanding of MSF as a possible
project process or an augmentation to current procedures.

For the most part, the rest of the MCSD and MCSE exams cover very different
material. However the MCSD Solution Architecture exam (70-300) is somewhat
similar. If you have already taken 70-300 (and, by the way, if you're
on the MCSD .NET track I would highly recommend taking it before 70-301),
make sure you have the relevant project process sections from the 70-300
mastered. They are a good "first run" at MSF subject matter.

Both exams look for application of material rather than simple reiteration
of information. However, despite their similarities, the MSF questions
on 70-300 are, as you'd expect, significantly simpler and you'll have
to be able to go far beyond basic understanding in order to be ready for
the 70-301. The coverage on the stages of MSF given in its accompanying
Microsoft Press book are also relevant but only just scratch the surface.

Building a Project TeamAt the heart of the MSF process is its team model. Familiarity
with assessing team readiness, scaling teams (both up and down), and recognizing
how to schedule team members across phases are all key concepts covered.

When it comes to issues of assessing team readiness, knowledge can be
acquired from both the MSF team model as well as real-world experience.
You'll need to be able to apply your understanding of what is required
for each role to selecting team members based on the strengths they have
shown.

Tip: Know who's doing what for each phase. Important on
the exam as well as in real-world implementations of MSF.

Scaling teams is also important in Microsoft's team model. The MSF is
intended to be applicable for teams ranging from 3 to 70+ members (ideal
numbers are in the range of 6 - 15, although MSF is more easily scalable
upward than downward).
In order to scale teams upwards you should understand the two types of
teams: functional teams and feature teams. Functional teams are, as the
name implies, focused on a single function (e.g. a team of developers).
Feature teams are a subset of the lead team and members cover various
roles focused on a particular feature (e.g. a team working on only print
features of an application that includes several roles).

Scaling down is done through combining different roles-an understanding
of which roles can be combined, which combinations are ideal, and which
should be avoided is important. Although these generally follow basic
logic, knowing the purpose of the roles and understanding potential conflicts
of interest will assist in making decisions about the best role coverage.

"Unbalanced" teams are another important aspect of team concepts.
In an ideal world, every role would be present all the time, however in
reality there are often situations when select roles are not present.
You should know what roles are especially needed during various stages-practice
thinking through how to handle situations where team members might leave
(or only be present for some of the phases).

Any program manager needs the ability to create and revise team schedules.
While you'll not necessarily be asked to create a detailed schedule, you
will need to know how to prioritize competing priorities. Often this involves
trade-off matrices, but you'll need to be able to balance this with risk
management practices and other competing requirements.

Throughout the exam you will need to know the MSF milestones, but for
scheduling you'll not only need to have mastered the milestones, you will
also want to know what they accomplish and how they interact (how scheduling
one will affect other events).

Tip: Know which team roles interact with various outside
personnel (operations staff, customers, users, help desk, etc.) during
a project.
Facilitating the Risk Management Process

On the whole, this exam focuses on real-world activities. The risk management
section is no different. You'll need to be very comfortable determining,
assessing, and assigning risks. You should also know different properties
of risks as well as stages in the MSF risk management process.

Tip: Be sure you can distinguish between risk mitigation,
contingency, and management plans.

Envisioning a Solution, Planning a ProjectBeing able to envision and plan a project is a key part of the
MSF practice. You'll need to be familiar and comfortable with creating
project plans, vision statements, and scope documents. Make sure you walk
through all envisioning deliverables.

In particular, it is important to be able to map business goals to scope,
and to work backwards through this process (traceability). Scope must
always be constrained-there are often difficult questions to address regarding
which elements to keep and which to leave for a future version. Make sure
you can provide answers for why you make these decisions in a given situation.

For scope decisions especially, but also for many MSF application questions,
answers are not usually straightforward. Selecting scope, planning risk,
and scheduling items all require careful thought to apply the practices
to a situation.
Once scope has been defined, controlling it is important. Implementing
plans for and managing change control will ensure that scope is only changed
as needed.

Tip: All MSF phases will get coverage but the envisioning
and planning phases are particularly critical. Pay careful attention to
these.

Developing The MSF developing phase is more than developing code; it is also
developing core project requirements such as training materials, release
plans, and testing plans. As such, it is the main production phase on
the process. Previous phases exist to ensure that the appropriate work
is completed and that future phases focus on polishing and delivering
the work during the developing phase.

One area that can be tricky is understanding what testing is done in
the developing phase and what is done in the stabilizing phase-make sure
you can distinguish between these.

Developers: pay special attention to this phase. You'll naturally focus
on the phases that you have less experience with, but don't make the mistake
of thinking that you can skip studying the developing phase because of
your development experience. You'll need to know how the MSF developing
phase is set up and structured, and how it proceeds.

Stabilizing & DeployingThere may be a temptation for IT operations professionals to assume
familiarity with deployment and therefore neglect studying this area:
be sure to know the MSF process that applies to your experience. You're
likely to find much overlap as well as a few important elements that differ.

The stabilizing phase centers on testing all aspects of the solution.
One of the main goals is running a pilot test, so make sure you are familiar
with which role is responsible for different elements of testing (test,
triage, resolution, etc.), as well as the different bug-based interim
milestones (convergence and bounce).

You'll also need to know how site deployments take place. The order of
various activities is important for running a successful site deployment.

Tip: While not listed on the exam requirements, you might be asked about
different types of testing. If you're not familiar with developing &
testing, be sure to spend some time looking at these to know their function
and purpose.

Future DirectionsWhile I did say that MSF isn't all that well known, this is definitely
changing. Visual Studio 2005 Team System implements the team model in
MSF 4.0 (note: this exam is on MSF 3.0). You can use other project management
approaches but it comes pre-loaded with the MSF 4.0 agile system.

Whether a new exam for MSF 4.0 is slated is unknown. So far, the list
of new-generation MCP exams shows no visible evidence of such an exam.

It is interesting to note that this is only the second version of the
MSF exam. The original MSF exam, 70-100, went live in the summer of 1999
and was finally retired on June 30, 2004. Prior to that, an "MSF
Practitioner" endorsement could only be obtained through an interview.

Project Teams: Combining. Given different possible
team members, look at what risks are present in different
combinations of roles.

Practice defining different properties for risks
and calculating exposure.

Know all deliverables well but especially all documentation.
If you can describe in two to three sentences the
purpose and contents of each deliverable, you'll be
doing well. Know in what stage they are completed
and their purpose (i.e. "what problem do they
solve or help avoid?").

Download the MS
testing innovations and walk through them. You're
likely to encounter problem types that you may not
have seen on other exams.

Mentally practice mentally "jumping into"
projects mid-stream. You'll need to be familiar enough
with all the material to "skip ahead" to
any phase in any role.

Practice which roles are doing what in each stage.
Also make sure that you can identify which activities
belong in a particular phase and how they are distributed
across different roles.

Practice "theory application". Most answers
on the exam will not be straight-forward. You'll need
the ability to take a large body of information and
balance the relevant points (usually several) in order
to derive an application.

Overall: If you haven't had much experience with
MSF in your day-to-day work, make sure you spend time
determining the responsibilities of the team roles.
You're probably familiar with the MSF role activities
but you may not be accustomed to thinking of them
as separate roles or by their MSF names.

A solid understanding of the key principles underlying
MSF and the main purposes of the entire framework
will aid you.

Returning to the Real World
Real-world experience will serve you best for this exam and, unless you
work at Microsoft, the MSF process will likely be quite unfamiliar to
most of you taking it. However, changing your current process to be more
similar to MSF will not be that difficult as MSF is, in some ways, just
a specialized collection of what was already being done in the world of
project management.

If after working through all the practice material you find you're skeptical
about passing, you may want to wait until you complete one or two projects
using MSF. This may be especially true if your main responsibility is
not IT project management.

It may seem obvious but it is a good idea to have a thorough knowledge
of the white papers. The exam tests your knowledge of the concepts found
in them as well as your ability to apply them in real-world situations.

This exam is great for sharpening your understanding of project management,
and understanding the MSF material will improve any project that you work
on, giving you an edge in your work, regardless of your role. Good luck!