DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
  1. DZone
  2. Culture and Methodologies
  3. Agile
  4. Top Challenges of Database Change Management and How to Fix Them

Top Challenges of Database Change Management and How to Fix Them

As Agile methodology continues to expand its focus, databases are no exception. See how to manage your changes while keeping light on your feet — so you don't break stuff.

Yaniv Yehuda user avatar by
Yaniv Yehuda
·
Oct. 14, 16 · Opinion
Like (2)
Save
Tweet
Share
4.71K Views

Join the DZone community and get the full member experience.

Join For Free

A fundamental part of keeping your company on the cutting edge is database change management. Continuous database changes are crucial to producing results as quickly and seamlessly as possible.

Yet, there are many issues that can occur when performing these changes and some of them can be quite costly and detrimental. In fact, around 80% of unplanned database downtime, (which can be incredibly costly), is due to changes. This is because our systems have become increasingly complex as they work to handle huge corporations and organizations. Thus, any small change needs to be able to run smoothly across this wide system, which likely includes web, cloud, and mobile environments. For these reasons, it is extremely important to stay on top of database change management to ensure that transitions and revisions occur without causing damage.

In Agile development, there are three common challenges that tend to show up when implementing database change management. These include an inability to accurately capture all configuration changes, having too many errors in deployment or production, and an inability to roll back. When these challenges are left unaddressed, instead of Agile making things run faster and smoother, it can slow things down. This is because the development process and tools were originally created in order to handle a system that was making two or three changes per year using a waterfall system, instead of weekly changes.

These fast, short changes and revisions require a new set of skills that weren’t necessary in a waterfall system. Testing everything each cycle, taking all of the overhead into consideration, and implementing clear tagging each change cycle are all necessary steps that must now be done impossibly fast. It is therefore crucial for you to have deployment automation with a high level of visibility and manageability.

The best way to navigate through this complex process is by organizing the changes during the development stage, including the code, database, configuration, and metadata. This is important so that all the relevant requirements are identified for each piece of code and each change. This way, later on, when you are in the testing and staging environments, you can differentiate between the changes to determine which are ready to be deployed and which are not.

I’d like to point out that there is a myth that lumping all the changes together and deploying them at once saves time, in reality, more often than not, the opposite happens. Generally, this leads to far more mistakes because each individual change is not being taken into account before deployment.

So, while the development stage has adapted and is able to pump out changes quickly, the operations department needs more time to monitor each of change before they publish and deploy them. This is the problem that many organizations run into.

And this is where DevOps comes in. Instead of the development team only communicating with the operations team when they need them to introduce a change, DevOps insists that development and operations are united as a single team. This team is responsible for creating automation that allows things to move from the development team to the operations team smoothly. Because, in order to safely make frequent changes, you need a team to automatically deploy and monitor it.

A DevOps system, implemented between development and operation, ensures that the two teams collaborate with speed and agility while avoiding costly errors.

Database agile

Published at DZone with permission of Yaniv Yehuda, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Efficiently Computing Permissions at Scale: Our Engineering Approach
  • 3 Examples of Address Autofill Forms to Collect Shipping and Payment Addresses
  • Taming Cloud Costs With Infracost
  • Express Hibernate Queries as Type-Safe Java Streams

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: