Better Software Faster: An Intro to DevOps

Better-Software-Faster-An-Intro-To-Devops

What is DevOps? Where did it come from? In this post, we explore what DevOps means for teams, and share tips on how to get started.

What is DevOps?

The term “DevOps” seems to be everywhere these days – and with good reason.

In the fast-paced software world, teams need to release fast and often to stay on top. Older, more traditional development models can’t keep up to the high-demand, high-growth industry today.

Development and operations teams would traditionally work separately, but when you’re aiming to release more frequently and need to move fast, it’s far from the ideal setup. The two teams need to work together, with seamless communication and collaboration, to allow for better development, testing, releasing, and maintenance of software.

In short, this is DevOps: bringing development and operations together. Teams can release more reliable software more rapidly.

A brief history of DevOps

In 2009, John Allspaw and Paul Hammond of Flickr deliver their talk: ‘10+ Deploys per Day: Dev and Ops Cooperation at Flickr’. They address the traditional conundrum of Dev versus Ops, making the case that the only sensible way to build, test and deploy workable new software is to make development and operations transparent and integrated.

Sounds familiar, doesn’t it? You can watch the talk below:

In the same year, disappointed he was unable to see the above talk in person, Patrick Debois organises his own conference: DevOpsDays. To continue the discussion on Twitter about integrating development and operations, he shortens it to #DevOps.

Close to 10 years on, DevOps is more widespread than ever. The fundamental message, though, has remained.

Getting started with DevOps

According to the Puppet Labs’ 2015 State of DevOps Report, companies that practise DevOps are twice as likely to exceed their goals for profitability and market share.

On top of that, they’ll benefit from:

  • 30x more frequent deployments
  • 60% higher change success rates
  • 60x fewer failures
  • 160x faster recoveries

DevOps is all about teamwork, but how do you get your teams started? And if you’re already doing DevOps, how do you keep improving, to work faster and better than ever?

Continuous delivery and the importance of feedback

Teamwork is key to success, and building the best software is about more than bringing dev and ops together, though that is a major step. You also need to work closely with your users.

We know that DevOps teams deploy more frequently. This means they’re in the ideal position to incorporate user feedback and roll out fixes and features quickly. It’s a level of responsiveness that users notice and appreciate – continuous delivery means happy customers and successful software.

Embrace automation

Automation plays a big role in continuous delivery. Not only does it make building software a more efficient process, but it also helps reduce human error, which is something even the best of teams can’t always avoid!

Automated testing is the first, and most significant, step to take, but you can go further with automation. Take HipChat as an example. If your teams embrace ‘ChatOps’ – integrating HipChat with your other development tools, and even with social media – you can automate builds, notifications, JIRA ticket creation, and much more.

The right software

There’s no set “DevOps software” that you can start using to immediately become a “DevOps organisation”, but there are tools that will empower your teams to adopt a collaborative, DevOps culture. Let’s take a look at the Atlassian tool suite as a starting point.

Because they cover the whole software development life cycle, your teams can standardize on the Atlassian toolset. Your dev and ops teams will be speaking the same language, which already puts them ahead. From there, they’ll keep on improving.

DevOps 101

In this post, we’ve given you an introduction to what DevOps looks like for teams, but this is simply a starting point. To learn more about building products, DevOps style, download DevOps 101. In this eBook, Atlassian shares how its teams got started with DevOps, and the positive results they’ve seen since then

Share this post

The Future of Work Now: Generation Y

The-Future-of-Work-Generation-Y

The future of work depends upon embracing and attracting the younger generation into your business: Generation Y. If you are not proactively bringing this technically-savvy generation into your workplace, then you are not moving forward.

And we all know what happens when you don’t keep up!

Why Generation Y?

Embracing Generation Y, rather than resisting them, will yield a number embryonic positive culture changes.

Not only will the average age of your company come down, but you will notice a certain vibrancy in the office – where older workers will likely become rejuvenated and reinvigorated. Mixing young energy with mature experience, if managed correctly, becomes a very powerful drug.

Having the right balance of maturity and vibrant energy not only helps the business flourish but also provides an unexpected boost when it comes to selling or having a company valued.

