Problems & solutions · Custom Software

Degree Audit Software Problems: The 7 That Cost Students a Term, and How to Avoid Them

Degree Audit Software code editor and API illustration showing common problems and fixes.
The short answer

The most expensive failure in this category is a requirement rule that is encoded slightly wrong and then reads green for two or three years, because nobody discovers it until a student sits down in week three of their final term and learns they are one course short. That single defect costs the student a term of tuition and living expenses, costs you a complaint, a fee refund conversation and an appeal, and puts you in the uncomfortable position of explaining why the institution's own system told a student they were on track. Multiply by every student affected by the same rule and it stops being an advising problem and becomes a financial and reputational one.

Why does the requirement encoding scope keep getting underestimated?

Almost every degree audit project is scoped as if a requirement were a list of courses with a credit total. Requirements are not lists. A single block routinely reads as nine credits from this group, of which at least six must be upper division, no more than three from any one discipline, excluding anything already used for the general education distribution, with a minimum grade in each, subject to a residency rule about how much of the major must be taken here. Then you multiply that by every major, minor, concentration, certificate and catalog year in force.

Teams that miss this build a checker rather than an engine. It works beautifully on the twelve programmes used during discovery and then meets a professional accreditation driven curriculum in engineering or nursing where the sequencing rules interlock, and the model runs out of expressiveness. The response is usually a hard coded special case, and once there are forty special cases the system is no longer a rules engine, it is a codebase only one developer understands.

The fix is to prove expressiveness before you commit. Pick your five most awkward programmes, not your five cleanest, and require the developer to express those requirements in the proposed model during the proposal phase, on a whiteboard, in front of your curriculum staff. Include at least one double counting rule, one residency rule and one rule with a grade threshold. If the model handles those five, it will handle the ordinary ones. If it handles only the ordinary ones, you will be paying for special cases for the next decade.

What goes wrong when you migrate existing encoded requirements?

The instinct is to convert. You already have hundreds of programmes encoded in Scribe or an equivalent, so the plan becomes a translation exercise from one encoding into another. This is the single most reliable way to import a decade of undocumented decisions into a brand new system without noticing.

Encoded requirements accumulate institutional memory that exists nowhere else. Somebody decided in 2016 that a particular transfer course satisfies a lab requirement. Somebody else added a condition to stop a specific double count that a department objected to. A third person built a workaround for a course renumbering that was never cleaned up. None of it is in the catalogue. All of it is load bearing, and a mechanical translation carries it forward with the reasoning stripped out, so the new system behaves oddly and nobody can say why.

The approach that works is re authoring against the published catalogue with department confirmation, treating the existing encoding as a reference rather than a source. Where the new authored version and the old encoding disagree, that disagreement is the interesting artefact: either the old system was wrong, or there is a decision your catalogue does not reflect and should. Budget for it as a curriculum project with registrar and department time in it, not as a data conversion line item, because staffing it as the latter is how a twelve week build becomes a nine month one.

Why do student information system integrations break after launch?

The audit is only as current as the enrolment, grade and catalogue data feeding it, and those feeds fail in ways that produce wrong answers rather than obvious errors. A student drops a course after the census date and the drop arrives on a different feed with a different cadence than enrolments, so for a few days the audit counts a course that no longer exists. A grade change flows through as a new record rather than a replacement and the engine sees two attempts. A course is renumbered between catalogues and the equivalency table is updated by hand a term later, so every student who took it under the old number stops matching.

Transfer credit is the worst of it. Equivalencies are maintained by different people from requirements, often in a separate system, and the audit depends completely on them. When one is added retrospectively, the audits that already ran are stale, and an adviser opens last month's audit and reads a number that is no longer true.

The fixes are specific. Re evaluate on any event that could change an outcome, including grade changes, drops, equivalency updates and requirement version changes, rather than on a nightly schedule alone. Stamp every audit with the data as of time so an adviser can see when it was computed. Reconcile daily against the student system on record counts and flag divergence rather than assuming the feed ran. And treat course lifecycle data, meaning renumbering, discontinuation and approved successors, as a first class part of the model rather than something the equivalency table handles by accident.

What happens when exceptions and catalog year rights are not properly covered?

Every institution's real audit is the rules engine plus a large body of chair granted exceptions, and in most places those exceptions are requested by email, approved by reply, and typed in by a staff member interpreting what the chair meant. That interpretation is where the damage occurs. A substitution applied against the wrong requirement block satisfies something that was already satisfied and leaves the intended requirement open, or worse, closes a requirement the student has not actually met.

Catalog year rights fail more slowly and just as expensively. A student entering under one catalogue changes major in year three, takes a leave, and returns. Each of those events interacts with your policy differently, and if the system models catalog year as a simple pointer to a programme version, the policy lives in a staff member's head. Meanwhile a course in the original requirement list was discontinued and the approved substitution exists in a departmental memo.

