Multi Vendor Project Management Best Practices

    Multi‐Vendor Project Management Best Practices    1. Introduction .................................................................................
Author: David Potter
3 downloads 2 Views 259KB Size
   

Multi‐Vendor Project Management Best Practices    1.

Introduction .............................................................................................................. 2 1.1 Purpose.............................................................................................................. 2 1.2 Definition of Multi‐Vendor Product Development .................................... 2 1.3 Characteristics of Multi‐Vendor Projects...................................................... 2 1.4 Requirements for Successful Multi‐Vendor Projects .................................. 2 2. Multi‐Vendor Project Management “Soft Skills” ................................................ 3 3. Regular Communications ....................................................................................... 5 4. The Business Case .................................................................................................... 5 5. The “Overlay” Project ............................................................................................. 6 5.1.1  Requirements Phase ................................................................................ 7  5.1.2  Adding Product Value ............................................................................ 9  5.2 Planning Phase ............................................................................................... 10 5.3 Resource Planning ......................................................................................... 11 5.4 Test & QA Planning....................................................................................... 12 6. Change Management............................................................................................. 12 6.1 Change Review Team.................................................................................... 12 6.2 Suggested Change Management Process ................................................... 13 7. Conclusions............................................................................................................. 13  

  1. 1.1

Introduction  Purpose  

The  aim  of  this  proposal  is  not  to  teach  project  management  skills  but  to  highlight  the  differences  between  standard  projects  that  an  experienced  project  manager (PM)  may have encountered within a  single organization  and projects  that span multiple organizations, and how to succeed with the latter.  1.2

Definition of Multi‐Vendor Product Development 

Multi‐vendor products are defined as suites of products orchestrated from two  or more already existing applications.  These applications are most often from  different companies with a common interest in fulfilling the requirements in a  particular market segment.  1.3

Characteristics of Multi‐Vendor Projects 

Most project managers who have led projects in a cross functional team  environment would find the Multi‐Vendor environment a new experience.  Although it has some of the attributes of cross functional teams within a  company, the experience of leading these projects is unique.    The traditional project team may be geographically distributed between several  countries or even continents.  Multi‐vendor projects are not only geographically  distributed but the project teams belong to different companies increasing the  challenge of leading projects to successful conclusion. In this environment the  success of the project can only be achieved through clearly defined and  documented governances, building consensus and managing expectations  amongst the different project teams.  1.4

Requirements for Successful Multi‐Vendor Projects 

  There are several means by which this can be accomplished, all of which are  required for project success.    • Good soft skills on the part of the project manager, and particularly the  ability to influence, manage expectations and negotiate with various  companies’ executives.   









Frequent and regular communication, via regular conference calls, a  readily accessible shared collaboration mechanism, mailing lists and so  forth.  A strong business case that clearly articulates the customer value and  revenue opportunity of a multi‐vendor integrated offering, and why such  an offering is the best way to meet the anticipated demand.    Being sensitive to each company’s sovereign rights to manage their  internal resources as they see fit, while ensuring commitment to execution  at a sufficient level of detail to move the project forward.  We propose the  notion of an overlay project that is tied to the business case and managed  against clear and measurable milestones, with each company accountable  to delivering their portions of those milestones.  Strict change management to help ensure that none of the participating  companies are caught by surprise when delays occur or new requirements  are adopted. 

  These are all important, as they are mutually reinforcing.  For example, “soft  skills” may get you in the door with each company’s executives, but the business  case and regular communication will keep them engaged.  The following sections  discuss these in more detail.    2.

Multi‐Vendor Project Management “Soft Skills” 

