10 ways to Enable QA in Agile and DevOps Teams

Last year I published a post, DevQOps - Giving QA a Seat at the DevOps and Digital Transformation Table acknowledging that when organizations investing more in application development have to consider the increase in skill and investment required for testing activities.

In my talk last week at AllDayDevOps, I reminded DevOps practitioners that QA is still a critical discipline within DevOps teams. Let me lay out my beliefs -

  1. QA mindset is different than development mindset.  QA is evaluating business benefit and risks to optimize testing while development is balancing their development effort between customer needs and technical debt.

  2. QA skills are distinct from development skills. QA is typically using tools to automate function and load tests then using other tools to validate security and device compatibility. Developers are using tools to develop code and unit tests.

  3. Both developers and QA should be committed to delivering shippable code at the end of every sprint, so every sprint team needs developers and QA working collaboratively toward that goal.

  4. When sizing stories and committing to the sprint, QA should be working with the team and voicing their opinions on the complexity and effort around testing. Story sizes should reflect both the development and testing complexities.

  5. Developers should use coding and documenting principles enabling QA members to understand their code and enable them to diagnose defects.

  6. Teams should collaboratively plan their sprints so that the effort required to test and automate doesn't become time-crunched the last few days of the sprint.  

  7. QA should not only identify the defect, but should take a first pass at reviewing the code and identifying the underling issue.

  8. QA should be providing specific guidelines on whether a release "passes QA". They should become loud and speak their objections when others want to release without this endorsement.

  9. QA should be the first group to triage incidents and defects identified from Ops. At minimum they should take steps to recreate the issue in their testing environments. Ops teams should be providing sufficient computing environments, access to log files, and reports from monitoring systems to enable QA.

  10. QA should develop metrics showing actual test coverage against a defined targeted standards. If this percentage is low and the number of defects discovered in production is high, they should review causes and provide recommendations on improving their practices and identifying where additional investment is need.

You can watch my talk, Driving an Agile and DevOps Culture that Delivers Business Transformation to learn about transformation, team responsibilities, and developing a culture. 
continue reading "10 ways to Enable QA in Agile and DevOps Teams"

Driving an Agile and DevOps Culture that Delivers Business Transformation

Thanks to the team at All Day DevOps for giving me the opportunity to speak about this critical topic on the intersection of agile, devops, culture and business transformation. If you missed the talk, I'm summarizing below and including the stream to watch it along with several other great presentations. If you would like access to the slides, I have a newsletter signup at the bottom of this post.

Summary on Driving an Agile and DevOps Culture that Delivers Business Transformation

  • Most businesses needed to rethink their future digital businesses. Many will increase technology investments to deliver improved customer experiences, new products, and new digital means to attract customers.
  • IT budgets are flat and CIO have to balance investments in Dev, Ops and Testing.
  • An operating model needs to balance innovation, operating needs and delivering quality results.

Getting the culture right then requires three steps - 

All Day DevOps 2016 Continuous Integration/Delivery Track East Coast

Here's the lineup for this session: 
  • Speaking for the Dead: Lessons from Waterfall and Monolithic Architectures – Michael DeHaan 
  • Meta Infrastructure as Code: How Capital One Automates Our Automation Tools with an Immutable Jenkins – George Parris 
  • Driving an Agile and DevOps Culture that Delivers Business Transformation – Isaac Sacolick 
  • I, For One, Welcome Our New Robot Overlords – Mykel Alvis Building 
  • Quality and Security into the Software Supply Chain at Liberty Mutual – Edward Webb

You can review all the other sessions Dashboard for Access to All Day DevOps Sessions.

If you would like access to the slides, please sign up for my newsletter where I will provide initial access to them.

continue reading "Driving an Agile and DevOps Culture that Delivers Business Transformation"

My 300th Post!!! -- Sharing Four Tech Predictions for 2017

Social, Agile, Transformation 300 Posts
This is my 300th post! I started Social, Agile, and Transformation over ten years ago as a Startup CTO posting technical insights that I developed while overseeing application development, innovating with new technologies, and driving customer experiences. Over the last several years, I have been writing more about digital transformation with a lot of detail on agile, DevOps, and data science programs.

Stay tuned for a couple of BIG announcements that I will be making. If you're interested in a preview, please sign up for my newsletter.

