Treating Content Migration Like a Real Project
I was reading the excellent Web Site Migration Handbook by our good friend and colleague David Hobbs -- and a quick Twitter exchange with him got me thinking about the importance of testing and QA in migration.
Most organizations do not undertake a migration effort with the rigor and discipline that they normally would for a software project. The result is often a failed migration. You should treat a content migration project like any other major software project in terms of execution. What this means is that you should deploy a proper methodology for implementing migrations.
A typical software development methodology has the following phases at a high level:
- Analysis
- Design
- Implementation
- Testing
- Deployment
The following table maps the activities that you carry out in a software development phase with the activities that should be carried out for a migration project. Remember though that depending on your chosen methodology, there may often be some overlap of activities between different project phases. As an example, a prototype or a PoC will usually start in the Design phase but will continue even in the implementation phase. Also, the table does not map all the possible activities but only high level ones in an attempt to map them with a formal SDLC.
Activities in Software Development | Activities in Migration |
Requirement Analysis Functional Specifications |
|
Architecture Design High Level Design Low Level Design |
|
Implementation Coding Unit Testing |
|
System Testing Integration Testing Regression Testing User Acceptance Testing |
|
Deployment |
|
Depending on whether you use Waterfall, Iterative, RUP, Agile or some other methodology, there will be variations in the way you carry out some of the migration activities. However, the point is that you should treat content migration just like you would treat any other project and give it the respect it deserves.