It is important to match your companies average age with the sector you sell into, this is especially true for the technology sector. You might have the most amazing product in the tech market but if you have an ageing workforce, you are seen as a higher risk and thus less valuable.

Great Expectations

For the future of work, The Generation Y have very different expectations to the Generation X (X = the oldies amongst us; typically born in the 1960s and 70s, I include myself in the bracket – age 52). As Douglas Coupland, author of Generation X, JPod & Microserfs explains:

The nine-to-five is barbaric. I really believe that. I think one day we’ll look back at the nine-to-five employment in a similar way to how we see child labour in the 19th century.

The concept of rigid 9 – 5 will become old fashioned and irrelevant, especially when the “job for life” is no longer something people crave. One thing is for certain with Generation Y, you have to work very hard to retain them for more than a couple of years before their thirst for change moves them on. We have found that the best route for both parties is to enter into a two year ‘Tour of Duty’, see the Aliance book from Reid Hoffman.

What’s the Gig?

Research shows that Millennial’s now have less access to their own transport (only 35 % of under 20’s have a car compared to 43 % 20 years ago). So office location and its accessibility to public transport becomes an important factor. This is where Agile work environments become relevant. Enthusiasts of the Agile way believe you can work anywhere with the right collaborative technology and the right ‘open & trusted’ relationship between employer and employee. Creating a flexible working approach has proven beneficial to all. Research has also shown that two-thirds of employees would rather take another job to ease the commute or have flexible working. Furthermore, business find a decrease in unscheduled absences, resulting in increased productivity.

Two-thirds of employees would rather take another job to ease the commute or have flexible working.

Research confirms that 36% of people would choose working from home over a pay rise. A recent poll of technology professionals revealed that 37 % would take a pay cut of 10 % if they could work from home. The internet is shrinking the world and as a result, businesses now have access to a large pool of remote overseas workers. In the technical support industry it is no longer important for staff to be office based. This opens up many opportunities.

The Benefits of Hiring a Contractor

Whilst all these look like benefits to the contractor, there are actually very tangible benefits to the hiring company. A happy and fulfilled contractor is more productive, reliable and dependable. Then there is the price advantage of a remote contractor over a local employee. Even if the contractor is local, there are many commercial advantages over employed positions.

A happy and fulfilled contractor is more productive, reliable and dependable.

The Impact of Global Economic Change

Companies in the UK and USA (H-1B Visa) are in the throws of experience workforce challenges. Brexit is likely to see new barriers arrive which make it harder to recruit a foreign worker. The USA government is also actively reducing the number of foreign workers permitted into the country. There are two likely outcomes, staff costs will increase as we all shop in the same pond of limited resources or we move certain positions to outside of the country (use contractors).

Remote Working and Productivity

Such drivers added to the increasing cost of office space is pushing many companies to seriously rethink office expansion plans which allow remote workers to remain in touch with all aspects of the business whilst ensuring staff can remain productive. What is strange is the companies who faced the ‘remote’ workers challenge several years ago have seen productivity increases across the business, and not just remote workers.

If you are more than eight meters from a colleague, you are more likely to email them than walk to their desk

Digital Workplaces and the Future of Work