The fix is to make the exception a first class object with a workflow. The adviser proposes it against a specific requirement in a specific block, the system previews exactly what changes on the audit before anyone approves, the chair approves inside the system, and the record retains who approved what and why. Then model catalog year as a right attached to the student with a recorded reason for every change, keep all requirement versions live rather than archived, and let discontinued courses resolve to approved successors automatically. The reporting that falls out of this is uncomfortable and useful: ninety substitutions granted against the same requirement in one year is not an exception pattern, it is a requirement that needs rewriting.

Should you build custom or configure what you already own?

Some institutions should not build, and the honest test is what your actual complaint is. If your complaint is that requirement encoding takes months to turn around, that is very often a staffing constraint wearing a software costume. Ellucian Degree Works can express most requirement grammar, and the reason changes are slow is usually that two people know Scribe and both have other jobs. Training or hiring a second encoder is faster, cheaper and less risky than replacing a working audit engine, and replacement is one of the riskiest projects a registrar can undertake because the errors are found by students in their final term.

The same applies to CollegeSource uAchieve. If the interface is dated but the audits are correct, an interface complaint does not justify a rebuild. And if your students are not planning in the system because the what if experience is poor, look seriously at Stellic before commissioning anything, because that is the problem it was built for and it sits alongside an existing audit engine rather than replacing it.

Build when the constraint is structural rather than operational. Exceptions are ungoverned and applied by interpretation. Your audits cannot answer cohort level questions without exporting to a spreadsheet. Your programme structures, such as competency based or non credit provision, do not fit the packaged document model at all. Two of those together make a real case. One of them on its own usually does not.

How do hidden costs get into the quote?

The first is programme count and complexity, quoted as a number when it should be quoted as a mix. Forty straightforward liberal arts programmes and forty accredited health science programmes are not the same work, and a quote that treats them identically has not looked at your catalogue.

The second is catalog years. Institutions with long completion times, part time populations or generous readmission policies carry far more live requirement versions than they expect, and every live version is a version somebody has to author and validate.

The third is the parallel run. Running the new engine alongside the existing one across your live student population and reconciling every difference is the only credible way to earn trust, and it is real work for both the developer and your staff. Quotes that omit it are quoting a build without a validation. Expect it to surface errors in your current audits too, and expect resolving those to take registrar time.

The fourth is explanation quality. Telling an adviser why a course did not count, in language that ends the conversation rather than starting an appeal, is a design effort that gets cut from scope and rebuilt under pressure after go live.

What separates a build that works here from one that fails?

The audit has to be structured data rather than a generated document. The moment it is a printable page per student, every institutional question becomes an export: which students are one course from an undeclared minor, how many need the capstone next term so you can size sections, and which students are enrolled in coursework that does not apply to their programme, which matters because federal aid is limited to applicable coursework.

The engine has to evaluate completed, in progress and planned coursework with the same rules and clear signalling of which is which, and the planner needs real course offering patterns. A plan that requires a course taught only in alternate autumns is not a plan, and a student who builds one in your system and then cannot execute it trusts nothing you show them afterwards.

Explanation is not decoration. When an adviser cannot see why a course failed to count, they keep a private spreadsheet, and once that spreadsheet exists you have two systems of record and the expensive one is losing.

Finally, settle code and data ownership before kickoff. Your encoded requirements represent decades of curriculum committee decisions, and that corpus belongs to the institution rather than inside an encoding you cannot take with you.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Only 22% of firms are 'future ready' having significantly transformed digitally; these companies show average revenue growth 17.3 percentage points and net margins 14.0 percentage points above their industry average. Source: MIT Center for Information Systems Research (MIT Sloan) (2022) →
  2. Companies in the top quartile of McKinsey's Developer Velocity Index had 2014-18 revenue growth four to five times faster than bottom-quartile peers, showing that software-building capability is a driver of business performance, not just a support function. Source: McKinsey & Company (2020) →
  3. WordPress powers 41.5% of all websites and holds 59.2% of the market among sites running a known content management system, making it by far the most-used CMS on the web. Source: W3Techs (2026) →
  4. A study (led by Prof. Pak-Lok Poon, published in Frontiers of Computer Science, 2024) reviewing decades of spreadsheet-quality research found that about 94% of spreadsheets used in business decision-making contain errors, illustrating the hidden risk of manual spreadsheet workarounds that custom software is built to replace. Source: Central Queensland University / phys.org (Prof. Pak-Lok Poon et al.) (2024) →
Varalika D. · Web Developer · Lucknow

