[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-legacy-replacement-parallel-run-en":3,"blog-related-legacy-replacement-parallel-run-en":29,"blog-adjacent-legacy-replacement-parallel-run-en":63},{"id":4,"slug":5,"title":6,"excerpt":7,"content":8,"cover":9,"tone":10,"author":11,"publishedAt":12,"updatedAt":12,"readingMinutes":13,"featured":14,"tags":15,"category":19,"seoSettings":28},88,"legacy-replacement-parallel-run","Retrospective: Two Months of Parallel Running","Running old and new systems together cost extra, and prevented a potentially fatal cutover.","\u003Cp>The client&#39;s legacy system had run for eight years and the business refused a one-shot switch. We proposed a parallel period. They agreed to one month and it stretched to two.\u003C\u002Fp>\n\u003Ch2>What parallel running revealed\u003C\u002Fh2>\n\u003Cp>An undocumented rule in the old system: for returns, freight is charged at half the original order. The new system charged in full, so totals diverged.\u003C\u002Fp>\n\u003Cp>Some legacy customers had duplicate ids, and the new system&#39;s unique constraint rejected the import.\u003C\u002Fp>\n\u003Cp>During monthly closing the old system processed a cross-year adjustment the new one had no logic for.\u003C\u002Fp>\n\u003Ch2>How to organise it\u003C\u002Fh2>\n\u003Cp>Key data from both systems is compared automatically every day, alerting past a threshold.\u003C\u002Fp>\n\u003Cp>Staff enter data twice, which adds work but keeps the comparison meaningful.\u003C\u002Fp>\n\u003Cp>Differences are resolved the same day by a named owner and become input for the next iteration.\u003C\u002Fp>\n\u003Cp>Parallel running has a visible cost; a failed cutover does not. For systems carrying core business, the arithmetic is worth doing.\u003C\u002Fp>","","blue","佳益方圆团队","2026-03-11T11:54:00+08:00",1,false,[16,17,18],"Retrospective","Legacy","Cutover",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":10,"kind":26,"sortOrder":27,"count":21},3,0,"project-retrospective","Project Retrospectives","Real project records from zero to one, covering problems, solutions, lessons learned and final outcomes.","clipboard-check","article",40,{},[30,41,52],{"id":31,"slug":32,"title":33,"excerpt":34,"content":9,"cover":9,"tone":35,"author":11,"publishedAt":36,"updatedAt":36,"readingMinutes":13,"featured":14,"tags":37,"category":40},70,"gov-project-acceptance","Retrospective: Why Acceptance Took Half a Year","The system was live for months while acceptance stalled. The causes were documents, process and communication, not software.","indigo","2026-10-13T09:00:00+08:00",[16,38,39],"Government","Acceptance",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":10,"kind":26,"sortOrder":27,"count":21},{"id":42,"slug":43,"title":44,"excerpt":45,"content":9,"cover":9,"tone":46,"author":11,"publishedAt":47,"updatedAt":47,"readingMinutes":13,"featured":14,"tags":48,"category":51},71,"mes-integration-retro","Retrospective: Integrating ERP With MES","The hard part of integration is not the interface, but getting two departments to agree on what a field means.","cyan","2026-10-01T10:13:00+08:00",[16,49,50],"Manufacturing","Integration",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":10,"kind":26,"sortOrder":27,"count":21},{"id":53,"slug":54,"title":55,"excerpt":56,"content":9,"cover":9,"tone":57,"author":11,"publishedAt":58,"updatedAt":58,"readingMinutes":13,"featured":14,"tags":59,"category":62},72,"cross-border-site-retro","Retrospective: Traffic Arrived, Enquiries Did Not","Ads ran normally after launch but enquiries stayed low. The review found trust and form friction were the blockers.","teal","2026-09-19T11:26:00+08:00",[16,60,61],"Cross-border","Conversion",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":10,"kind":26,"sortOrder":27,"count":21},{"previous":64,"next":81},{"id":65,"slug":66,"title":67,"excerpt":68,"content":9,"cover":9,"tone":57,"author":11,"publishedAt":69,"updatedAt":69,"readingMinutes":13,"featured":14,"tags":70,"category":74},68,"onboarding-design","Onboarding: Make the First Use Successful","The goal is not to introduce every feature, but to get the user through one task with a real outcome.","2026-03-13T11:54:00+08:00",[71,72,73],"Onboarding","New Users","Product Design",{"id":75,"parentId":21,"slug":76,"name":77,"description":78,"icon":79,"cover":9,"tone":10,"kind":26,"sortOrder":80,"count":21},2,"product-thinking","Product Thinking","Requirement analysis, user experience and product design methods, plus the thinking from business problems to product solutions.","lightbulb",50,{"id":82,"slug":83,"title":84,"excerpt":85,"content":9,"cover":9,"tone":35,"author":11,"publishedAt":86,"updatedAt":86,"readingMinutes":13,"featured":14,"tags":87,"category":91},107,"bad-interview-questions","Some Bad Interview Questions","Some questions look professional but measure nothing.","2026-03-09T11:54:00+08:00",[88,89,90],"Team Culture","Interviews","Hiring",{"id":92,"parentId":21,"slug":93,"name":94,"description":95,"icon":96,"cover":9,"tone":10,"kind":26,"sortOrder":97,"count":21},4,"team-culture","Team and Culture","Company events, tech sharing, team building and hiring culture that show the daily life of the Jiayifangyuan team.","users",30]