For this 300th post, I am going to focus on the future rather than the past. I've always published my technology predictions for the upcoming year, so here are some thoughts as we close out 2016 and look to 2017.

  • Industry is just getting started with blockchain because the underlying platforms are still early stage. What blockchain accomplishes technically is extremely significant to businesses that manage assets with transactions with multiple participating parties. Financial services are where the most significant investment is currently focused, but I foresee this being an integral "backbone" in healthcare, construction, and any industry where services are contracted across multiple providers. I expect that we'll see more blockchain pilots and investment as platforms like Ethereum provide more development and reporting capabilities.

  • Look for more AI breakthroughs in 2017, but I don't expect mid-tier companies to have success as the enabling platforms are still early stage. Even after you complete the data wrangling required to make data available to machine learning and deep learning algorithms, data scientists must experiment with different algorithms and configurations. I really like what DataRobot is doing to simplify testing data against a large number of algorithms.

  • Win at SocialBiz, or lose business as more businesses recognize that they need to improve customer experiences to retain customers and mature many different offline and digital journeys to influence prospects. I expect that Microsoft will look to find an easy quick win integrating LinkedIn to Dynamics CRM while Salesforce looks for a "beyond Twitter" strategy for leapfrogging them. 

  • The talent skill gap will be even more challenging to CIO and CDO in 2017 as they win more executive support for digital transformation programs but lack the full complement of skills to execute it. Look for CIO to experiment with a number of sourcing and technological options such as developing agile contracts with service providers, growing citizen developer programs, and experimenting with DevOps tools to automate more operations. I also predict that Chief Digital Officers that don't have significant application development and operational backgrounds will have a harder time executing their digital strategies. 

Onward to my 400th post!

* Photo credit Vjom/Shutterstock
continue reading "My 300th Post!!! -- Sharing Four Tech Predictions for 2017"

6 Ways to Address the Technical Skill Gap

Now Hiring
In my recent post on why there's a tech skill shortage, I provided some fundamental reasons why there is a significant skill gap between what IT organizations are seeking and the skills that many entry level technologists command. It's a serious problem for businesses when hundreds of thousands of jobs go unfilled for more than ninety days while more than 11% of undergraduates are not employed six months after graduating.

There are ways for corporations, universities, students, government, and nonprofits to chip away at this issue. Getting kids coding earlier and establishing bootcamps are good ideas suggested by CareerFoundry. Florida is allowing students to replace their foreign language requirements with coding skills, a move that I would label a compromise as I'd prefer seeing students learn both foreign language and coding. The Forbes Technology Council published a number of important suggestions including getting more woman and girls to code and reviewing incentives, training, and mentoring programs.   There are also many that believe the gap could be solved by offering apprenticeships.

The Tech Skill Gap is Everyone's Issue

You can't solve the skill gap by putting the burden only on employers, employers, or students and it will take a coordinated effort over a period of time to reduce this gap. Here are some of my suggestions

  1. Employers can hire citizen developers and data scientists with technology backgrounds. Businesses need STEM graduates in many areas outside of traditional IT especially if they want to mature citizen development or citizen data science programs. This will require convincing business managers that hiring technical candidates is a smart strategy and also require developing different career paths for candidates that sign on. 

  2. Partner with the freelance community to give experience to entry level engineers. Candidates can build up their experience and technical skills by winning and completing projects  while employers can experiment with new talent without committing to employment.

  3. Engage multiple universities on corporate sponsored hackathons is another way corporations and universities can partner to mutual benefits. By working with multiple universities, corporations can increase the likelihood of getting real business value from these contests while also evaluating the work from multiple potential hires.

  4. Corporations have to renew their responsibilities to provide ongoing training and a reasonable work/life balance to the engineers that they hire. Too many organizations expect short term ROI from training programs and make it difficult for technologists to break from their business deliverables so that they can learn or practice new skills. Even worse is when organizations overwork their top engineers making it difficult for new hires or mid-level talent to contribute. I would love to see large organizations accept a manifesto that requires ongoing training and balancing the workload of their engineering talent.

  5. Universities should partnerships with MOOCs to provide students specialized technology training that may fall outside of the curriculum required for a degree. It's unlikely the average university will prioritize extensive course and lab work in technologies such as Hadoop, Apache Spark, data preparation, CRM, mobile development and other commercial or open source technologies where the skill gap is most significant. 

  6. Reach out to non-profits, veterans and other alternatives to fill skill gaps. LinkedIn, Microsoft, Amazon, and Uber are all investing in military veterans, many who have technology skills and can fill technical roles across the organization. More than 300 companies are participating in TechHire, a campaign sponsored by President Obama to expand local tech sectors by building tech talent pipelines in communities across the country. NPower is an organization that provides individuals, nonprofits and schools opportunities to build tech skills and and is also an opportunity for corporations to support.

