[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-post-retro-of-a-failed-project-en":3,"blog-adjacent-retro-of-a-failed-project-en":29,"blog-related-retro-of-a-failed-project-en":64},{"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},15,"retro-of-a-failed-project","A Full Post-Mortem of a Project We Should Not Have Taken","Vague requirements, seven decision makers and a budget nowhere near the expectation. The project failed in slow motion.","\u003Cp>In 2021 we took on an internal management platform: a budget of three hundred thousand yuan and the expectation of a complete ERP. Seven months later we had delivered a third of the scope, nobody was satisfied, and the final payment took a year.\u003C\u002Fp>\n\u003Ch2>Three warning signs we ignored\u003C\u002Fh2>\n\u003Cp>The first meeting had seven attendees. Each claimed to represent the requirements, none could decide.\u003C\u002Fp>\n\u003Cp>The reference system was a large group&#39;s in-house platform with more than two hundred features.\u003C\u002Fp>\n\u003Cp>The contract had no acceptance criteria, only one sentence about meeting business needs.\u003C\u002Fp>\n\u003Ch2>What changed afterwards\u003C\u002Fh2>\n\u003Cp>We added a paid discovery phase, billed hourly. Even if the deal falls through, the problem gets named.\u003C\u002Fp>\n\u003Cp>When budget and expectation clearly diverge, we offer an alternative such as starting with one business line.\u003C\u002Fp>\n\u003Cp>Every contract now carries an acceptance checklist that maps back to the quote.\u003C\u002Fp>\n\u003Cp>The failure cost about four hundred thousand yuan and produced the intake process we use today. Some tuition is only paid once.\u003C\u002Fp>","","blue","佳益方圆团队","2026-08-08T14:05:00+08:00",1,false,[16,17,18],"Startup","Failure","Retrospective",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":10,"kind":26,"sortOrder":27,"count":21},6,0,"founder-notes","Founder Notes","Reflections from the founding team on business, management and product, documenting the growth of a software company.","pen-tool","article",10,{},{"previous":30,"next":47},{"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":41},113,"xinchuang-adapter-cost","The Real Cost of Xinchuang Adaptation","Migrating to domestic hardware and software costs more than the quote; half of it hides in details.","slate","2026-08-10T14:05:00+08:00",[38,39,40],"Industry Watch","Xinchuang","Migration",{"id":42,"parentId":21,"slug":43,"name":38,"description":44,"icon":45,"cover":9,"tone":10,"kind":26,"sortOrder":46,"count":21},5,"industry-watch","In-depth analysis of internet, software and digital industry trends with our own point of view.","globe",20,{"id":48,"slug":49,"title":50,"excerpt":51,"content":9,"cover":9,"tone":52,"author":11,"publishedAt":53,"updatedAt":53,"readingMinutes":13,"featured":14,"tags":54,"category":58},36,"gray-release-for-smb","Gray Releases for Small and Mid-Sized Projects","Without heavy infrastructure, simple techniques still keep release risk under control.","cyan","2026-08-06T15:18:00+08:00",[55,56,57],"Releases","Operations","Risk",{"id":13,"parentId":21,"slug":59,"name":60,"description":61,"icon":62,"cover":9,"tone":10,"kind":26,"sortOrder":63,"count":21},"engineering","Engineering","Hands-on engineering practices in architecture, performance optimization, AI integration and cross-platform delivery from our R and D team.","cpu",60,[65,74,84],{"id":27,"slug":66,"title":67,"excerpt":68,"content":9,"cover":9,"tone":10,"author":11,"publishedAt":69,"updatedAt":69,"readingMinutes":13,"featured":14,"tags":70,"category":73},"quote-by-scope-not-hours","Why We Quote by Scope, Not by Man-Days","Man-day pricing looks fair, but it pushes every uncertainty onto the client. We would rather agree on scope and assumptions first, then talk about money.","2026-10-07T09:00:00+08:00",[16,71,72],"Pricing","Partnership",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":10,"kind":26,"sortOrder":27,"count":21},{"id":75,"slug":76,"title":77,"excerpt":78,"content":9,"cover":9,"tone":52,"author":11,"publishedAt":79,"updatedAt":79,"readingMinutes":13,"featured":14,"tags":80,"category":83},11,"three-lessons-from-first-client","Three Lessons From Our First Client","Our first project in 2019 was worth thirty thousand yuan and taught us more about contracts, acceptance and honesty than any course.","2026-09-25T10:13:00+08:00",[16,81,82],"Client","Contract",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":10,"kind":26,"sortOrder":27,"count":21},{"id":85,"slug":86,"title":87,"excerpt":88,"content":9,"cover":9,"tone":89,"author":11,"publishedAt":90,"updatedAt":90,"readingMinutes":13,"featured":14,"tags":91,"category":94},12,"choosing-clients-not-deals","Choosing Clients Matters More Than Choosing Projects","The same contract can grow a team or drain it. We now screen clients with three questions.","indigo","2026-09-13T11:26:00+08:00",[16,92,93],"Clients","Judgement",{"id":20,"parentId":21,"slug":22,"name":23,"description":24,"icon":25,"cover":9,"tone":10,"kind":26,"sortOrder":27,"count":21}]