A large part of project management in any setting is accomplished thru so called  “soft skills”, which is the project manager’s ability to influence participants and  lead  conversation  toward  result.  This  skill  allows  the  PM  to  defuse  personal  issues and make requests from his or her team and get results without having to  defer or escalate to authorities in each company.    This skill set relies heavily on the PM’s ability to establish rapport with the team  and  credibility  with  upper  management;  both  of  which  depends  on  prior  and  ongoing  positive  personal  interactions  with  the  team.    In  multi‐vendor  application development, this relationship is not as easily established since most  stakeholders  of  a  project  will  be  in  different  companies  and  will  have  limited  interaction with the PM, e.g. only through weekly status calls.  Because of this, it  becomes  it  is  important  to  define  and  document  expectations,  as  well  as  solicit  buy‐in  from  executive  sponsors  in  the  form  of  a  steering  committee  to  ensure  adherence to the agreed on governance and resolve disputes.    

Establishing Stakeholder Commitment  Commitment from stakeholders, project sponsors and executive champions is the  key to success of the project.      In  any  project,  PM’s  first  responsibility  is  to  secure  stakeholder  and  project  champions’  commitment.  But  this  commitment  may  not  last  the  life  of  the  project. Even in a project managed inside a single company, other issues such as  higher priority projects, company finances and management turnover may delay  or kill the project.    It falls upon the project manager to keep the project in the forefront and in view  of  executive  sponsors  and  defend  the  project’s  ranking  inside  the  company’s  project  portfolio.  In  a  distributed  development  environment,  this  task  will  become  even  more  difficult  since  each  company  has  its  own  agenda  and  set  of  problems.  Also,  the  PM  may  not  have  immediate  access  to  other  companies’  executive teams.     Given  the  difficulties  of  managing  teams  belonging  to  different  companies,  the  key  to  success  of  multi‐vendor  projects  is  securing  and  maintaining    the  executive sponsors’ commitment to the project and continually drive the project  from  this  top‐down  point  of  view.    The  PM  should  set  a  regular  schedule  to  communicate  with  the  executive  steering  committee  and  champions,  and  make  sure  that  the  conditions  of  their  initial  agreement  still  hold,  and  discuss  and  resolve  any  new  information  that  could  lead  to  reduced  commitment  in  the  future.    These  communications  are  also  important  for  setting  and  managing  expectations. The PM must provide regular updates, and clearly understand and  communicate  each  company’s  deliverables  and  time  lines  and  be  able  to  gain  commitment from executive sponsors.      As  an  example  of  one  such  project  that  some  OSA  members  are  currently  undertaking, a “Front Office Suite” that includes CRM, Business Intelligence and  Instant  Messaging  products,  we  have  been  able  to  achieve  this  interaction  through  the  OSA  project  activities.    In  this  fashion,  the  OSA  has  served  as  a  venue  in  which  stakeholders  can  regularly  interact  and  reconfirm  expectations  and commitments related to this project.  In the absence of such structure, the PM  may  need  to  arrange  for  regular  meetings  with  the  sponsors  and  face  to  face  meetings when possible    

3.

Regular Communications 

Clearly, in addition to keeping executive stakeholders informed, the project itself  must proceed, and must concern itself with details at a much lower level than the  executive  stakeholders  need  to  be  exposed  to.      We  don’t  propose  anything  different than what is normally done for distributed project management, which  includes:  • Conference  calls  to  report  status  to  and  solicit  feedback  from  the  project  participants  at  regular  intervals.    (Weekly,  bi‐weekly,  or  whatever  the  team mutually agrees to.)  • A  shared  collaboration  infrastructure,  such  as  a  common  website,  wiki,  blog,  document  repository,  or  whatever  helps  the  project  participants  share information and  keep each other up to  date  in  between  conference  calls.  • Email lists or other means of “pushing” new information out in real‐time.    4.

The Business Case 