These ideas only work if corporations and universities make changes that go beyond filling roles on today's projects and addressing the needs of today's graduates.   
continue reading "6 Ways to Address the Technical Skill Gap"

Why there's a Tech Skill Shortage - A CIO's Perspective

A couple of articles published last week raised the issue of whether universities are graduating sufficient technology talent to fill positions at US companies. First, Gary Beach provided significant evidence that the skills gap is no laughing matter to CEO and CIO that recognize technology can drive transformation and growth. He quotes studies showing over 500K IT jobs remain open after the first 90 days and that the most sought after skills are in algorithm design, distributed systems, cloud computing, machine learning, mobile development and NoSQL. In the UK, TechRepublic asks why 11.7% computer science graduates remain unemployed six months after graduating.

I'd like to offer some very simple reasons why the skill gap is real and why new graduated are entering the market without sufficient skills to gain employment. In my next post, I'll provide some suggestions on what businesses, students, and universities can do to close the gap.

Transformation Drivers and Financial Constraints Drive CIO Hiring Strategies

Gartner basically shows flat IT spending over the last five years while CIO are required to do more supporting digital transformation, big data, mobile, security and other initiatives. Even when transformations such as cloud, SaaS and lowcode platforms can help reduce costs over time, there is a significant transition period where CIO have to fund multiple platforms and skill sets in parallel.

Couple these financial constraints with the need to go faster, deliver more innovative solutions, and provide solutions that enable amazing user experiences across multiple channels. CIO have to find an optimal mix of talent that can drive these initiatives, meet competitive challenges, and live within financial constraints.

Lastly, maintaining systems for key business processes is an important secondary challenge as the cost of downtime is more expensive and the expertise to maintain multiple interconnected legacy systems scarce. Top talent is often assigned to drive transformation and those left to support production platforms require multiple skills and talents to resolve issues, identify root causes, or perform upgrades.


 CIO Hire Multi-Skilled Technologists with Deep Expertise

What this means for most CIO is that when they need to hire, they are likely searching for multiple skills with deep understanding of several platforms. They can't hire DBAs, databases architects, database programmers, and system engineers to manage their databases and are likely looking for people that demonstrate multiple skills. They are unlikely to be on a single database platform and are probably investing in Big Data and NoSQL technologies, so database specialists are expected to be strong in different technologies and platforms. Databases don't operate in silos and have data preparation, analytics, mobile, and other interfacing applications, so engineers and developers need some mastery of these middle tier applications. If they're developing custom workflows and user interfaces then "web developers" are expected to have mastery in both "front end" and application development domains. CIO always struggle to fund testing so they are likely looking for people who perform some combination of functional testing, automation, load testing, security validation, browser testing, and other forms of quality assurance. UpScored.com's representation of the top 30 skill gaps likely resonates with many CIO.

When the logistics permit hiring someone skilled with one or few technology skills then they are more likely to outsource this resource need. The project demand for this skill set may be temporary and it is often cost effective to fill gaps using freelancers or with offshore or nearshore service providers.

Lastly, digital transformation often requires leveraging emerging technologies where having significant experience and knowledge is necessary to be effective delivering solutions. CIO are more likely to hire experts for these initiatives because the risk of under-delivering with mediocre or entry level talent is too significant.

Businesses are All Competing for Top Talent, Outsourcing for Skills in Single Technologies

So the gap is simple and real and here's why. When CIO are hiring, they are looking for employees that either already have deep expertise in multiple technologies, or show the capacity to learn these quickly. They are willing to pay top dollar for a versatile data scientist that can work with multiple platforms rather than invest in several data scientists with specific skills. When they need scale or specific skills, they are more likely to build offshore captives, partner with service providers, or look to hire remote freelancers.

This also explains why so many graduates have a hard time finding positions. If they come out of school knowing only a handful of technologies and platforms with entry level experience, only the largest hiring firms will be able to interview twenty to hire five and aim to retain two.

