SShortSingh.
Back to feed

Rewrite or Refactor: How Enterprises Should Approach Legacy Software Modernisation

0
·16 views

Enterprise engineering teams in 2026 face a critical choice between refactoring existing code and fully rewriting legacy systems, each carrying distinct cost and risk profiles. Outdated software can limit feature development, expose security vulnerabilities, and drive up hosting costs due to inefficient resource use. Refactoring is considered the lower-risk path, best suited for systems with stable database schemas that suffer from performance bottlenecks or poor test coverage. A full rewrite, while offering clean architecture and freedom from technical debt, carries high upfront costs, lengthy timelines, and significant data migration risks. Experts, including software pattern authority Martin Fowler, recommend treating ground-up rewrites as a last resort, favouring incremental approaches such as the Strangler Fig pattern to modernise systems step by step.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Catching Missing .env Variables and Config Drift Before Production Deploys

Adding a key to a local .env file without mirroring it in .env.example or the deployment environment can go unnoticed until production fails with a KeyError or empty value. Stale variables also build up in templates, making required settings hard for new developers to identify. The article proposes treating configuration drift as a build failure instead of a passive warning. It introduces the zero-dependency envdoctor-cli tool, which compares .env against .env.example, exits non-zero on mismatches, and can add masked placeholders for missing keys. An AST-based audit of os.getenv and os.environ calls is also recommended to catch undocumented variables, and running these checks in CI on each pull request is advised.

0
ProgrammingDEV Community ·

Why an AWS Bill Rises When Traffic Stays Flat

A rising AWS bill with steady traffic usually comes from accumulating data, an expired discount, or a new charge that began on a set date. Cost Explorer's free Compare view across two months, grouped by service, names the largest changes as usage, discounts, or other charges. Steady monthly growth in usage points to data that keeps accumulating, while a jump tied to lost discounts suggests an expired Savings Plan, reservation, or depleted credits. Common hidden storage costs include S3 noncurrent versions and incomplete multipart uploads, ECR images, RDS storage that autoscaling never shrinks, manual snapshots, and CloudWatch logs with no expiry. The source also recommends lifecycle rules for S3 and renewal alerts for Savings Plans and reservations.

0
ProgrammingDEV Community ·

Genjutsu AI lets users swap faces in viral clips using photos, without prompts

A developer has released Genjutsu AI, a web tool that replaces people in existing short videos with photos the user selects. Users upload a clip, which the app splits into scenes and identifies the people in frame, then attach one photo per person to be swapped. Backgrounds, props, timing, and original audio stay as filmed, with output at 720p. Scenes must be 15 seconds or shorter, and the service runs on a credit system priced at $9.99 for 10 credits after an introductory first purchase. The creator, who built the paid product, is seeking feedback on scene splitting, face consistency, and pricing.

0
ProgrammingDEV Community ·

Hand-Typed Probability Input Inflated Drug Valuation by 4.5x, Developer Reports

A developer of Somota, a drug valuation tool from the company Codebat, found that a Phase 2 cancer drug was valued at $1.29 billion. After correcting two errors, the same drug with the same sales forecast was valued at $283.5 million. The main error was a 30% probability of success that had been typed in by hand with no source, while public industry data gives roughly 10.8% for an oncology drug at Phase 2. The second error charged the full development cost as if it were only incurred if the drug succeeded, when in practice later trial costs depend on earlier trials passing. The developer notes that the unsourced input also had the largest effect on the valuation, and suggests labeling the source of every input in any model.