Can your DevOps tools handle the real world?

DevOps solutions can be amazing. Many provide end-to-end continuity through the entire release process – from an initial requirement gathering through agile development, code inspection, quality testing, automated deployment and finally general availability to target users. By strengthening cooperation and communication between overburdened development resources and battle-weary IT operations teams, organizations can ensure that software moves through the process in an efficient and automated manner with no surprises. These fit-to-purpose DevOps tools are designed from the ground up to provide industry standard processes and policies ensuring your software development lifecycle stays on a happy path to success.

But what happens in the real world of most organizations? I’ve been a product manager for 20 years and experience has taught me that the process pitched by ADLM vendors works well in theory but there are always unique circumstances not addressed by the tools.  Business requirements may be flowing in from a community site.  An agile development epic suddenly needs to be spread across multiple releases.  Team velocity is found to be insufficient and contractors need to be hired.  Quality Assurance is asked to test against a new regulation that must be reported formally through a government defined submission process. Legal has to approve  a new 3rd party libraries found during code inspection. Automated deployment requires an approved appropriation request before resources can be made available. And stakeholders constantly want updates on the status of their requests. How do real companies react to these demands?

One common result is something referred to as Shadow IT, which can happen as follows. With the best intentions, an organization like Legal, Human Resources or Facilities will request an application or service needed to address new business needs. IT Operations, having limited resources for development, will pass the request on to a development team. That development team, already inundated with other work requests, likely will not have the time and resources needed to create this new one-off utility. Frustrated, the requesting organization will then take it upon themselves to do a technology search and buying decision for something to fit their needs. Many times this will be a low cost, freeware or open source solution that IT is not prepared to support. Multiply this situation by several organizations with dozens of unique requests and soon the problem begins to spiral out of control. Invariably, IT Operations is asked to resolve configuration, error conditions or security vulnerabilities found in these unapproved applications. The IT Operations team that didn’t have the bandwidth to create a solution for the business is now asked to spend even more time supporting an unfamiliar network of rogue utilities.

Another outcome could be the use of existing tools that seem to be “good enough” for use throughout the company. Development may be using a simple team management product that has a basic workflow engine. IT may have a service desk with ITIL oriented business rules that feels like it could work.  Operations may have a collaboration tool included in a software bundle for the office. Most of these tools work well used by experts that utilize them every day for their intended purpose, but often require coding knowledge to extend them enough to be used by others. In addition, the original owners are often concerned about granting the general citizenry development access to their mission critical applications just to support other parts of the organization.

Luckily, there’s a third option: Low-code development platforms. Forrester Research defines a low-code development platform as follows: platforms that enable rapid application delivery with a minimum of hand-coding, and quick setup and deployment, for systems of engagement[1]. But what does that really mean?

What to look for in a fully featured low-code platform

A low-code platform should provide several key value propositions:

  • Visual Development Environment– To minimize the need for coding knowledge, low-code platforms offer must offer intuitive drag and drop developer interfaces for defining data models, application and process logic, user interfaces, etc. Such approaches empower both professional developers and business users (also known as Citizen Developers) to build apps much faster than hand-coding. For example, the speed and intuitive development interface of Micro Focus Solution Business Manager can be found in Rose Wellman’s Build an App in 15 minutes or less
  • Marketplace – Because low-code platform applications are intended to be customized, productivity can be further accelerated with low-code development platforms that offer a community marketplace, like Serena Central, populated with templates, plug-ins and even complete solutions. By starting with a blueprint framework, developers can quickly modify the process application to address their organization’s unique business needs.
  • LifecycleManagement – Low code platforms need to do more than just provide an intuitive and easy to use development interface. They must also provide an environment that supports the entire lifecycle of the process applications. That means not only design but also build, testing, staging, deployment, monitor and iterate (version). By providing the ability to promote fully populated process apps from development all the way through to production, the time to value is reduced dramatically.  Enabling iterative versions to be stored in an application repository and enabling a comparison between versions is also the sign of a mature low-code platform.

Beyond just providing a strong rapid development solution, truly differentiated platforms will provide additional capabilities to take full advantage of the applications created:

  • Access – a well-developed application is of little value if stakeholders cannot conveniently gain access to the process regardless of location or time of day. IDC expects mobile workers will account for nearly three quarters (72.3%) of the total U.S. workforce by 2020.  While a forward-leaning web browser interface is considered table stakes, platforms must also provide mobile smartphone client access as well as offline store-and-forward capabilities utilizing old standby technologies like E-mail.  The ability to receive a notification and immediately react is critical to moving a process forward smoothly.
  • Transparency – Keeping stakeholders informed of progress is key to ensuring that communication across organizations remains strong and vibrant. Whether it’s through E-mail notifications, mobile client alerts or scheduled reports; an automated mechanism to keep affected parties in the loop will help eliminate the time and energy drain of one-off status requests and manual updates.  In addition, providing a way for key individuals to view information in a way that is natural to them – e.g. a Calendar based view, user-generated report or a Kanban Board – further enables a self-service model for process status
  • Accountability and Compliance – By enforcing process organizations can ensure internal and external policies or regulations are followed. This compliance, however, must be provable to auditing agencies both inside and outside an organization.  To truly provide the governance, risk and compliance necessary in highly regulated environments, a solution must provide an always-on change history that tracks what data was changed, what the value was prior to the change, who changed it and when it was changed.

So let’s look at some examples of tying the SDLC process together through the use of a low-code platform like Solutions Business Manager.

Development Staffing is not limited to in house resources

Hiring external contractors to manage or develop services is a recognized option for companies that realize the inherent benefits associated with contingent worker. These resources can take over a number of functions or fill gaps in employment until a full-time equivalent can be found.  Companies commonly turn to contractors for functions such as Application Development, IT Security and Web / E-Commerce Systems, spending an average of 10% of their budget on contingent or outsourced workforces[2].

However, most fit-to-purpose agile team solutions don’t provide a way to manage these resources identification of need through to the contractor’s start date. The Contractor Management process template for Solutions Business Manager empowers you to govern the entire lifecycle of a contract resulting in up to an 80% savings in the time necessary to move a contract from initial discovery through to execution. By providing an enforceable and auditable process, the Contractor Management process plug-in eliminates manual checklists and also ensures that business, legal and financial approval requirements are met.

Because the best practices and widely utilized tracking metrics are provided in the template, you can fold this process easily into your existing infrastructure.  But if you need to change anything, with the power of the low-code SBM platform behind it, you can quickly and easily modify process, fields or workflow to best reflect your organization’s contractor tracking requirements through an intuitive drag-and-drop user interface with no programming knowledge required.

This process application can not only track and enforce the business processes associated with hiring contingent workers, it can be extended to manage the HR workflows necessary to onboard the worker as well.  Controlling both human processes (e.g. ensuring the contractor has an access badge) and machine processes (e.g. adding the contractor to required E-mail lists and VPN access controls), Contractor Management coupled with HR onboarding extensions can ensure that the contractor is productive on day one.

Time tracking isn’t just about tracking time

Agile development tools commonly provide a way to track the time spent on a given task. However, no one can spend every hour of his or her business day working on code. Individuals spend time in meetings, performing corporate responsibilities and taking holidays among other tracked activities. With every organization and company becoming a digital software developer at some level, the need to track and audit the whole of an individual’s time has become critical to recognize tax deductions. By utilizing a low-code platform like Solutions Business Manager, an organization can benefit in many ways.

By using a rapid development platform likely already in use, an organization will see immediate financial savings by not having to purchase yet another application.  The costs of installing and administering the solution are comparatively low due to existing familiarity. And IT Operations is not subject to the perils of supporting an unfamiliar 3rd party application when the inevitable business change requests to the timecard management system are made.

Additionally, through use of a pre-supplied template like the SBM Timecard Management process application, an organization can take advantage of REST and Web Services orchestration abilities to tie time tracking into existing DevOps tools. Time spent solely on development is automatically transferred into the Timecard process application, eliminating the repetition and potential errors of data entry.  Organizations can also configure reoccurring tasks to be pre-populated, enabling DevOps personnel to focus only on the exceptions for a given week.

Compliance and adherence to regulations is fully automated when a low-code platform is used to enforce the timecard management process. Not only are all records recorded systematically, requirements around documenting manager approval are easily implemented. Auditing can be reduced from a 6 week ordeal to a 6 hour auditor visit through the built-in reporting capabilities of SBM. And because of the power of SBM below it, any changes in policy or regulations can be quickly adapted by citizen developers instead of burdening the development team with yet another task.

In conclusion, implementing a low-code rapid-development platform in your DevOps environment is a smart way to deal with the real world process demands that every organization runs into. Rather than trying to create E-mail or spreadsheet solutions, a programmatic process can be quickly and easily implemented and enforced.  Transparency becomes automatic with individuals being able to view status or audit the history of an item through self-service. And all of this can be done real time through the web, mobile devices or E-mail access to the system. At the end of the day, why would anyone keep buying a new application for every problem when one can build a solution as quickly as it takes to draw up the workflow diagram itself?

[1]New Development Platforms Emerge For Customer-Facing Applications

[2] “IT Outsourcing Statistics 2014/2015”, Computer Economics

Dave Easter
Share this post:
Tweet about this on TwitterShare on FacebookShare on LinkedInGoogle+

Leave a Reply

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