The Tech Industry Has Better Options to Address the Skill Gaps

This isn't the first time the tech industry, academic institutions, and tech graduates have witnessed a significant talent gap. Whenever there is a new group of technologies that can drive significant business transformation there is a strong likelihood of skill gaps in both new and legacy technologies. Remember how hard it was to find web programmers in the late '90s to develop websites while searching for cobol programmers to address Y2K issues?

But there are options that can address some of these gaps that I will cover in my next post. Signup below if you want a preview!

continue reading "Why there's a Tech Skill Shortage - A CIO's Perspective"

What is Data Preparation and understanding Vendor Capabilities

I guessed I missed the memo saying that ETL, Data Integration, and Data Quality are outdated terms (and technologies) and the new term used at least by Gartner and at O'Reilly Strata last week in NYC is Data Preparation. I can't say that I blame the industry because few executives understand data integration, ETL is associated with linear, long running data batch processing, and last generation's enterprise versions of data quality tools were too complex and expensive for many organizations.

What is Data Preparation?

At Strata last week I was able to see a number of vendors that are listed in Gartner's Guide for Self-Service Data Preparation. What is universally different from the new generation of data tools versus older ones is that they are "self-service" tools targeting either business users, data scientists, or citizen data scientists. Beyond administrative tools, the capabilities and user experiences of these tools are largely designed for non-technologists, although many enable advanced capabilities and the ability to plug in R, Python, or other code developed by IT or data scientists. This is a sharp contrast to ETL and data quality tools of the past that were largely designed for IT. Gartner goes on to illustrate several other differences around data types, sources, models, and other areas of differences between traditional data integration and data preparation.

When you review different vendors, you'll see that they focus on different aspects of data preparation and the sophistication of their capabilities vary considerably.

  • Many market themselves as tools that enable Big Data and Hadoop by allowing business users to easy load and join data sets into their Hadoop clusters. For the CIO that has big data infrastructure that is underutilized, these tools are designed to be "on ramps" to enable business users to begin loading data and performing analytics. DataMeer, Pentaho, and MicroStrategy are examples.
  • Some are positioning themselves as data lakes, or data lake management tools. They have similar data preparation capabilities for business users, but add IT operational capabilities around the data lakes. Vendors include Zaloni.
  • Most vendors then have some capability to either transform, join, or cleanse data. Many will use visual pipeline tools to illustrate steps, data grids to profile and identify cleansing issues, visualizations to help users discover basic information around the data set, and catalogs so that users can search and find relevant data. Example products are from Trifacta, Talend, Informatica, and Paxata
  • Many of the data visualization vendors also have some amount of data preparation capabilities. For example, Qlik can do data transformations and Tableau can easily do blends, grouping and binning. Other vendors in this space are Microsoft Power BI and SiSense.

I didn't get to visit every vendor at Strata such at Attivio, Waterline, ClearStory Data, RapidMiner and others that play in this space, but it's clear that CIOs and Chief Data Officers have their work cut out for them reviewing and selecting data platforms that work easily with their existing investments and platforms.

Want to learn more? Please sign up for the newsletter where I will share one secret to evaluating data preparation platforms.

continue reading "What is Data Preparation and understanding Vendor Capabilities"

Alexa, Siri, and Cortana Voice Controls Going Mainstream

Star Trek Scotty, A Keyboard, How Quaint
Alexa has over 3000 skills. The iPhone 7 goes wireless, a step Apple is taking to get users to leverage Siri more frequently and easily. Microsoft is broadening Cortana's AI capabilities

We've reached an inflection point; the end of the keyboard, mouse, and touchpad and the start of voice commands as a legitimate controller. When you develop your next application, you are likely implementing mobile first, web second and thinking about a watch experience. Now add voice controls to the mix and someday soon voice inputs will outnumber keyboard inputs.

A couple of weeks ago I saw a developer configuring Alexa to push data into AWS Lambda and store information. Alexa has some limitations in that voice commands needs to be configured up front, but the demo showed that it's relatively straightforward interfacing basic voice commands to applications.    

Reminds me of this classic Star Trek scene. "A keyboard. How quaint" says Scotty

continue reading "Alexa, Siri, and Cortana Voice Controls Going Mainstream"