Companies  will  typically  enter  into  a  multi‐vendor  agreement  thru  their  executives who see a common strategic objective, competitive threat or customer  requirements.    Therefore  each  executive  will  have  great  deal  invested  in  the  success of the project.     A  strong  business  case,  aligned  with  company’s  roadmap  and  vision,  is  critical  for  establishing agreement  amongst  the various companies’ executive  sponsors.  The  bigger  and  more  complicated  the  project  is,  the  more  attention  should  be  made to the strength of the business case. The business case should include the  following:  • Market  data  and  customer  input  pointing  to  the  need  for  the  target  product, and why a multi‐vendor approach is preferred  • Market requirements and use cases  • Justification  for  project  timeline  and  completion  date  (e.g.  a  window  of  opportunity in which the product must be released, else a competitor will  claim “first mover advantage”)  • Justification  for  why  “business  as  usual”  (i.e.  the  respective  companies  merely  continuing  to  enhance  their  respective  products  on  their  own)  is  not sufficient.  This can take two forms:  o A  “customer  value”  argument,  such  as  pre‐integrated  product  being  easier  to  deploy  and  use,  and  consequently  more  customers  would be willing to pay for it. 

o A  “cost  savings”  argument,  such  as  an  interoperability  feature  having to be built only once when each company would otherwise  “reinvent the wheel” themselves.    While  the  business  case  is  usually  composed  by  marketing  or  product  management, the PM must have a thorough understanding of the business case.   Most PMs will sooner or later face the prospect of their project losing executive  support. This could be either because a “bigger and hotter” project/issue/bug has  taken  precedence  or somehow  the  executive  commitment  has  wavered  in  favor  tactical priorities facing each individual business. In these cases, the PM can re‐ gain support for the project by pointing to the business case and discussing the  long and short term benefits of the project to each individual company.     It is best for a PM not to assume knowledge of this information but rather obtain  it  directly  from  individual  companies’  marketing  and  product  management  teams.    Quantified  data  is  best,  in  the  form  of  marketing  survey  results,  direct  customer input, analyst data and so forth.  5.

The “Overlay” Project 

The most efficient way to think of multi‐vendor projects is in terms of a master  “overlay”  project,  with  individual  companies’  deliverables  being  managed  through  internal  means.    In  other  words,  there  should  exist  a  “public”  set  of  high‐level commitments and milestones, with individual companies “privately”  managing  their  internal  resources  to  deliver  against  those  commitments.      The  “public”  milestones  can  be  used  to  manage  expectations  at  the  executive  level,  without  requiring  micro‐management  of  details  at  the  individual  contributor  level.    We  assert  that  the  best  way  of  managing  the  “overlay”  project  is  with  basic  waterfall  methodology.  The  advantage  of  the  waterfall  is  that  it  easily  demonstrates  milestone  targets  and  sets  expectations  well  in  advance.    It  is  important,  however,  not  to  involve  too  much  detail  at  this  level.    Waterfall  methodologies  have  become  increasingly  unpopular  in  recent  years,  coincident  with increasing size and complexity of software projects in the face of ever‐more‐ rapidly changing requirements and market conditions. No one person can be so  prescient so as to have all details planned up front that account for every possible  change in requirements along the way.  Consequently, more agile methodologies  that  allow  for  making  course‐corrections  during  a  project  have  become  more  popular.    However,  waterfall  isn’t  inherently  wrong;  instead  the  challenge  of 

waterfall grows with the level of detail one attempts to manage.  Maintaining a  waterfall  project  at  a  high  enough  level  of  abstraction,  with  a  small  number  of  target milestones, e.g. “beta code freeze happens on this date”, can work as long  as  there  is  flexibility  in  the  details  of  features  and  other  trade‐offs  within  each  milestone.    The  “private”  subprojects  can  be  managed  in  any  methodology  suited  to  the  given  companies  as  long  as  the  target  dates  are  met.    Companies  that  have  adopted  agile  methodologies  can  certainly  use  them  for  managing  their  own  deliverables,  as  long  as  they  fit  within  the  milestone  dates  set  for  the  overlay  project.  In fact, we recommend agile methodologies because they allow for more  real‐time  course  corrections  and  “early  warning”  of  delays  if  a  given  company  finds they must make trade‐offs in order to hit their milestone date.    We summarize our proposed methodology as follows:      Methodology  Level of  Managing trade‐offs  Abstraction  Public /  Waterfall  High‐level  Time‐based (milestone  overlay  milestones (e.g.  dates should remain  design freeze,  fixed, unless agreed by  alpha date, beta  all parties)  date, etc)  Private /  Companies’  Activities per  Feature/quality/resource  Internal  internal  individual  tradeoffs to hit  deliverables  preferences (agile  contributor  milestone dates  is preferred)    5.1.1