Varalika turns design files into working pages, which involves more judgment than it sounds: spacing that holds at every screen width, states the mockup never showed, and interactions that need to feel right rather than merely function. She writes about the gap between a design and a built site.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How do we know our requirement rules are encoded correctly right now?
Run a reconciliation rather than a review. Take every student in their final year, produce the audit, and have department staff verify a sample against the catalogue by hand, concentrating on programmes with double counting rules, residency requirements and grade thresholds. Most institutions that do this find at least one systematic error affecting a cohort, and finding it before the students do is the entire point. Reviewing the encoding on its own tends to confirm what the encoder already believed.
Should we convert our existing Scribe encoding or re author the requirements?
Re author against the published catalogue with department confirmation, and use the existing encoding only as a reference. Encoded requirements accumulate undocumented institutional decisions, and a mechanical conversion carries those forward with the reasoning stripped out, so the new system behaves oddly and nobody can explain why. Where the re authored version disagrees with the old encoding, that disagreement is valuable: either the old audit was wrong or your catalogue is missing a decision it should record.
Why do audits show different results from one day to the next?
Usually because the data feeding them changed and the audit was not re evaluated, or because different feeds arrive on different cadences. Drops, grade changes and transfer equivalency updates all change outcomes, and a nightly rebuild leaves a window where the displayed audit is stale. Re evaluate on any event that could change a result, stamp every audit with a data as of time so advisers can see how current it is, and reconcile record counts daily rather than assuming the feed ran.
How should chair approved substitutions be handled?
As workflow objects rather than emails. The adviser proposes the exception against a specific requirement in a specific block, the system shows exactly what will change on the audit before anyone approves, the chair approves inside the system, and the record keeps who approved what and why. Applying substitutions by interpretation is the largest single source of audits that read correct for years and turn out not to be, because an exception landing on the wrong block satisfies the wrong thing.
Is replacing Degree Works worth the risk?
Only if your constraint is structural. If the complaint is slow turnaround on encoding changes, that is usually a staffing constraint rather than a product one, and training a second encoder is faster and far less risky than a replacement project whose errors surface for students in their final term. The stronger cases for building are ungoverned exceptions, an inability to answer cohort level questions without spreadsheets, and programme structures such as competency based provision that the packaged model was never designed to represent.
How do we validate a new audit engine before trusting it?
Run it in parallel with the existing engine across your entire live student population and reconcile every difference until each one has an explanation. Going live on a sample is not validation in this category, because the rules that break are the unusual ones and a sample selects them out. Expect the parallel run to expose errors in your current audits as well, and budget registrar time to resolve those, since they will need fixing regardless of which system you keep.
What is the most commonly missed cost in a degree audit project?
The parallel run and the curriculum time it consumes. Quotes frequently cover building the engine and omit the reconciliation that makes it trustworthy, along with the department staff hours needed to confirm re authored requirements. After that, the usual overruns are catalog year count, which is higher than most institutions assume once part time and readmitted students are included, and explanation quality, which gets cut from scope and then rebuilt under pressure once advisers start appealing results.
Why does it matter whether the audit is a document or structured data?
Because every institutional question depends on it. Structured audits let you ask which students are one course from an undeclared minor, how many need a capstone next term so you can size sections, which requirements are most often satisfied by exception, and which students are enrolled in coursework that does not apply to their programme, which is an aid applicability matter as well as an advising one. Document based audits push all of that through exports and reduce a decision system to a printing system.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
How do we get years of data out of our old system and into the new one?
Treat migration as a planned sub-project: a field-mapping document, at least one dry run on a copy of your data, then a cutover with the old system kept read-only for 30 days as a safety net. On Digital Heroes projects it consumes 10 to 15% of the budget when the old system has an export, and more when data must be pulled out screen by screen. Ask any vendor to walk you through their last migration before you sign.
We run everything on Airtable and spreadsheets. When is it time to go custom?
The switch usually makes sense when you hit one of two walls: Airtable's record caps (125,000 records per base on the Business plan) or logic the tool cannot express, like multi-step approvals with conditional pricing. There is also a simple cost signal: 25 people on Business at roughly $45 per seat per month is about $13,500 a year, forever, for a tool you are already fighting. Custom is worth it when the workflow is core to how you make money; for peripheral processes, staying on Airtable is the right call.
What should I have ready before I contact a development agency?
Three things, none of them technical: a one-page description of the problem in your own words, a list of the tools and spreadsheets the new system must replace or connect to, and a must-have versus nice-to-have split of features. Add a budget range, even a wide one, because it changes the conversation from fantasy to engineering. You do not need a formal specification; producing that is what a discovery phase is for.
Couldn't I just build my app in Bubble or another no-code tool instead of hiring an agency?
For validating an idea with real users, yes, and we tell clients that honestly. The walls come later: Bubble apps cannot be exported as code to run anywhere else, performance drops on complex data operations, and usage-based pricing climbs as you grow. A meaningful share of Digital Heroes custom builds are rebuilds of no-code MVPs that proved the business worked, which is the system operating as intended: validate cheap, then build the version that scales.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
Is custom software more secure than off-the-shelf SaaS?
Neither is secure by default; security tracks the practices of whoever builds and operates the system, not the model. SaaS gives you the vendor's certifications and patching but puts your data in a shared multi-tenant platform on their terms, while custom gives you full control over data residency, access rules, and compliance requirements like HIPAA, with the responsibility sitting with you and your agency. Before hiring anyone for a system holding sensitive data, ask for their security checklist: encryption at rest and in transit, an OWASP Top 10 review, role-based access, and a penetration test before launch.
Who can build a custom software system?

Digital Heroes builds custom software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?