Research (http://danielcoyle.com/) shows that if you are more than eight meters from a colleague, you are more likely to email them than walk to their desk. So eight meters – or 800 miles – what is the difference! With so many organisations shifting to digital workplaces, it’s essential that we continue to understand ways that people can connect and seamlessly exchange information.

Digital workplaces allow people to communicate and collaborate beyond their physical locations. The technology that supports these virtual work environments can be anything from email, to instant messaging, document management software and social intranets.

Conclusion

Disruption is everywhere. Whether that be the way you order your taxi, how drones deliver your online order or how you travel to work (hint – driver-less vehicles). We are in a rapidly changing world and many believe we are on the cusp of the biggest disruption of all, the very nature of work itself. Staff, who make up the DNA of your company, are changing their expectations and requirements. Are you ready for your next recruit to be remotely located, short term contracted or even not employed at all? It’s time to buckle your seat belt, because you’re already there…

So what’s the future of work in your business? Do you use remote contract workers – and, would you consider it if you don’t?

Share this post

Tech and Teamwork in Government ICT: How the Criminal Justice System Uses Jira & Confluence

Government-ICT-USE-JIRA-Confliuence

ClearHub attended the recent Government ICT 2.0 event in London alongside Atlassian, where openness and teamwork were key themes of the day. This post takes a look at how the public sector uses technology to empower teams, and how the Criminal Justice System in particular is benefiting from Atlassian Jira and Confluence Data Center.

Many of the challenges faced by government and public sector organisations are unique. These organisations deal with highly sensitive information at a scale far beyond the majority of private businesses; this alone brings a series of challenges around security and data protection.

Like any organisation, though, government bodies are made up of teams of people. It’s not only important that the technology and tools being used are secure – they also need to empower those teams to work together, as in any business.

The value of people – both internal teams and external users – was apparent throughout the talks at Government ICT 2.0. Paul Brewer, Director for Digital & Resources at Adur & Worthing Councils, stressed this in his talk on digital transformation in local governments, where he identified design, people and technology as the three main pillars of digital transformation.

“Flexible technology and common capabilities are necessary to build end to end digital solutions. Team capabilities and human-centred design are key to a successful digital transformation, and new technology forms the foundation.”

– Paul Brewer, Director for Digital & Resources at Adur & Worthing Councils

Technology for teams

Your choice of IT is what facilitates digital delivery.

This was Paul Brewer’s message throughout his talk, and nowhere was this more clearly demonstrated than by the work of the Criminal Justice System. Mark Giles, Digital Operations Manager, and Carl Storey, PMO Planner, gave a presentation at Government ICT 2.0 on how HM Courts & Tribunals Service and Crown Prosecution Service are working together to establish the Criminal Justice System Common Platform:

To create a single (“common”) digital platform across the Criminal Justice System (CJS) based on user needs, unifying and transforming the criminal process.

Criminal Justice System Common Platform: The challenges

The planning and management of the development and delivery of a solution like this is not without challenges. These challenges broadly fit into those three pillars as outlined earlier by Paul Brewer.

People

The Common Platform is being built for a wide range of users, including those within government and the civil service, legal professionals, and members of the public.

This is why creating a “common” platform, whilst a challenge, was so important, to bring all these different areas together.

As Mark Giles said in his talk, “Tools are only productive if the policies, processes and people using them are effective as well.”

Tech and design

The challenge for the Criminal Justice System wasn’t just around choosing the right software for the planning and development of this platform. This was, of course, an important starting point – the legacy tools they had been using weren’t collaborative or flexible enough to meet the new requirements.

The other challenge was around the correct configuration and deployment of software. Not only did they need to guarantee high availability, but they needed to be able to guarantee the security of data and be able to meet regulatory requirements, and it needed to be designed with users first

The case for digital business change
At the beginning of this joint venture, HMCTS and CPS were using tools like Word, Excel, email, and shared drives. This would often mean it was difficult to achieve a good level of visibility over work, particularly with two departments now working together. These tools were often high maintenance, difficult to access, and information often ended up out of date. It meant that to create the reports that senior management required, it was a time consuming and very manual process.

It was time for a newer, more agile solution – one that would empower change across business teams, not just in IT.

Atlassian Jira and Confluence: A single source of truth

In adopting Atlassian Jira Software and Confluence to manage the development of the Common Platform, the Criminal Justice System was able to provide one single source of truth thanks to the close integrations between the two.

Confluence, for example, aids daily phone calls between teams, acting as a hub for relevant information. Participants in disparate teams can access this page, and it brings together links, discussion points, related Jira tickets.

Jira tickets, meanwhile, act as a way of tracking not just tasks, but assets, risks, actions, dependencies, and even the people on different programs.

By moving work to Jira and Confluence and taking advantage of the close integration between the two tools, the Criminal Justice System was able to achieve a much higher level of visibility. This, combined with the flexibility of these tools, helped considerably in efforts to break down the silos between teams and aid collaboration.

 


Migrating from Atlassian Cloud to Atlassian Data Center

Atlassian Data Center

The Criminal Justice System knew from this first stage of the project that Jira and Confluence were the right tools – but what about the setup?

 

When considering this, the Criminal Justice System elected to migrate from Atlassian Cloud to an Atlassian Data Center deployment for a number of reasons.

 

Data storage and privacy – government directive to host data within the EU

Increased functionality – Atlassian Data Center offers more functionality than Cloud software

Resilience – Atlassian Data Center offers high availability and zero downtime upgrades

The migration from Atlassian Cloud to Data Center was a large scale project for the Criminal Justice System, so they worked with Clearvision to design and implement the project as smoothly as possible.

 

As an Atlassian Platinum Solution Partner, Clearvision’s consultants are experts in digital migration. Our teams are more than familiar with the requirements and regulations of government IT, as one of the first Atlassian Partners to be listed on the G-Cloud digital marketplace. We were able to work closely with the Criminal Justice System to understand not only how they currently use Jira and Confluence, but how they need the software to perform moving forward.

 

“Clearvision’s onsite presence, technical skills and calmness proved invaluable for a quick migration with minimal disruption.”

 

– Mark Giles, Digital Operations Manager, HMCTS

 

The migration was a success:

 

Users logged off at 4pm on Friday and back on at 8am on Monday

Opportunity to move to Azure hosting and review Atlassian apps with Clearvision

Confirmation testing took place on the Sunday evening, leading the most issues being resolved

Delivery continued with many users unaware any maintenance had taken place!

Post-migration timeline

 

Six problems by 15th June (largely due to firewall settings)

Just two problems by 30th June

0 problems at the end of July

The results

Thanks to having the right tools, policies, processes and people in place, the Criminal Justice System has seen a number of tangible benefits.

Single source of truth

Easy to configure, change and improve

User friendly

Identifies bottlenecks

Encourages collaboration

Drives quality

 

That combination of the right people, processes and tools was invaluable.


We know that the management, development and delivery of any digital solution is complex. When it comes to government ICT, this is more true than ever.

The Criminal Justice System was able to achieve the above results by leveraging the help of Clearvision’s consultants. As the longest-accredited Atlassian Solution Partner on G-Cloud, Clearvision has been delivering specialist services to the public sector through the G-Cloud framework since 2013.

Browse our offerings on G-Cloud or get in touch to discuss how we can help your teams with a successful digital transformation.

Share this post

How to Reorg Your Testing Team Through an Agile Transformation

How-To-Reorg-Your-Testing-Team

The pace of business is moving faster than ever and in order to keep up with the speed, software developers have been forced to shift their methodology. The traditional “waterfall” method is being displaced by “agile.” According to VersionOne’s State of Agile survey, 95% of companies reported that their organizations practice some form of agile. Which means they’re working and releasing software at a faster pace than ever before.

This move to agile has created some significant challenges for software testers who need to balance speed with quality. How can we deliver software faster than ever, without risking releasing code with poor quality?

The agile approach has led to big changes in the people, processes and tools that organizations use to both develop and test software. High growth companies like Atlassian are able to make software that has changed the landscape of software development in a seemingly impossible time frame. Founded by a couple of twenty year-olds in 2002, today they have over 40,000 customers and recently went public with a $6 billion valuation.

While most organizations have now adopted agile, they have focused solely on development and failed to look at their testing team. Are they agile? If your answer is no, then you are not fully embracing agile, and you’re likely to experience some pains from the broken framework.

If you are looking to learn more about the people, process and tools to make your transformation successful, I encourage you to check out our recent webinar with Clearvision – Agile Transformation: People, Process and Tools to Make Your Transformation Successful.

“But my testing team can’t go agile.”

Ideally everyone wants to be fully agile, but a lot of companies say they can’t because they don’t have the right people in place or their testers can’t get involved in the development process.  Innovative companies are shifting their architecture to independent microservices written using more accessible languages like Ruby and Python.

In doing so, teams can make changes independent of other parts of the  product, and non technical employees can understand more of what is going on in the product.  This shift will allow teams to work independently and collaborate closely as a unit, but it will not happen overnight. I recommend starting with one project and slowly evolving.

Below are some tips to help prepare your testing team to go agile.

1) Shift to Embedded Testers

