{"id":63189,"date":"2013-07-15T12:09:57","date_gmt":"2013-07-15T17:09:57","guid":{"rendered":"http:\/\/blog.cpanel.net\/?p=11181"},"modified":"2013-07-15T12:09:57","modified_gmt":"2013-07-15T17:09:57","slug":"the-scrum-method-via-chad-mccanna","status":"publish","type":"post","link":"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/","title":{"rendered":"The Scrum Method, via Chad McCanna"},"content":{"rendered":"

Here at cPanel, we use the Scrum framework to ensure an organized flow for each project. Recently, Chris, a Technical Product Specialist, asked Chad McCanna, our Scrum Master rockstar, to share some insight about why this works so well for cPanel.<\/em><\/p>\n

“Chad, in your words, what is a Scrum Master?”<\/em><\/p>\n

A Scrum Master is classified as a servant leader. They’re basically in charge of facilitating the development process and owning the Scrum framework. They act as a barrier between the product owner, stakeholders, and the team itself. They need to be the conduit through which all information passes, or at least be present during all conversations so that there\u2019s no violation. For example, if you have someone’s manager acting as a product owner, there can be some influence there. The Scrum Master is there to kind of diffuse that, to allow the team to focus on their commitments; so yeah, they wear a lot of hats. In a nutshell, the Scrum Master owns the process and ensures that everyone else is able to do their jobs to the best of their ability.<\/p>\n

“When you say \u201cdo their jobs to the best of their ability\u201d, and then you state that you\u2019re a facilitator of the development process, can you elaborate?”<\/em><\/p>\n

\u00a0Sure. If there\u2019s an impediment, resolution is a big part of what the Scrum Master does. That\u2019s necessary so that the team members can stay focused on their specific disciplines. Most teams have members from Documentation, Quality Assurance, Backend developers, and Frontend devs. So, for example, last week we had a situation where one of our QA members was unable to connect to the build server, so I had to go pound the pavement to find out who runs our VMWare Manager. I got the issue resolved, and they were able to move onto something else during the hour and a half that it took me to deal with that.
\nI basically jump on the grenade so that the team can stay focused on what they\u2019re doing.<\/p>\n

“The Scrum process is fairly new to cPanel itself, being implemented a little over a year ago. So how has the Scrum process bettered cPanel as a whole over its previous Waterfall adaptation?”
\n<\/em>
\nWhat you get with Waterfall is a lack of transparency, and a bottleneck. You might have five projects that developers just throw over the fence that land in QA all at once, and there\u2019s just no way they can deal with that. By having a different QA representative on each team, they become smaller, focused, and fully functional development units. Scrum is an iterative process, so every two weeks there\u2019s a deliverable; it makes it very easy to course correct if something\u2019s not going correctly. In the worst case scenario, we have wasted two weeks. In the past, there was very little oversight into the process. Six months could go by and there\u2019s something completely unusable because there were far fewer checks and balances. Scrum emphasizes quality over speed, but by organizing through Scrum we\u2019ve actually increased our speed quite a bit. We\u2019re now doing three releases a year by not focusing on targeting individual projects for specific releases, but rather focusing on making sure their development is complete. Previously, we had one release each year or so\u2026 and sometimes as long as every 18 months. Now, if something isn\u2019t done in time for the upcoming release, it\u2019s simply held for the next release. There\u2019s just a four month lag with this release time table. By adhering to this release schedule, our customers are aware of that \u2013 they can expect & plan for another roll out in four months, and it just makes it much easier for everyone. There are no surprises, and it prevents the QA process from being short circuited, which was a big concern as well.<\/p>\n

“Do you find that the change from the previous development process was difficult, or was it an easy move?”<\/em><\/p>\n

There were growing pains. Certain segments of cPanel have adopted the Scrum framework at a different pace than others. We\u2019re just now getting the internal systems team fully staffed up. They just received a dedicated Scrum Master in Aaron Nelson, and a QA member. We\u2019ve got Craig Dial as SM on the QA tools team, and Lauren McLean overseeing the Code Monkeys feature team in addition to EasyApache. It\u2019s taken some time to get all the teams and various segments of the company fully staffed up. We usually refer to our stop-gap staffing solutions as conflicts of interest, where you have a Developer\/Product Owner, or Developer\/Scrum Master. Each of those is really a full time job, and it\u2019s just been a gradual process to get them all up to speed. Scrum also encourages cross disciplinary development, so if you have a Perl developer who is stuck waiting on UI, it\u2019s perfectly acceptable for them to crack open a JavaScript book and start digging into it, with the understanding that the UI member will hold it to the same standards as any other code, and we actually encourage that .<\/p>\n

Scrum is painfully bereft with acronyms \u2013 we call subject matter experts “SMEs”. For example, the Backend team member is your Perl SME, and you want that person to be an authority for that segment of development. However, you don\u2019t want them to feel as though they\u2019re pigeon-holed into just that. Over time, if you get people comfortable sticking their toes into another discipline, then the team doesn\u2019t grind to a halt if someone\u2019s out for a week. It may slow down, but that way you can let others pick up some of the slack.<\/p>\n

“What\u2019s the name of your current Scrum Team?”<\/em><\/p>\n

I’m currently the Scrum Master for Team Cobra, which is working on a number of projects concurrently. They’re a ridiculously high-performing team that embodies the phrase “controlled chaos”. One of our projects is SSL improvements, to bring in SNI and ultimately Wildcard support, along with some infrastructural improvements to the way we store SSL constructs. We’re also working on a UI-driven API Shell that will make third party developers’ lives much easier, and a Restricted Restoration system that allows you to specify whether you trust an account backup for unrestricted restoration, or would like it to be put through a sanitization process to get rid of potential exploits.<\/p>\n

“Roughly what are the sizes of cPanel Scrum teams, and who do they consist of?”<\/em><\/p>\n

Traditionally each team will have a Perl Developer, UI Developer, Documentation member (who oversees all the copy for the online documentation, website copy, and man pages), and then of course Quality Assurance. They write the functional testing that\u2019s done throughout the development process, as well as included into the test suite for automated testing of the product.<\/p>\n

The number of people included from each discipline ultimately depends on the needs of the project. For example, the RPM project was very backend heavy, with an almost nonexistent UI component. We had three Backend devs, one Doc, and a single QA. The SSL project is very rooted in improving the end user experience. We currently have two UI devs on that team, one of whom, Felipe Gasper, is currently filling in for both Backend and Frontend. He\u2019s well versed in Perl, and able to pull double duty to help out our Backend devs.<\/p>\n

“So the Scrum Teams often do demos of what they\u2019re working on, which is fantastic because it allows all members of the company to join and find out what\u2019s coming. How does this incorporate into Scrum within cPanel?”<\/em><\/p>\n

Most teams run an internal pre-demo, specifically for the Product Owners to sign off at the end of each sprint on which individual pieces of functionality meet their acceptance criteria. That\u2019s the final check before something is considered complete. When it gets to that point it will have passed by QA, and it will have gone by two pairs of developer eyes for code review. Each department has their own standards which the SMEs are tasked with upholding on their respective teams.<\/p>\n

The outward-facing demo occurs at the end of each sprint, and allows the team to show off the sprint\u2019s work in a comprehensive way, providing an opportunity for input from outsiders. During the course of each sprint, the product owner is interfacing with these stakeholders, gathering information on what they want to see. These stakeholders are both internal and external \u2013 for example: the Forums and Feature Request System. That is an ongoing conversation, that’s then formalized during the demo.
\n
\n<\/em>“Final question: How do you enjoy being a Scrum Master?”<\/p>\n

For my personal workflow, working on a lot of things at once is actually enjoyable. It is its own sort of problem solving. I could be helping someone with a technical issue, and then having to deal with some communication barrier if someone\u2019s working remotely. It\u2019s a lot of stuff to juggle all in one day, which is compounded when you\u2019re dealing with multiple teams, or in my case prepping teams for new Scrum Masters. It\u2019s also great overseeing the Scrum process and sort of being an authority on that for any team members that may have questions or issues that might come up.<\/p>\n

Also, I love seeing what cPanel is working on. It\u2019s a company that\u2019s always trying to be on the cutting edge of what our customers want, and what the industry as a whole needs. To see that in active development, to see, and in many cases facilitate, the foundation being laid for a large segment of the Internet, is incredibly interesting and a lot of fun.<\/p>\n","protected":false},"excerpt":{"rendered":"

Here at cPanel, we use the Scrum framework to ensure an organized flow for each project. Recently, Chris, a Technical Product Specialist, asked Chad McCanna, our Scrum Master rockstar, to share some insight about why this works so well for cPanel. “Chad, in your words, what is a Scrum Master?” A Scrum Master is classified […]<\/p>\n","protected":false},"author":77,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[73,49],"tags":[689,693],"class_list":["post-63189","post","type-post","status-publish","format-standard","hentry","category-cpeople","category-products","tag-scrum","tag-tps"],"acf":[],"yoast_head":"\nThe Scrum Method, via Chad McCanna | cPanel<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Scrum Method, via Chad McCanna | cPanel\" \/>\n<meta property=\"og:description\" content=\"Here at cPanel, we use the Scrum framework to ensure an organized flow for each project. Recently, Chris, a Technical Product Specialist, asked Chad McCanna, our Scrum Master rockstar, to share some insight about why this works so well for cPanel. “Chad, in your words, what is a Scrum Master?” A Scrum Master is classified […]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/\" \/>\n<meta property=\"og:site_name\" content=\"cPanel\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cpanel\/\" \/>\n<meta property=\"article:published_time\" content=\"2013-07-15T17:09:57+00:00\" \/>\n<meta name=\"author\" content=\"cPanel Community\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cPanel\" \/>\n<meta name=\"twitter:site\" content=\"@cPanel\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"cPanel Community\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/\",\"url\":\"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/\",\"name\":\"The Scrum Method, via Chad McCanna | cPanel\",\"isPartOf\":{\"@id\":\"https:\/\/devel.www.cpanel.net\/#website\"},\"datePublished\":\"2013-07-15T17:09:57+00:00\",\"dateModified\":\"2013-07-15T17:09:57+00:00\",\"author\":{\"@id\":\"https:\/\/devel.www.cpanel.net\/#\/schema\/person\/8cf97408aad4fb70cf55d11a1d4f57f8\"},\"breadcrumb\":{\"@id\":\"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/devel.www.cpanel.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Scrum Method, via Chad McCanna\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/devel.www.cpanel.net\/#website\",\"url\":\"https:\/\/devel.www.cpanel.net\/\",\"name\":\"cPanel\",\"description\":\"Hosting Platform of Choices\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/devel.www.cpanel.net\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/devel.www.cpanel.net\/#\/schema\/person\/8cf97408aad4fb70cf55d11a1d4f57f8\",\"name\":\"cPanel Community\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/devel.www.cpanel.net\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e1949945083b5526bb95711bd3d616b3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e1949945083b5526bb95711bd3d616b3?s=96&d=mm&r=g\",\"caption\":\"cPanel Community\"},\"description\":\"The web hosting industry's most reliable management solution since 1997. With our first-class support and rich feature set, it's easy to see why our customers and partners make cPanel & WHM their hosting platform of choice. For more information, visit cPanel.net.\",\"sameAs\":[\"https:\/\/cpanel.net\"],\"url\":\"https:\/\/devel.www.cpanel.net\/blog\/author\/cpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Scrum Method, via Chad McCanna | cPanel","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/","og_locale":"en_US","og_type":"article","og_title":"The Scrum Method, via Chad McCanna | cPanel","og_description":"Here at cPanel, we use the Scrum framework to ensure an organized flow for each project. Recently, Chris, a Technical Product Specialist, asked Chad McCanna, our Scrum Master rockstar, to share some insight about why this works so well for cPanel. “Chad, in your words, what is a Scrum Master?” A Scrum Master is classified […]","og_url":"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/","og_site_name":"cPanel","article_publisher":"https:\/\/www.facebook.com\/cpanel\/","article_published_time":"2013-07-15T17:09:57+00:00","author":"cPanel Community","twitter_card":"summary_large_image","twitter_creator":"@cPanel","twitter_site":"@cPanel","twitter_misc":{"Written by":"cPanel Community","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/","url":"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/","name":"The Scrum Method, via Chad McCanna | cPanel","isPartOf":{"@id":"https:\/\/devel.www.cpanel.net\/#website"},"datePublished":"2013-07-15T17:09:57+00:00","dateModified":"2013-07-15T17:09:57+00:00","author":{"@id":"https:\/\/devel.www.cpanel.net\/#\/schema\/person\/8cf97408aad4fb70cf55d11a1d4f57f8"},"breadcrumb":{"@id":"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/devel.www.cpanel.net\/blog\/products\/the-scrum-method-via-chad-mccanna\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/devel.www.cpanel.net\/"},{"@type":"ListItem","position":2,"name":"The Scrum Method, via Chad McCanna"}]},{"@type":"WebSite","@id":"https:\/\/devel.www.cpanel.net\/#website","url":"https:\/\/devel.www.cpanel.net\/","name":"cPanel","description":"Hosting Platform of Choices","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/devel.www.cpanel.net\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/devel.www.cpanel.net\/#\/schema\/person\/8cf97408aad4fb70cf55d11a1d4f57f8","name":"cPanel Community","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/devel.www.cpanel.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e1949945083b5526bb95711bd3d616b3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e1949945083b5526bb95711bd3d616b3?s=96&d=mm&r=g","caption":"cPanel Community"},"description":"The web hosting industry's most reliable management solution since 1997. With our first-class support and rich feature set, it's easy to see why our customers and partners make cPanel & WHM their hosting platform of choice. For more information, visit cPanel.net.","sameAs":["https:\/\/cpanel.net"],"url":"https:\/\/devel.www.cpanel.net\/blog\/author\/cpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/devel.www.cpanel.net\/wp-json\/wp\/v2\/posts\/63189"}],"collection":[{"href":"https:\/\/devel.www.cpanel.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devel.www.cpanel.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devel.www.cpanel.net\/wp-json\/wp\/v2\/users\/77"}],"replies":[{"embeddable":true,"href":"https:\/\/devel.www.cpanel.net\/wp-json\/wp\/v2\/comments?post=63189"}],"version-history":[{"count":0,"href":"https:\/\/devel.www.cpanel.net\/wp-json\/wp\/v2\/posts\/63189\/revisions"}],"wp:attachment":[{"href":"https:\/\/devel.www.cpanel.net\/wp-json\/wp\/v2\/media?parent=63189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devel.www.cpanel.net\/wp-json\/wp\/v2\/categories?post=63189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devel.www.cpanel.net\/wp-json\/wp\/v2\/tags?post=63189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}