Test Environment Anti-Patterns

07
SEPTEMBER, 2017

by Niall Crawford

A common term used in the world of Software Development is the concept of Anti-Patterns.

An Anti-Pattern is basically a commonly occurring approach to a problem or task that generates decidedly negative consequences.

Examples of Anti-Patterns in the software development might be:

(1) spaghetti code i.e. code that becomes unmaintainable and difficult to extend

or

(2) duplicate code i.e. code that has been cut and paste and now must be changed in two places.

However, what people often forget is that probably over 80% of SDLC activity involves more than just coding and is made up of a complex fabric of different teams, processes, infrastructure, data & tools. All of which can have a hugely detrimental effect on quality, timeliness and IT spend.

With the above in mind, enov8 decided to list eight of the top anti-patterns & patterns in the world of Test Environment Management. Anti-Patterns) which cause disruption, inhibit testing productivity & cause IT Project delays.

The Top 8 Anti-Patterns of Test Environments Management

1 Death by Spreadsheet

Anti-Pattern: The organisation is heavily reliant on spreadsheets to identify current systems under management, their components, versions and the projects using them. These spreadsheets often get out of date, are non-integrated across teams & regularly become unusable.

Pattern: A centralised CMDB or Knowledge Portal that all teams can use for visualisation, modelling and ongoing-management of systems, components, relationships, versions, and of course relationships.

2 System Contention Hell

Anti-Pattern: Different teams “reactively” compete for the same system resources and components, causing test disruption & outages due to continual changes and re-configurations. Collaboration across projects is typically low and often results in finger pointing and arguments.

Pattern: Project requirements are identified early in the lifecycle and the correct system resources are shared with the most compatible teams.  In areas of high contention, the organisation has time to provision new environments and/or re-prioritise to meet the spike in demand.

3 Ninja Changes

Anti-Pattern: Developers deploy changes during operational hours, without prior notice and re-configure applications on the fly. The test teams are blind-sided, experience unusual disruption and defects arise that are difficult to recreate or track.

Pattern: All environment activity is collaborated through group calendars that highlight scheduled events and statuses. Affected teams are notified of changes, via alerts or dashboarding, that may impact their project or team.

4 The Email Support Vortex

Anti-Pattern: Members across the project use email as a method to request test environment support and coordinate operational fulfilment. High volumes of emails go across different teams and fail to convey ownership, accountability or correct operational procedures. Thus, requests become overwhelming, uncoordinated and are often ignored & orphaned.

Pattern: All environments, whether production or test, need a basic level of service management to prevent operational chaos. Although not necessarily as “heavy” as production, the organisation needs “just enough” service management to ensure all requirements are captured, tracked & closed.

5 Superhero Provisioning

Anti-Pattern: Deployment (data, application & infrastructure) operations are unrepeatable, manual, slow and error prone. They typically involve heroics from one or more subject matter experts and the use of “black magic”. This chaotic approach consequently results in disruption to the end users i.e. project and test teams.

Pattern: Organisations need to establish consistent tasks that are clearly documented and understood. Ideally these operations should evolve to become fully automated, “Single command line” tasks that can be exposed through “Self Service” forms.

6 Manual Health Checks

Anti-Pattern: Every morning the test team will get in early to run various functional tests that ensure the application and the end-to-end business processes are working. Results are then emailed to the test teams. Process is typically time-consuming and typically can only be done once a day.

Pattern: Implementation of Test Synthetics that can automatically run at any time of the day, (scheduled or in real time) to provide immediate insight into whether the end-to-end environments are healthy. Results can be communicated via real-time dashboards and automated alerts.

7 Stopping the Clock

Anti-Patterns: Testing and projects are often delayed due to the various engineering/provisioning teams not being available to service them. For example, the infrastructure team are too busy to provide more virtual test environments, the deployment team are too busy to release the latest code version and the data team don’t have time to provide more test data.

Pattern: Establishment of Self Service orchestration gateways (portals where provisioning automation is exposed & shared) will ultimately mean much of the “busy” work previously done by the Infrastructure, Application or Data team can be completed by the testers or project team themselves.

8 Creative Reporting

Anti-Pattern: The test environment & release management teams spend many days (potentially weeks) per month collating and analysing non-integrated environment & release information with the intent of creating reports. Typically resulting in reports which are invariably inaccurate & untimely.

Pattern: Establish automated environment information aggregation that brings together all your IT environment & release information and generates real-time reports and dashboards that support analytics and decision making.

If you’d like to know how to avoid anti-patterns and address all the above and more, then please ask for a demonstration of enov8 Environment Manager. A complete solution for your Test Environment Managers, including features for: Visual Configuration Management, Project Demand Management & Test Environment Bookings, Environment Calendaring, Service Management, Self Service, Test Synthetics, Environment Dashboarding and Automation Integration & Orchestration.

About Enov8: Enov8 are the world leading providers of IT & Test Environment Management & Holistic Release Management solutions. Through using enov8’s extensible platform, Ecosystem, organisations can uplift their understanding and management of their computer systems and end-to-end IT fabric. With the intent of uplifting Environment & Release Operations, Streamlining IT Projects and reducing associated Infrastructure, License & Service costs.

Relevant Articles

What makes a Good Deployment Manager?

What makes a Good Deployment Manager?

Deployment management is a critical aspect of the software development process. It involves the planning, coordination, and execution of the deployment of software applications to various environments, such as production, testing, and development. The deployment...

DevOps vs SRE: How Do They Differ?

DevOps vs SRE: How Do They Differ?

Nowadays, there’s a lack of clarity about the difference between site reliability engineering (SRE) and development and operations (DevOps). There’s definitely an overlap between the roles, even though there are clear distinctions. Where DevOps focuses on automation...

Self-Healing Data: The Power of Enov8 VME

Self-Healing Data: The Power of Enov8 VME

Introduction In the interconnected world of applications and data, maintaining system resilience and operational efficiency is no small feat. As businesses increasingly rely on complex IT environments, disruptions caused by data issues or application failures can lead...

What is Data Lineage? An Explanation and Example

What is Data Lineage? An Explanation and Example

In today’s data-driven world, understanding the origins and transformations of data is critical for effective management, analysis, and decision-making. Data lineage plays a vital role in this process, providing insights into data’s lifecycle and ensuring data...

What is Data Fabrication? A Testing-Focused Explanation

What is Data Fabrication? A Testing-Focused Explanation

In today’s post, we’ll answer what looks like a simple question: what is data fabrication? That’s such an unimposing question, but it contains a lot for us to unpack. Isn’t data fabrication a bad thing? The answer is actually no, not in this context. And...

Technology Roadmapping

Technology Roadmapping

In today's rapidly evolving digital landscape, businesses must plan carefully to stay ahead of technological shifts. A Technology Roadmap is a critical tool for organizations looking to make informed decisions about their technological investments and align their IT...