Requirements Phase 

The  requirements  for  a  product  can  come  from  many  sources  including  the  product and marketing group, customer and field request, familiarity of the team  with certain technology, etc. Product managers from the involved ISVs will help  define  the  final  product  requirements.    We  recommend  that  one  product  manager  “take  point”  in  aggregating  all  requirements,  “owning”  a  master  requirements  document  and  helping  resolve  conflicts  or  differences  of  opinion,  however  product  managers  of  each  company  are  responsible  for  driving  requirements into their respective product organizations.   

In  multi‐vendor  projects,  we  recommend  that  the  prioritization  process  should  favor  integration  requirements  over  new  features  that  are  core  to  individual  companies’  products.    Wherever  possible,  the  multi‐vendor  product  should  consist of functionality already available in the individual products into a larger  suite  that  adds  unique  value  because  it  is  integrated  out  of  the  box.    In  a  way,  requirements  gathering  becomes  more  like  functionality  augmentation  of  an  existing  product  than  creating  a  brand  new  product.    There  are  several  advantages to this approach:  • Keeps the project focused on the unique value of integration, with a sense  of “we can do this only if we do it together”.  Core feature development,  on  the  other  hand,  can  result  in  questioning  why  it  must  be  done  in  the  context  of  a  multi‐vendor  initiative,  e.g.  “we  can  do  this  ourselves  whenever we want”.  • Allows tying project milestones directly back to the business case, which  (if  written  correctly)  should  point  to  the  unique  value  of  an  integrated  offering.    The  one  exception  to  this  rule  is  when  a  core  feature  needs  to  be  developed  before  integrations  are  even  possible.    For  example,  “centralized  user  management” and “common search” are frequent requirements in multi‐vendor  products  and  frequently  appear  on  prospective  customers’  evaluation  criteria,  however  these  are  not  possible  without  each  vendor  having  already  implemented  user  management  and  search  functionality  in  a  programmatically  accessible  manner.    Even  here,  it  is  important  to  tie  such  feature  development  back to the overall product suite’s requirements.  5.1.1.1

Prioritizing / Agreeing upon Interoperability Requirements 

Consequently, we expect most requirements in a multi‐vendor project will be  integration requirements.  Our experience is that it is relatively easy to agree  upon common market requirements (e.g. “single signon is important”) and much  harder to agree on the implementations (e.g. which identity management  framework to use) especially if significant changes are required in individual  applications in order to implement them, or the priorities, if such changes require  a commitment of resources resulting in other unrelated but nonetheless  important business objectives not being met.  This situation can easily degenerate  into battles of will between architects and product managers in different  companies, with the unfortunate multi‐vendor project manager caught in the  middle.   

In these situations, just having a business case may not be enough, as the  challenge is implementation, not market requirements.  It helps to be able to  leverage objective third‐party recommendations, such as a standards body or de  facto best practices, as a starting point for discussion.  This helps focus attention  on neutral tangible next steps that can be refined and agreed upon without  second‐guessing motives.      The  OSA  intends  to  serve  as  such  as  third‐party.    Our  interoperability  recommendations,  including  this  document,  should  serve  as  good  “starting  points” for such discussions.  Also, these recommendations, if implemented prior  to  engaging  in  any  multi‐vendor  projects  as  a  “good  faith”  effort  to  be  more  interoperable  in  the  future,  can  dramatically  reduce  the  possibility  of  such  disputes  arising  in  the  first  place.    The  “hard  work”  of  making  products  interoperable  has  already  been  done,  and  now  they  just  need  to  be  wired  together.  5.1.1.2

