[{"data":1,"prerenderedAt":489},["ShallowReactive",2],{"insight-two-week-discovery-deliverables":3,"insights-cards":379},{"id":4,"title":5,"body":6,"category":360,"date":361,"description":362,"extension":363,"meta":364,"navigation":365,"path":366,"readingTime":367,"relatedArticles":368,"relatedAssessment":372,"relatedServices":373,"seo":376,"stem":377,"__hash__":378},"insights\u002Finsights\u002Ftwo-week-discovery-deliverables.md","Paying for a Plan, Not a Pitch: What Two Weeks of Discovery Owes You",{"type":7,"value":8,"toc":340},"minimark",[9,13,18,21,24,27,31,34,40,43,46,50,53,58,61,64,68,71,74,78,81,84,152,155,159,162,165,169,172,176,179,185,190,213,219,225,231,235,238,259,263,266,272,278,284,290,294,297,320,324,327,330,333,337],[10,11,12],"p",{},"A paid discovery is worth the fee only if what it produces would still be useful to you after you fired the firm that wrote it. If the output is a proposal with nicer formatting, you have funded someone's sales process. The standard to hold it to is simple: a set of written documents, owned by you, that a different engineering team could pick up and start building from.",[14,15,17],"h2",{"id":16},"how-discovery-got-its-reputation","How discovery got its reputation",[10,19,20],{},"Many leaders have been through the bad version. A vendor proposes a short paid phase to \"understand the business\". There are a few workshops with sticky notes. Two weeks later a slide deck arrives, and its conclusion is that you should buy the project the vendor described in the first sales call, at about the price they mentioned then.",[10,22,23],{},"Nothing in the deck was false. It also contained nothing you could use without them. No one read your code, no one queried your data, and the only risks listed were generic ones such as \"stakeholder alignment\".",[10,25,26],{},"The good version exists and looks very different. The format of the engagement is the same in both. What changes is the acceptance criterion agreed at the start.",[14,28,30],{"id":29},"agree-on-the-handoff-test-before-day-one","Agree on the handoff test before day one",[10,32,33],{},"Put one sentence into the statement of work:",[10,35,36],{},[37,38,39],"strong",{},"At the end of this engagement, a competent team that has never spoken to the authors must be able to begin the first phase of work using only the delivered documents.",[10,41,42],{},"This sentence does a lot. It defines \"done\" in a way you can check. It rules out a slide deck as the deliverable. It forces the authors to write down what they learned instead of keeping it in their heads as a hold over you.",[10,44,45],{},"It also sets up the right incentive. A firm that accepts this condition is betting that being useful is the best way to win the build. A firm that resists it is telling you their plan depends on you needing them.",[14,47,49],{"id":48},"the-five-documents","The five documents",[10,51,52],{},"Each of these should be a real document, with prose and diagrams, that you could open a year from now and still act on.",[54,55,57],"h3",{"id":56},"_1-a-map-of-what-exists","1. A map of what exists",[10,59,60],{},"Every system involved, what data each holds, how data moves between them, which integrations exist and how they work (API, file transfer, database link, a person retyping), and who owns each piece. Include the unofficial parts: the spreadsheet that finance reconciles by hand, the scheduled script on someone's desktop.",[10,62,63],{},"Almost no company has this written down in one place, and every later decision depends on it. This document stays useful even if no project follows.",[54,65,67],{"id":66},"_2-a-list-of-fixed-constraints","2. A list of fixed constraints",[10,69,70],{},"Everything that cannot change, and the reason. Contract terms with customers or vendors. Compliance obligations. A system that must stay because another department depends on it. A budget cycle. A seasonal freeze when nothing may be deployed.",[10,72,73],{},"Constraints discovered in month five are what break plans. A constraint written down in week two is just a design input.",[54,75,77],{"id":76},"_3-a-ranked-register-of-risks-and-unknowns","3. A ranked register of risks and unknowns",[10,79,80],{},"Of the five, this document gets left out more than any other, yet the fee is justified mainly by it. Reporting what was found is the easier half of discovery. The harder half is an honest list of what could not be determined in two weeks, ordered by potential impact, with a note on what it would take to find out.",[10,82,83],{},"Here is what useful entries look like, for a hypothetical project replacing an order system:",[85,86,87,106],"table",{},[88,89,90],"thead",{},[91,92,93,97,100,103],"tr",{},[94,95,96],"th",{},"Unknown",[94,98,99],{},"Why it matters",[94,101,102],{},"Possible impact",[94,104,105],{},"Cost to resolve",[107,108,109,124,138],"tbody",{},[91,110,111,115,118,121],{},[112,113,114],"td",{},"The ERP's order API has no documented way to update an order after release",[112,116,117],{},"The redesign assumes orders can be amended",[112,119,120],{},"A different integration approach, several added weeks",[112,122,123],{},"Two-day spike against the vendor's test environment",[91,125,126,129,132,135],{},[112,127,128],{},"About a quarter of customer records appear to be duplicates",[112,130,131],{},"Migration and reporting depend on one record per customer",[112,133,134],{},"A cleanup effort that needs business decisions per case",[112,136,137],{},"One week of profiling plus rules agreed with sales operations",[91,139,140,143,146,149],{},[112,141,142],{},"Nobody on staff knows how tax is calculated for one product line",[112,144,145],{},"The logic is in a stored procedure written by a former employee",[112,147,148],{},"Wrong invoices if reimplemented incorrectly",[112,150,151],{},"Three days of code reading and a comparison against historical invoices",[10,153,154],{},"Each entry names something specific, says what depends on it and prices the investigation. Compare that with \"integration complexity: medium\".",[54,156,158],{"id":157},"_4-a-sequenced-plan","4. A sequenced plan",[10,160,161],{},"What gets built first, second and third, why in that order, and what each step makes possible. Good sequencing puts the riskiest assumption and the earliest usable value near the front. Each phase should end at a point where you could stop and keep something that works.",[10,163,164],{},"The plan should come with an estimate that is honest about its precision: a firm figure or tight range for the first phase, wider ranges for later ones, and the assumptions behind each written next to the number.",[54,166,168],{"id":167},"_5-a-decision-log","5. A decision log",[10,170,171],{},"Every significant choice made during the two weeks: what was decided, which alternatives were considered and why they were set aside. \"We recommend keeping the existing warehouse system and integrating with it, instead of replacing it, because...\" is the kind of entry that saves you from reopening the same argument four months later with people who were not in the room.",[14,173,175],{"id":174},"what-the-two-weeks-should-look-like","What the two weeks should look like",[10,177,178],{},"Documents of that quality come out only if the team actually goes looking. This is a reasonable shape for the ten working days.",[10,180,181,184],{},[37,182,183],{},"Days 1 and 2: access and orientation."," Read-only access to repositories, databases and existing documentation should be arranged before the start date. The team meets the sponsor and learns what the business is trying to achieve and what would count as success.",[10,186,187],{},[37,188,189],{},"Days 3 to 5: primary sources.",[191,192,193,201,207],"ul",{},[194,195,196,200],"li",{},[197,198,199],"em",{},"Read the code."," Documentation tells you what someone intended at the time of writing. The code tells you what happens today. When the two conflict, the code is the truth, because the code is what runs.",[194,202,203,206],{},[197,204,205],{},"Query the data."," Count nulls in fields that are supposedly required. Count duplicates. Look for values that the application claims to prevent. A migration estimate produced without profiling the data is a guess.",[194,208,209,212],{},[197,210,211],{},"Interview operators, not only sponsors."," The person who restarts the nightly job knows which error is routine and which one means trouble. The accounts clerk knows which report nobody trusts. That knowledge is in no document.",[10,214,215,218],{},[37,216,217],{},"Days 5 to 7: test the riskiest assumption."," Suppose everything downstream relies on one integration responding as expected: the team should prove that with real calls, which rarely takes more than a day or two. This technical spike is what separates discovery from a reading exercise. An assumption that fails in week one costs a day. The same failure in month three costs a redesign.",[10,220,221,224],{},[37,222,223],{},"Days 8 and 9: synthesis."," Draft the five documents, sequence the plan, build the estimate.",[10,226,227,230],{},[37,228,229],{},"Day 10: review with you."," The team walks you through the findings, you challenge them, and corrections are made before the final delivery.",[14,232,234],{"id":233},"what-you-have-to-bring","What you have to bring",[10,236,237],{},"A discovery can fail on the client side too. Three things are needed from you.",[239,240,241,247,253],"ol",{},[194,242,243,246],{},[37,244,245],{},"Access, ready on day one."," If credentials take a week to arrange, you have paid for half a discovery.",[194,248,249,252],{},[37,250,251],{},"Time from the right people."," A few hours each from the operators and system owners, scheduled in advance.",[194,254,255,258],{},[37,256,257],{},"One person with authority."," Someone who can answer \"which of these two goals wins?\" during the engagement, not after it.",[14,260,262],{"id":261},"what-discovery-cannot-do","What discovery cannot do",[10,264,265],{},"Being clear about the limits protects both sides.",[10,267,268,271],{},[37,269,270],{},"A firm quote for the entire project is out of reach while real unknowns remain."," The honest output is a committed figure for phase one, plus low and high bounds for everything after it, with assumptions stated. If someone turns ten days of investigation into a single firm figure for a year of work, they have added a risk premium to cover what they do not know, and you are paying that premium whether or not the risks occur.",[10,273,274,277],{},[37,275,276],{},"It cannot settle a disagreement inside your company."," If sales wants flexibility and finance wants control, a good discovery will lay out that conflict clearly, with the cost of each option. It will not resolve it. That takes a decision from someone with the authority to make it.",[10,279,280,283],{},[37,281,282],{},"It cannot replace building."," Some questions are answered only by writing the software and putting it in front of users. The right response is a named experiment in the first phase of the plan, not a longer discovery.",[10,285,286,289],{},[37,287,288],{},"It cannot remove risk."," Ten working days will get you a map of the system and an ordered list of what is uncertain. Making that uncertainty disappear takes far longer. If a discovery ends with complete confidence and no open questions, the team did not look hard enough. Treat an empty risk register as a warning sign.",[14,291,293],{"id":292},"how-to-judge-what-you-received","How to judge what you received",[10,295,296],{},"When the documents arrive, run through these checks.",[191,298,299,302,305,308,311,314,317],{},[194,300,301],{},"Could another firm start phase one from this alone? Ask one of your own engineers to read it cold.",[194,303,304],{},"Did you learn something about your own systems that nobody on your team knew?",[194,306,307],{},"Does the risk register include items that are inconvenient for the authors, such as reasons the project might be smaller than proposed, or might not be worth doing?",[194,309,310],{},"Was something actually tested, with results shown?",[194,312,313],{},"Does every estimate have its assumptions beside it?",[194,315,316],{},"Does the plan deliver something usable before the final phase? If value appears only at the very end, what you hold is a single all-or-nothing wager dressed up with checkpoints, not a sequence.",[194,318,319],{},"Is at least one recommendation \"do not build this part\" or \"buy this instead\"?",[14,321,323],{"id":322},"after-the-two-weeks","After the two weeks",[10,325,326],{},"A good discovery leaves you with choices. You can proceed with the same firm, take the plan to others for competing quotes, hand it to your internal team or decide not to proceed at all. All four are legitimate outcomes, and the fourth can be the most valuable one.",[10,328,329],{},"If the project replaces a system that has to keep running during the transition, the plan should identify the first slice to carve off and route around the old system, in the style of a strangler fig migration, instead of proposing one cutover date.",[10,331,332],{},"If you are still choosing a vendor, the discovery is also the best evaluation tool you have. You get to see how a team thinks, on your own problem, for a small part of the total budget.",[14,334,336],{"id":335},"would-your-last-discovery-pass-the-handoff-test","Would your last discovery pass the handoff test?",[10,338,339],{},"Trivo's Two-Week Discovery costs a fixed $7,500, credited in full toward the build if you continue with us. The written plan is yours either way: system map, constraints, ranked risks, sequenced plan and decision log, ready for any team to use.",{"title":341,"searchDepth":342,"depth":342,"links":343},"",2,[344,345,346,354,355,356,357,358,359],{"id":16,"depth":342,"text":17},{"id":29,"depth":342,"text":30},{"id":48,"depth":342,"text":49,"children":347},[348,350,351,352,353],{"id":56,"depth":349,"text":57},3,{"id":66,"depth":349,"text":67},{"id":76,"depth":349,"text":77},{"id":157,"depth":349,"text":158},{"id":167,"depth":349,"text":168},{"id":174,"depth":342,"text":175},{"id":233,"depth":342,"text":234},{"id":261,"depth":342,"text":262},{"id":292,"depth":342,"text":293},{"id":322,"depth":342,"text":323},{"id":335,"depth":342,"text":336},"Strategy","2026-10-12","A paid discovery should leave you with documents another team could build from. The five deliverables, the work behind them and the limits to expect.","md",{},true,"\u002Finsights\u002Ftwo-week-discovery-deliverables",10,[369,370,371],"custom-software-cost-framework","evaluating-engineering-depth","strangler-fig-modernization","legacy-risk",[374,375],"custom-software","modernization",{"title":5,"description":362},"insights\u002Ftwo-week-discovery-deliverables","hYdb9oQNk1yPYazA7fS0hjRQgNZTlws5tjGbf99Jr4M",[380,386,393,398,403,408,416,421,426,431,436,443,448,454,460,466,472,477,482,487],{"path":381,"title":382,"description":383,"category":360,"readingTime":384,"relatedServices":385,"date":361},"\u002Finsights\u002Fbuild-vs-buy","The License Fee Is the Small Number: A Working Guide to Build or Buy","Buying software is usually right, until the product sits on top of how you make money. How to sort capabilities, price the hidden costs and decide.",9,[374,375],{"path":387,"title":388,"description":389,"category":390,"readingTime":384,"relatedServices":391,"date":361},"\u002Finsights\u002Fcloudflare-observability","The Cloudflare Signals You Need Wired Up Before Something Breaks","Cloudflare records plenty by default. Whether a person hears about a problem in time depends on choices made in a quiet week, not mid-outage.","Cloudflare",[392,375],"cloudflare",{"path":394,"title":395,"description":396,"category":390,"readingTime":384,"relatedServices":397,"date":361},"\u002Finsights\u002Fcloudflare-performance-tuning","After the Static Assets: Where Cloudflare Performance Is Actually Won","Default caching handles images, CSS and JavaScript. The larger gains sit in HTML, API responses, cache keys and origin trips that nobody tuned.",[392,374],{"path":399,"title":400,"description":401,"category":390,"readingTime":384,"relatedServices":402,"date":361},"\u002Finsights\u002Fcloudflare-waf-and-ddos","Managed Rules Know the Internet. Custom Rules Have to Know Your Application.","Cloudflare's managed WAF and DDoS rules stop generic attacks. Logins, APIs, bots and false positives still need rules written from your own traffic.",[392,374],{"path":404,"title":405,"description":406,"category":390,"readingTime":384,"relatedServices":407,"date":361},"\u002Finsights\u002Fcloudflare-zero-trust-and-integrity","Who Got In Versus What Is Running: Two Integrity Problems One Control Cannot Solve","Zero Trust verifies who reaches a system. Client-side script monitoring verifies what runs in the browser. They fail differently and need separate owners.",[392,375],{"path":409,"title":410,"description":411,"category":412,"readingTime":413,"relatedServices":414,"date":361},"\u002Finsights\u002Fcrm-adoption-and-training","Your CRM Passed Every Test and Nobody Uses It: A Diagnostic for Stalled Adoption","Low CRM adoption is rarely a training gap. How to tell whether the cause is screen friction, missing payback or management habits, and what to fix first.","CRM",8,[415],"crm",{"path":417,"title":418,"description":419,"category":412,"readingTime":413,"relatedServices":420,"date":361},"\u002Finsights\u002Fcrm-implementation-timeline","The Honest Calendar of a CRM Implementation: Five Phases and Where the Weeks Go","Provisioning a CRM takes a day. Making it the place your team sells from takes months. A phase-by-phase calendar, with the parts quotes tend to leave out.",[415,374],{"path":422,"title":423,"description":424,"category":412,"readingTime":384,"relatedServices":425,"date":361},"\u002Finsights\u002Fcrm-migration-checklist","CRM Migration Checklist: The Records Arrive, the Selling Process Gets Left Behind","A CRM migration is a process migration with a data load attached. What a plain export loses, how to choose a cutover, and a checklist for each stage.",[415,375],{"path":427,"title":428,"description":429,"category":412,"readingTime":413,"relatedServices":430,"date":361},"\u002Finsights\u002Fcustom-crm-vs-off-the-shelf","Should You Build Your Own CRM? Run the Build-or-Buy Test on Your Sales Process","Most of a CRM is a commodity you should buy. The question is whether the way you sell fits the platform's model, and what it costs when it does not.",[415,374],{"path":432,"title":433,"description":434,"category":360,"readingTime":367,"relatedServices":435,"date":361},"\u002Finsights\u002Fcustom-software-cost-framework","Estimate Before the Estimate: Sizing a Custom Software Budget on Your Own","You can't know the price before a quote, but you can know what drives it. Six cost drivers, a self-check worksheet and how to read a proposal.",[374],{"path":437,"title":438,"description":439,"category":440,"readingTime":384,"relatedServices":441,"date":361},"\u002Finsights\u002Fetl-vs-elt","Transform before or after loading? A practical ETL versus ELT decision for mid-sized teams","ETL or ELT is a question of where transformation runs and who pays for it. A practical way for a mid-sized team to choose, with the costs most plans miss.","Data",[374,442],"ai-automation",{"path":444,"title":445,"description":446,"category":360,"readingTime":367,"relatedServices":447,"date":361},"\u002Finsights\u002Fevaluating-engineering-depth","Ask About the Outage: How to Vet a Software Vendor's Real Engineering Ability","Portfolios and logos look the same from every vendor. The interview questions, artifacts and deal-breakers that show who has really run software in production.",[374,375],{"path":449,"title":450,"description":451,"category":452,"readingTime":367,"relatedServices":453,"date":361},"\u002Finsights\u002Fhipaa-business-associate-agreement","A BAA Is a Contract, Not a Badge: What Your Software Vendor Is Really Signing Up For","What a HIPAA Business Associate Agreement commits a software vendor to, what it leaves unproven, and what to ask and build before PHI reaches the system.","Compliance",[374,442],{"path":455,"title":456,"description":457,"category":452,"readingTime":458,"relatedServices":459,"date":361},"\u002Finsights\u002Fhipaa-technical-safeguards-checklist","Reading 45 CFR 164.312 Like a Design Document: HIPAA Technical Safeguards for Engineers","The five HIPAA technical safeguard standards mapped to concrete engineering decisions: identity, logging, integrity, authentication and encryption.",11,[374,375,392],{"path":461,"title":462,"description":463,"category":464,"readingTime":384,"relatedServices":465,"date":361},"\u002Finsights\u002Flegacy-erp-anticorruption-layer","The ERP stays as it is: building on a decades-old system through an anti-corruption layer","How to build new software on an old ERP without modifying it, using an anti-corruption layer: what goes inside, how to handle writes, when to skip it.","Modernization",[375,374],{"path":467,"title":468,"description":469,"category":470,"readingTime":367,"relatedServices":471,"date":361},"\u002Finsights\u002Fllm-in-production-confidence-thresholds","An LLM that proposes and a system that decides: thresholds, review and audit for production AI","Running an LLM in production without giving it autonomy: measured confidence, thresholds set by business cost, human review that works, an audit trail.","AI",[442,374],{"path":473,"title":474,"description":475,"category":360,"readingTime":384,"relatedServices":476,"date":361},"\u002Finsights\u002Fnearshore-offshore-onshore-cost","Cheap Hours, Expensive Projects: Pricing US, Nearshore and Offshore Teams Honestly","The hourly rate tells you little about what a project will cost. How overlap, rework, turnover and compliance change the math for each delivery model.",[374],{"path":478,"title":479,"description":480,"category":470,"readingTime":384,"relatedServices":481,"date":361},"\u002Finsights\u002Frpa-vs-api-integration","Bots on the screen or calls to the API: where RPA earns its place and where it becomes debt","RPA and API integration solve the same problem at different layers. How to choose, what screen automation really costs, and how to run it safely if you must.",[442,374],{"path":483,"title":484,"description":485,"category":464,"readingTime":384,"relatedServices":486,"date":361},"\u002Finsights\u002Fstrangler-fig-modernization","Replace the legacy system in slices: a working guide to the strangler fig pattern","How to retire a legacy system piece by piece while the business keeps running: the facade, the first slice, parallel runs, and when the pattern fails.",[375,374],{"path":366,"title":5,"description":362,"category":360,"readingTime":367,"relatedServices":488,"date":361},[374,375],1792618973218]