The Most Common Problems in Software Development

Problem: Bugs, Broken Code, & Technical Debt

Why It Happens: Under-Scoping

Solution: Plan Realistically, Not Optimistically

A lean development approach is typically helpful. Set short, achievable milestones, and validate that you’re going in the right direction. Then iterate. This approach makes it harder to put together a complete plan, but you can be more confident in the accuracy of your estimates in the short term.

Problem: Premature Optimization

Why It Happens: Lack of strong code review process

Solution: Have a strong code review process

A good code review process will ensure that the code is understandable, follows guidelines, and can be tested/debugged.

Problem: Stuck With Complicated New Technologies

Why it Happens: Lack of Senior Leadership

Solution: Prioritize Senior Leaders

Senior leaders can mentor your less experienced engineers and encourage them to stick with proven tech (at least for now). They’ll be more likely to recommend familiar tools such as PostgreSQL or MYSQL. These are predictable entities that get the job done.

Problem: Too Much (or Not Enough) Abstraction

Why it Happens: Either not understanding the problem domain or you’re paying developers by the line of code

Solution: Find a happy medium

Striking a balance is the way to resolve the abstraction issue. You want to aim for an approach that prioritizes code that is understandable and maintainable.

Problem: Overlooking the Little Things

Why this happens: Again, underscoping

Solution: Scope Properly

Here are three tips for better scoping:

  1. Keep track of what was missed in your last project. Use that list as a checklist for your next one.
  2. Understand that a project doesn’t end when it is “released.”

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Allan Wintersieck

Allan Wintersieck

CTO at Devetry (www.devetry.com). I write about technology, software development, and entrepreneurship. I also play guitar and love whiskey.