Getting quality integrated into product teams is an essential part of agile success, especially in scrum.  Including an embedded tester(s) on your agile teams is one of the easiest ways to make sure testing gets the focus it deserves.

Agile needs to happen quickly, which means you need to have teams that can work fast by being able to quickly pivot and reprioritize projects.  When I say “Embedded Tester” I am implying that you take a member of a large Quality Assurance team and place them into a team of programmers, much like dropping a reporter into a military unit.

In waterfall, you typically have a large team of testers that work across all the products, and the prioritization queue is large. It can provide a roadblock to coded features ready to be tested and released. When you have embedded testers, each tester works with a group of programmers on separate initiatives, making prioritization up to that small team, and fast.

Here is an example: you implement qTest. 50 testers focus on manual, 50 testers on automation. When you shift towards agile, it is common to shift towards scrum teams, made up of a scrum master (product owner), 3 developers, a business analyst, DevOps, and one or two testers (potentially a mix of automated and manual).  However, instead of leveraging a tester in a huge group of testers, your tester is already in your team.

Your tester will therefore be more knowledgeable about your product, and instead of being good at one facet of testing, they have a broader testing skill set.  This embedded tester focuses on one product, module or functionality within a broader skill set. See the image below for a rough sketch.

2) Embrace Different Types of Testing

