In order to separate the functions you may still use some cross-functional team members.
However, it is designing and overtly stating the processes and procedures that are important.
How quickly will you respond to faults, etc in terms of ? recording them, identifying them, fixing them? And how will you ?manage? with other ?issues? ? you should be able to tell the users all of this (process/policy).
How will faults and incidents be managed ? there should be a transparent process that again you can tell the users/sponsors.
In software, for example, you may decide to live with some ?known faults? until a specific version is created. You can tell users when the next release is to be.
In infrastructure, you may decide to live with limited bandwidth to a given site, so you can tell users that certain functions will be slower because of that decision.
Your sponsors will need to know that they are getting ?value for money? (ANAO) and therefore not ?everything? they ?wish? for will be granted ? again this needs to be a point of agreement between you and your sponsors.
The difficulty that you discuss may arise because often there is no clear distinction between the GO LIVE and the DEBUG. And that DEBUG on LIVE systems runs away with itself.
The best method here is to ensure that there is, in the case of software an appropriate SDLC such as:
1. What is developed was signed off by sponsors. Prototypes were used where issues or risks arose to hit these early. Changes to what is signed off went through change control and affected/extended the budget/duration of the project. These were signed off.
2. The developed system was part of a whole business system which included business processes and procedures ? software just automated some of them ? it did not replace them
3. The whole set of new business processes, including the software are trained with users. Software training does not occur in isolation.
4. Before Go Live there is a User Acceptance Test (and there are unit tests and system tests etc before this so you know the system works).
5. Sponsors sign off on the UAT BEFORE you go live.
6. You track and measure bugs, you have a strategy to roll back if the system has too many, and you live with those rather than build fixes on a live system.
7. You group bug fixes into staged releases, which follow appropriate SDLC as noted above.
8. You gather NEW requirements and you get more funding to design and build them, gain signoff, a new set of dates and an new SDLC plan ? you DON?T just build the wish list onto your new application.
9. etc
Infrastructure (including SOE) rollouts also need appropriate Lifecycle plans, signoff, change control, UAT and handover (GO-LIVE).
So:
Your project team looks after Lifecycle up to handover (after accepted results from UAT and will a golive rollback plan). Version releases are part of this
You support team looks after all services after go live and needs a full set of standard operating procedures and service levels to which they will perform for the rest of the business.
If a team member is doing support, they are not doing project work.
If the support team requires a resource (eg programmer, tester, architect ? perhaps all of these in one person in a very small project), then they call on this resource for ?root cause analysis?
This investigation is part of the resource?s job, but affects the rest of the durations of their work on projects, and your sponsor will need to sign off on this.
This is true of both infrastructure and software development/deployment
Now ? for a full process, standard ops procedures, structure of job roles, signoff sheets etc etc, why not get me in for a short while to design, set up and communicate the rules of play
Martin O?Dea
0419614673
martin@activecom.com.au