<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kat Markava</title>
    <description>The latest articles on DEV Community by Kat Markava (@kat_markava).</description>
    <link>https://dev.to/kat_markava</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F313794%2F2b9508dd-77fe-4457-88da-85a7f469529b.jpg</url>
      <title>DEV Community: Kat Markava</title>
      <link>https://dev.to/kat_markava</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kat_markava"/>
    <language>en</language>
    <item>
      <title>Managing QA in Production</title>
      <dc:creator>Kat Markava</dc:creator>
      <pubDate>Mon, 20 Jul 2020 14:01:24 +0000</pubDate>
      <link>https://dev.to/kat_markava/managing-qa-in-production-5hja</link>
      <guid>https://dev.to/kat_markava/managing-qa-in-production-5hja</guid>
      <description>&lt;p&gt;One can judge the maturity of the product by how stabile its production system is. But bugs happen, and having an efficient issue tracking and resolution flow is critical.&lt;/p&gt;

&lt;p&gt;As a product manager, I see the need to be able to work with the QA closely and efficiently. This collaboration might be in part definitive of the the whole team's dynamic (I want to write more on this sometime).&lt;/p&gt;

&lt;h3&gt;
  
  
  Here's in short how we have it organized:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Logs&lt;/strong&gt; - real-time monitoring tools may show that there is an issue. I like the level of usability on &lt;a href="https://rollbar.com/"&gt;Rollbar&lt;/a&gt; or &lt;a href="https://www.elastic.co/guide/en/kibana/current/introduction.html"&gt;Kibana&lt;/a&gt;. Especially if their notifications integrate into Slack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Customer Success&lt;/strong&gt; - requests come from customers directly to the success team. They try to reproduce it, collect as many details as possible before informing the QA or handing it over to the engineering. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Daily Testing&lt;/strong&gt; - QA team monitors automated daily tests that run in &lt;a href="https://www.selenium.dev/"&gt;Selenium&lt;/a&gt; or does spot-check user tests and discovery.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Customer Surveys&lt;/strong&gt;- alert about unknown problems, mostly with the user experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  So once the issue is reported, the QA needs to follow &lt;strong&gt;these steps&lt;/strong&gt;:
&lt;/h3&gt;

&lt;h3&gt;
  
  
  1. Verify:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;reproduce the issue to make sure it was really an &lt;strong&gt;issue&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Categorize:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Is it a newly &lt;strong&gt;'Discovered'&lt;/strong&gt; issue? &lt;/li&gt;
&lt;li&gt;Is it an old one that's &lt;strong&gt;'Happened'&lt;/strong&gt; again? &lt;/li&gt;
&lt;li&gt;Is it something that was &lt;strong&gt;'Designed'&lt;/strong&gt; this way, but turned out to be a clunky experience?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Prioritize:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;after step 1 and 2, get together with the product manager and/or engineer to discuss the severity and the need to &lt;strong&gt;escalate&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;IF&lt;/strong&gt; the issue is &lt;strong&gt;escalated&lt;/strong&gt; then it's assigned to the engineer who is most familiar with this particular logic in the form of a ticket (we use Jira). &lt;br&gt;
The hotfix is pushed as soon as possible to PROD and the users who experienced the issue are informed about the resolution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IF&lt;/strong&gt; the issue is &lt;strong&gt;NOT escalated&lt;/strong&gt; then the additional data goes into the QA tracking board where it lives until it's escalated or prioritized later in the development cycles.&lt;/p&gt;




&lt;p&gt;In the early days of a young product, the role of the QA is often overlooked. Everyone does testing and debugging. Which is ok to a certain point. &lt;/p&gt;

&lt;p&gt;As the product scales and the team grows, however, what I found to be the most important part of the process, is having the dedicated QA person. The person who has this strong sense of ownership and is passionate about the system doing its best to support the customers through their journey. Without that passion, things become much more complicated and even dangerous. &lt;/p&gt;

</description>
      <category>testing</category>
      <category>qa</category>
      <category>workflow</category>
    </item>
    <item>
      <title>Deploying weekly and... remotely</title>
      <dc:creator>Kat Markava</dc:creator>
      <pubDate>Fri, 26 Jun 2020 03:17:54 +0000</pubDate>
      <link>https://dev.to/kat_markava/deploying-weekly-and-remotely-3lm8</link>
      <guid>https://dev.to/kat_markava/deploying-weekly-and-remotely-3lm8</guid>
      <description>&lt;p&gt;Some facts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;My team is used to deploying to production every week. &lt;/li&gt;
&lt;li&gt;My team is &lt;strong&gt;not&lt;/strong&gt; used to being remote. &lt;/li&gt;
&lt;li&gt;My team now &lt;strong&gt;deploys to PROD remotely&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;We have always been paying a lot of attention to the process of the release cycles, constantly chipping away at the steps, slimming and de-risking it. So, we believe we have a pretty reliable and efficient flow by now. 💪&lt;/p&gt;

&lt;p&gt;Yet, when the first &lt;strong&gt;COVID-19&lt;/strong&gt; lockdown's release day arrived, all of us involved -- engineering, QA and product-- were sweating a lot. I mean, without having everyone within arm's reach at the office, how do you make sure that: &lt;/p&gt;

&lt;p&gt;a. no one misses any migration steps, if they are needed?&lt;br&gt;
b. all environmental variables are in place?&lt;br&gt;
c. you did not reach some mysterious limits on Jenkins?&lt;/p&gt;

&lt;p&gt;(Right, we are using Jenkins for deploys.)&lt;/p&gt;




&lt;p&gt;These are just some of the things that can go wrong. There can be many more, of course, because our product is very complex with a ton of interdependencies and jobs that have to run in production.&lt;/p&gt;

&lt;p&gt;That's why I wanted to share with y'all and also selfishly reflect on how we managed to not screw it all up.😅&lt;/p&gt;

&lt;h3&gt;
  
  
  What seemed to have worked:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A clear checklist that the lead engineer and I agreed upon and documented;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A separate MS Teams channel dedicated to the release communication;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Locking in the release window -- just as with space launches -- if we do not make it by the agreed time, we abort;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;And, my personal favorite, &lt;a href="https://medium.com/arabamlabs/blue-green-deployment-with-jenkins-98393bba2327"&gt;Blue-Green Deployment&lt;/a&gt; that uses &lt;a href="https://www.jenkins.io/doc/book/blueocean/"&gt;Blue Ocean interface&lt;/a&gt; and makes the new PROD build a simple click of a button (well, a few series of buttons).&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To summarize, the combination of &lt;em&gt;solid team communication, operational preparation, and the work DevOps had put into visualizing the deploy pipeline&lt;/em&gt;, made it possible for us to continuously deliver even after this sudden shift in work style. &lt;/p&gt;

&lt;h3&gt;
  
  
  What still needs improving:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Communication&lt;/strong&gt; -- yeah, there can never be enough of it. Now and then, there are threads that get lost in translation or simply overlooked when someone's less than strategically placed comment pushes out critical content;&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Ok, so to be fair this stuff is not easy.&lt;/p&gt;

&lt;p&gt;I see it as a constant work in progress.&lt;/p&gt;




&lt;p&gt;What've your experiences been like? 🤓&lt;/p&gt;

&lt;p&gt;What advice do you have for remote CICD during a pandemic?&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>teamwork</category>
      <category>product</category>
      <category>deploy</category>
    </item>
  </channel>
</rss>