ISV Inventory 

It’s important to collect an inventory of the technologies, platforms, etc. used by  each application vendor to help identify commonalities and creating the inter‐ operability road map.  Mismatches in platform support, for example, should be  understood early on and planned for.  5.1.2

Adding Product Value  

The project and product management team can use the technology inventory not  only to fill in the gaps but to provide added value to the end user. For example in  our  Front  Office  Suite,  the  business  intelligence  product  did  not  support  a  custom query language and it was tentatively planned to include it in some later  release.    But  since  this  functionality  was  an  obvious  value‐add  to  the  product,  and also requested from customers of other vendors involved in the project, the  vendor  agreed  to  move  up  their  development  to  build  this  feature  within  the  suite’s milestone dates.  5.1.2.1

Gap Analysis 

Gap analysis now becomes the main challenge of the requirement phase. The  application combination is analyzed and compared to the end‐product goal and  the gaps   ◊ Which one of the suite’s requirements already exists in one or more  applications  ◊ Which one is a “common requirement” that has to work across  applications 

◊ ◊ 5.1.2.2

What is the gap, i.e. what needs to be built within each product  Integration of different applications into one suite  MRD 

The MRD in this case is a general definition of the functionality required for the  multi‐vendor suite, and gap identification document at the same time.  As  mentioned above, one product manager should be the “owner” of this overall  document, but each companies’ product managers should own pushing their  respective requirements back to their respective organizations.  5.2 5.2.1.1

Planning Phase  Internal Planning 

The  following  plans  need  to  be  developed  within  each  company,  in  support  of  their individual deliverables:   • Resource  planning  –  Make  sure  the  right  staff  is  available  at  the  right  times  • Change Management Process – How to push change requests back to the  “overlay” project, and vice versa.  • Engineering  Plan  –  Typically  includes  functional  specs,  build  and  packaging requirements for the individual companies’ deliverables  • Test and QA Plan – Includes test cases and plans for tools and automation.   Should also include a bug database.  • Risk  Management  Plan  –  An  up‐front  understanding  of  the  highest  risks  and how to mitigate and account for them  • Support  and  Maintenance  Readiness  Plan  –  Making  sure  the  support  organization  is  ready  to  handle  cases,  and  in  particular  understands  the  integration points well enough to do effective triage.  • IT Plan – Making sure that desktops and servers and other hardware are  available for the project  • Project  schedule  –  Focused  on  company’s  individual  deliverable  to  the  “overlay” project  5.2.1.2

Joint Planning 

It  is  important  that  each  participating  vendor  clearly  understand  their  and  others’  deliverables.  We  have  found  that  creating  a  detailed  matrix  of  requirements  helps  us  clearly  identify  tasks  and  easily  assign  them  to  the  appropriate ISV members.    

The  overall  project  schedule  needs  to  be  developed  as  a  joint  effort,  with  timelines  driven  from  the  business  case,  but  each  company  is  responsible  for  delivering their results according to the joint schedule and time lines.      In our Front Office Suite project, we have created a matrix of project deliverables  based on the functionality of the final product (single sign‐on, licensing, common  UI, integration, etc.). This document is created to help each team plan and deliver  their part of the project and is posted and regularly updated on a project web site  readily accessible by all participating vendors.    In  large  multi‐vendor  projects,  it  may  make  sense  to  create  sub‐multi‐vendor  projects  the  deal  with  each  functionality  area.    It  is  important  to  establish  clear  boundaries, both in terms of market requirements and implementation, in order  for  this  to  work  effectively.    This  may  result  in  its  own  additional  product  requirements, e.g. adopting web services standards to make the distinct modules  easier to develop and integrate in a loosely‐coupled way.    Other examples of the plans the need to be jointly developed are plans for  Test/QA of final product, Sales, Documentation, Joint Go‐To‐Market Plan, and  Joint Support Plan.    5.3

