VOOZH about

URL: https://www.javacodegeeks.com/2016/04/test-operations-business-processes.html

⇱ Do you test your IT operations and business processes? - Java Code Geeks


The software industry expends a lot of energy making sure software is tested. From unit testing, to system and performance testing, to manual “poke it with a stick testing”, almost no software team “doesn’t do it” or fails to see the need. Ironically though, many places don’t routinely test their IT operations and business processes. This is ironic because if those things are broken or brittle, it generally has a MUCH larger negative impact on a company than buggy software.

To clarify, I’ve worked with many companies that have a “backups” and “disaster recovery plans”, but they never TEST to see if either of this can actually lead to a recovery in the timeframe expected. A well known (for me at least) scenario in the IT field (related to operations) is this:

  1. “Yes we do backups”
  2. Server fails, all data is gone
  3. Build new server (this works)
  4. Restore data that was previously backed up
  5. Realize backups actually were written in a way that isn’t recoverable, the backups we thought were being performed have actually never worked, someone “forgot” to enable backups for that particular server…(the list goes on and on…)
  6. Weep
  7. Go out of business

Stretching outside the technical realm, there’s another area that confounds me on its lack of testing maturity, which is: “Testing your process”. Most places I’ve encountered are, at best, able to define and presumably follow a process of some sort, but generally unable to understand or define what happens when the process fails. As an example, many places have “human steps” in their process, but never test “what happens if the human forgets, has incorrect assumptions about what that step means, or is just plain lazy and lies about performing a step?”. In general, there is too much reliance on an individual sense responsibility being the safeguard that the process will perform adequately.

As a very common example…if we have a software delivery process and a step is “update the API documentation”, how many organizations will actually QA the process to understand how to detect and/or ensure that this step is done? More importantly, how many teams will have someone test “making a change without updating the documentation properly” to ensure that this is detected? My general answer is “a vanishingly small number”.

Most people (in my experience) when quizzed about issues such as this will throw out statements like “well, we pay our people well and they are ‘good’ people, so we don’t have to worry about it”. To me, this is a silly and fragile position to take, many professions have very highly paid people who are extremely reliable (for people) that still have checks, double checks, and controls to ensure that the “things we said we were going to do” actually “got done”. While I think the security industry is the dimension of tech that has made the most progress in “defining” these sort of controls, I still see that (even in that industry) most companies don’t take the additional step to validate or test that the process itself is adequate and failure is detected at an appropriate manner, level, and time.

Do you want to know how to develop your skillset to become a Java Rockstar?
Subscribe to our newsletter to start Rocking right now!
To get you started we give you our best selling eBooks for FREE!
1. JPA Mini Book
2. JVM Troubleshooting Guide
3. JUnit Tutorial for Unit Testing
4. Java Annotations Tutorial
5. Java Interview Questions
6. Spring Interview Questions
7. Android UI Design
and many more ....
I agree to the Terms and Privacy Policy

Thank you!

We will contact you soon.

👁 Photo of Mike Mainguy
Mike Mainguy
April 18th, 2016Last Updated: April 16th, 2016
0 86 2 minutes read
Back to top button
Close
wpDiscuz