Are you the type of database administrator who organizes files by folder? Do you have a folder full of sorted folders? If so, then scrum is the right methodology for you.
A database administrator (DBA) is an essential member of any IT team. DBAs create, maintain, and secure an organization’s database, in addition to overseeing user rights assignment, backups, querying, and database tuning.
You need specialized training and technical expertise to manage the specific RDBMS setup used by your organization (to understand what an RDBMS is, read on), along with a quirk for analytical thinking. Additional knowledge about working with real-world databases will also help when working as a DBA.
DBAs various roles
RDBMS stands for regional database management system, which is a complex software system created specifically to manage data in an organization. Commercial systems such as Microsoft’s SQL Server or MySQL require specialized knowledge and training to operate, with professional courses offered to ensure a candidate’s proficiency for the same.
Organizations like banks, hospitals, insurance companies, data science and research companies, and others rely heavily on databases in their back-end operations. But they also depend on DBAs to manage their database software. This calls for technical expertise—DBAs need to be well versed in SQL and capable of operating between platforms and server hardware, if needed. Naturally, large organizations hire DBA teams for this very purpose.
Various organizations hire different DBAs for different roles, some of which include:
- Administrative DBAs: Tasked with the maintenance and smooth operation of the database. Backups, security, patches, and replication are all within the scope of their work. Administrative DBAs are not involved in the development or enhancement of databases.
- Development DBAs: This profile is a step ahead of an Administrative DBA and involves programming knowledge related to database development. These professionals build SQL queries and stored procedures and handle a variety of other database development tasks.
- Data Architect: Tasked with building the structures needed to implement databases or database management software. Development DBAs and developers use a data architect’s design to implement the actual application.
- Data Warehouse DBAs: A relatively new role created to merge, manage, and securely store enormous amounts of data from multiple sources.
Each of these DBA job roles require tons of management to function smoothly; a simple error could lead to a catastrophic loss of data. A DBA’s job is continuous with little rest, one where time is of the essence. And that’s where Scrum comes into play.
Scrum is an implementation of the Agile management methodology of software development. It is aimed at producing timely, quality, efficient, and consistent work. This management methodology consists of three core principles:
- Sprints based on a product backlog, or a list of features you want to complete;
- Burn down charts of the team’s progress; and
- Daily Scrum meetings that assess and constantly improve the team’s sprints.
Implementing Scrum in DBAs workflow
Scrum is a flexible management methodology that emphasizes rapid but efficient development, with testing occurring throughout the process to ensure quality. The DBA workflow revolves around various tasks that create the right environment for a database to flourish.
Adapting the Scrum methodology to a DBA’s workflow isn’t ideal, since Scrum is geared towards software development. However, it’s entirely possible to incorporate Scrum’s core principles into the management process of a DBA. Scrum breaks down every task into minor segments whose progress can be tracked on a timeline. If we consider every task to be a “feature” on the product backlog, then creating Sprints for a DBA workflow becomes easier. Let’s revisit the aforementioned DBA job roles and define their tasks based on the Scrum ideology.
- Administrative DBAs: Backups, security, patches, and replication are our “features”. Each task at hand can be broken down into subtasks. Sprints can be planned to execute these subtasks within a given timeframe. Burn down charts track the progress of each task towards completion. The daily Scrum determines and fine-tunes the process to ensure all data is being managed as per the standard, while at the same time reducing the likelihood of errors occurring.
- Development DBAs: Building SQL queries and stored procedures, among other database development tasks, can be treated as the features in our product backlog. The rest of the process is a simple matter of executing the Scrum methodology.
- Data Architect: Building the structure needed to implement a database or database management software requires extensive coding. Sprints aimed at accomplishing this through consistent trial and error could result in a design with the fewest errors prior to actual implementation by Development DBAs, or even the developers themselves.
- Data Warehouse DBAs: Think of this role as an automated factory production line. Data comes in from various sources, just like raw material. It then proceeds through various processing lines where it is sorted, secured, and stored for later use. The production line in this factory is Scrum.
The Scrum methodology is designed to be flexible to suit the requirements of development and promote teamwork at the same time. The methodology itself is profound enough to be used for personal reasons as well. Efficiency and discipline are the keys to success in database administration, and those are precisely the qualities that Scrum promotes.
Many businesses are realizing the importance and interdependence of BI, IT, and big data. As such, the need for accomplished DBAs is on the rise. In fact, the demand for DBAs has already exceeded its supply, making it one of the most secure jobs on the market. Database administration is also highly rewarding, with an expected yearly income of almost $74,000, provided you know what you’re doing.
Quite simply, implementing Scrum in your personal DBA workflow is a form of professional self-care. But it’s important to understand and learn the minute workings of the Scrum methodology. Implementing the method on the basis of incomplete knowledge will only provide poor and inconsistent results.