Resource Planning 

Each  company  should  assign  the  team  members  working  on  the  project.  The  team should include a product and project manager, developers, an architect and  marketing  team  members.    Wherever  possible,  one  person  from  each  function  (product  management,  project  management,  engineering,  QA,  marketing,  support)  should  be  on  point  for  their  respective  company,  to  minimize  the  complexity of coordinating across companies.     Also, when possible each participant should dedicate a minimum percentage of  their time to the project. This may not be possible for the smaller companies, in  which  case  the  PM  needs  to  understand  those  companies’  priorities.    It  is  important  that  the  PM  should  be  able  to  contact  the  executive  sponsors  and  request  either  dedicated  resources  or  more  time  from  the  dedicated  resource.   Again  the  commitment  to  the  project  may  lessen  when  there  are  obvious  resource  constraints  that  may  affect  the  release  schedule.  These  times  must  be  clearly noted in the constraints and risks sections of project plan and reflected in  the final project schedule to insure the accuracy of the project. 

  Since  unusual  events  such  as  major  bugs  or  security  issues  can  not  be  easily  forecasted, it is always a good idea to include some buffer or risk to the schedule  (when possible).  5.4

Test & QA Planning 

The individual application providers will be responsible for a series of tests.  These tests must be planned and agreed upon by all application providers. There  also has to be a set of pre‐planned test for the final product which must be  developed.    The QA  bug‐track, bug‐fix and bug‐rating definitions must be agreed upon in  advance by all parties; e.g. which are show stopper bugs and which can be fixed  in next releases, etc.    Another important item is the bug fix SLA, how long can an individual  application provider take to fix the bugs before affecting the schedule for the  release.    6.

Change Management 

Change management in this context only applies to the over all project (for  example, project milestone dates) and not to the contents of individual  companies’ deliverables.   It should be up to each individual company to make  intelligent trade‐offs within the spirit of the overall project and that allows them  to meet dates.  If a trade‐off seems painful, that company should inform the  overall PM, who can then decide whether it makes sense to initiate this change  management process (to either delay the date or agree that a feature isn’t needed,  for example).  6.1

Change Review Team 

Change review team members  • Marketing   o Product managers responsible for the product and owning related  features  o Project Manager responsible for the multi‐vendor product  • Engineering  o VPs or lead architect  o Lead engineer(s) responsible for the given feature(s) 



6.2

o Engineering Project Managers  o QA, if the issue is quality related  Support  o Designated support team member, if the issue is supportability‐ related 

Suggested Change Management Process 

  Any changes or diversions from the project Plan/Schedule is subjected to the  following process:  1. Requestor will inform the multi‐vendor project manager of the requested  change  2. Project manager is responsible for setting up the change review team  meeting    3. Project manager is responsible for end to end effect analysis on the project    4. Project manager and the requestor will present the change request and the  effects of the change to the review team  5. If approved the project manager will enter the approved changes in the  project plan  6. Project manager is responsible for entering the request and the resulting  decision in the project log  7. Project manager is responsible for archiving the project logs and  answering any subsequent questions regarding the change  8. Project manager is responsible for informing and resetting expectations  with executive champions, as needed  7.

Conclusions 

Although  multi‐vendor  project  management  poses  certain  difficulties,  it  also  provides  great  rewards.    The  excitement  of  working  on  new  an  exciting  functionality  make  possible  only  through  collaboration  should  certainly  outweigh the challenges.    The PM must however walk an even tighter rope as far as balancing the needs of  the  project  vs.  maintaining  positive  relationships  with  key  stakeholders.    The  project  manager  is  much  more  visible  in  the  case  of  multi‐vendor  projects  and  short  lapses  of  judgment  can  not  only  damage  the  project  but  can  possibly  damage  the  relationships  between  companies.    Identifying  senior  project  managers  that  have  experience  in  relations  between  companies  (e.g.  business  development) is key to success.