Skip to content

10 software mistakes that slow down implementation of government regulations

By working for 15+ years for different clients I found that there are common mistakes in the design of the software and the development process that could slow down implementation of new features.

This is especially visible in the areas regulated by the government, where the time pressure is big and requirements are not so clear.

I collected 10 mistakes and proposed 10 ways to avoid them, in order for you to implement new features faster and easier. I really hope this will be a benefit for you.

  • 10 software mistakes – 1 manual deployments


    Manual deployment process is a risk of human errors

    Problem

    When doing manual deployment, it takes time and could introduce accidental errors.

    Solution

    Set up the Continuous Deployment pipelines upfront, with the very first release.

    Benefit

    You will automatically and safely deploy the application in minutes.

  • 10 software mistakes – 2 manual testing

    Manual testing takes time and is a risk of human errors

    Problem

    When doing manual testing, it takes a long time and one could make a mistake or forget about something

    Solution.

    Just use Test Driven Development or Test First with a full suite of automated tests.

    Benefit

    You will be sure that the application works properly in a much faster UAT phase.

  • 10 software mistakes – 3 no time travel testing


    Monthly reports take month to build

    Problem

    When doing time sensitive UAT testing it could take weeks to test some features.

    Solution

    Just use time travel testing and control application time.

    Benefit

    You will be able to test monthly reports on UAT in minutes instead of weeks.

  • 10 software mistakes – 4 avoid feature branches

    Feature branches make developers take days to merge to main branch

    Problem

    When developing a long-lasting project in feature branches, merging into the main application could take a day or two to resolve all conflicts.

    Solution

    Just use Continuous Integration and merge daily to the main branch.

    Benefit

    You will resolve smaller conflicts easier and faster and the new code could be hidden behind the Feature Toggle.

  • 10 software mistakes – 5 avoid overnight deployments

    People do more mistakes working at night

    Problem

    When a new feature has to start working on a given day, you have to pay for night duties to deploy it after working hours.

    Solution

    Just use Feature Toggles and enable them on specific time automatically.

    Benefit

    You could deploy disabled code at any time and enable it at any convenient moment with no additional costs and you can go back and forth.

  • 10 Software Mistakes – 6 – Avoid microservices

    You are not Amazon and probably don’t need microservices

    Problem

    When new requirements have to be implemented, you waste time on redesigning
    the application with the wrong architecture. If you use microservices
    because of hype then you are doomed.

    Solution

    Just use the modular monolith architecture.

    Benefit

    You could redesign the code faster without worrying about network and
    communication issues. All your modules should be aligned with business.

  • 10 Software Mistakes – 7 – Avoid knowledge siloes

    Keep the bus factor small

    Problem

    Your developers are not your business experts, but they should be. They are writing code to run the business.

    Solution

    Just use Event Storming to share knowledge inside the company.

    Benefit

    You will be amazed how fast developers can get in-depth knowledge of the business domain. You will save time and avoid exchanging emails back and forth.

  • 10 Software Mistakes – 8 – Make decisions too early

    You can start development without the details

    Problem

    When government regulations have to be implemented, the details could be not known upfront and this blocks the development.

    Solution

    Just use Clean Architecture and postpone decisions as long as possible.

    Benefit

    You will be able to start development right away and implement storage and UI when you have the most knowledge available.

  • 10 Software Mistakes – 9 – Avoid too much DRY

    Simple is better than over engineered

    Problem

    When government regulations have to be implemented, they could accidently force regression testing in not related departments.

    Solution

    Just don’t use DRY too much.

    Benefit

    You will be able to safely introduce changes only for those departments that really need them. Other departments don’t need to know about any changes.

  • 10 Software Mistakes – 10 – Losing facts

    You could build any report if you don’t lose the facts

    Problem

    When government regulations have to be implemented, there are always new tables in the Data Warehouse required. And new processes to feed those tables. It takes additional time to implement.

    Solution

    Just use Event Sourcing and store all the facts.

    Benefit

    You can replace audit logs and application state with a projection from all the facts. This way any new report is a no-brainer, just another projection.

Leave a Reply

Your email address will not be published. Required fields are marked *