On the manual side

The traditional way to do manual testing includes creating test plans for weeks or even months, then creating test cases for several more weeks.  After the software is developed, but before it is deployed, test validation happens – this often causes a bottleneck in the process.

If you are developing small sets of features rapidly, you want to quickly deploy to get the software into your customers hands as fast as possible.  By embracing exploratory testing, you will be aligning manual testing to be as agile as possible and making the most of the manual testing resources you already have.

On the automation side

There is a need is to be more collaborative so more developers and testers can contribute to the automated test coverage.  Agile needs collaboration to be successful.

So we need to break down these walls – developers are the most able to impact the quality of the code, and so it doesn’t make sense to remove developers from testing. It’s akin to a chef that never tastes their own food! Additionally,  developers will then believe in the validity of these tests, and this insight will help them to build for testers in the future.

3) Culture

Testers are often heads down. They want their list of test cases so they can run and report back on the results; they like finding problems, but are not necessarily interested in solving them.

Agile success depends on a culture where there is a shift in power, so testers are seen as change agents rather than rather than as whistle blowers.

They need to take initiative. It’s time to start saying, “Here is the problem.  I think this is why, and I would propose we fix it like this,” rather than, “Here’s the problem. Go fix it.”  Testers need to grow closer to customers, understanding their needs, and closer to developers as well, to learn why they did certain things in their code.

I think this is why we see more testing moving back onshore. It’s hard to find savvy testers that can collaborate well if they are not in the same location.

A shift needs to happen in testing:

  • From pure test authors or executors to more holistic test leads
  • From large test silos to embedded testers in product teams
  • From a culture of one team (testing) owning quality to a more cross functional view of quality

It’s time to ditch Quality Center ALM. Download the “No More Excuses” free guide to find out what you’re missing and why you should consider qTest.

Share this post

Shaping IT Support with ITSM and JIRA Service Desk

Shaping-IT-Support-With-ITSM-JIRA-Service-Desk-ClearHub

As an Atlassian Platinum Solution Partner, we at Clearvision and ClearHub practice what we preach. Which is why we implemented JIRA Service Desk best practices with the use of ITIL framework for IT Service Management.

Throughout my years of providing IT support in small to enterprise environments, the entirety of incoming activities were managed, organized and structured by ITIL methodologies under ITSM. When companies adopt these practices, they give support engineers and analysts a detailed understanding on how the ITSM structure works making service delivery efficient, rather than leaving them wondering: “What is the difference between an incident and a request?”

Once a basic understanding of ITIL for ITSM has been grasped, any service desk or IT manager with application administration skills can implement this framework to their help desk solution. This is where JIRA Service Desk comes in, to champion those ITIL requirements the business has.

I rolled this out internally at Clearvision. Read on to see how I achieved it…

JIRA was already an established application across multiple teams here at Clearvision, which is often the case in many companies that have the demand for JIRA Software as a development tool. IT support issues were logged, tracked and recorded via a JIRA project.

This, understandably, had its limitations, which is why we made the collaborative decision to add and configure JIRA Service Desk for our IT team.

How we introduced ITIL framework

One of the most commonly adopted best practice frameworks for ITSM is ITIL, which is why Atlassian has ensured that JIRA Service Desk is ITIL certified in the four core processes from PinkVerify™ and Axelos™.

  • Service requests
  • Incident management
  • Problem management
  • Change management

We made use of Atlassian’s ‘Best practices for IT teams using JIRA Service Desk‘ knowledge base as a guide to get us started with ITIL processes, and used our own experience to mature our Service Desk.

Any business, small or large will experience:

  • Unplanned maintenance,
  • Outages
  • Problems
  • Requests for changes

These all require an incident/request/change/problem to be logged and managed by a member of the IT team. We implemented the best practices outlined below to help us on our way to create a Service Desk fit for our organisation.

JIRA Service Desk Best Practice

Change Management

Those of you familiar with change management processes know that it involves planning, control and business impact research. This can all be integrated in your JIRA Service Desk with the following guidelines:

  • Have a separate “change” issue type
  • Create and configure a workflow that meets requirements for reviewing, planning, approval and implementation. See below:
  • The workflow can then be amended to include additional requirements your business has
  • Enforce an approval step for change reviews – many enterprise businesses have a dedicated Change Advisory Board for this purpose (CAB)
  • Coordinate changes with a calendar – we recommend Confluence Team Calendars, as it can be used to ensure this is a fluid process
  • Default form fields for change requests – create issue type fields and screens for your change requests, which can include change type, change risk, change dates, impact, urgency, etc.

Incident Management

Start with the best practice guidelines below to optimize your incident management with JIRA Service Desk.

  • Start with a “incident” issue type in your Service Desk Project
  • Create and configure a workflow – see the example below:
  • The workflow can then be amended to include additional requirements your business has
  • Auto-close incidents after resolving them
  • Link incident records to other issues
  • Default form fields for incident reports

Request Fulfillment

Likewise, JIRA Service Desk also allows you to optimize your service request fulfillment in the following ways:

  • Create a separate “request” issue type
  • Create and configure a workflow that meets business requirements – for example:
  • Incorporate your approval process into the workflow
  • Auto-close service requests after resolving them
  • Default form fields for service requests

Problem Management

When your users run into a problem, JIRA Service Desk’s integration with Confluence is a good way to allow them to search your knowledge base for answers. It allows for quick, simple problem management:

  • Create a “problem” issue type
  • Create and configure a workflow that meets business requirements – for example:
  • Document known errors in your linked Confluence knowledge base on an ongoing basis
  • Default form fields for problem reports

More JIRA Service Desk Tips

In addition to the guidance on the above four processes, there’s plenty more JIRA Service Desk offers that helps both agents and customers. Here are some more great JIRA Service Desk tips to finish up with!

Keep your agent queues organized

Ensuring your queues are organised for your team creates a more efficient and user friendly experience. For example, you can create a triage for new issues, separate incidents, problems, requests and changes, and add a queue for SLA’s that are approaching.

Don’t over-complicate your portal

Keep your request types to a minimum. You don’t want users to be baffled by too many choices. You should always ensure the most common request types are covered, but keep it as simple as possible.

Use canned response templates

Who would want to type the same comment over and over? With canned responses for JIRA, you can create templates to send responses to your customers.

Create automation rules

Automation rules in a Service Desk can be a god send. Here are the automations we use here at Clearvision on a daily basis:

  • Automatically transition an issue based on comment type
  • Re-open issues on customer comment
  • Provide an auto-response acknowledgement
  • SLA alerts
  • Urgency/impact matrix custom rule for automating priority

For me and my team, JIRA Service Desk has had a hugely positive impact on how we deal with IT issues. Implementing and using JIRA Service Desk has been a beneficial experience which keeps growing every day, as we continue to improve and adapt to our business’ and user’s IT requirements. I hope you’ve also gained some tips on how to improve and adapt your own Service Desk environment from this blog post!

For information on ITSM and JIRA Service Desk, and how to get the most out of your help desk environment, contact Clearvision about our ITSM solutions today.

Share this post