<?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: Dustin Robison</title>
    <description>The latest articles on DEV Community by Dustin Robison (@dustinrobison).</description>
    <link>https://dev.to/dustinrobison</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%2F690422%2F8afb9506-d242-476b-8563-8561cb177fbb.jpeg</url>
      <title>DEV Community: Dustin Robison</title>
      <link>https://dev.to/dustinrobison</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dustinrobison"/>
    <language>en</language>
    <item>
      <title>Agile Scrum: this is (rarely) the way</title>
      <dc:creator>Dustin Robison</dc:creator>
      <pubDate>Mon, 27 Sep 2021 21:22:32 +0000</pubDate>
      <link>https://dev.to/dustinrobison/agile-scrum-this-is-rarely-the-way-1n60</link>
      <guid>https://dev.to/dustinrobison/agile-scrum-this-is-rarely-the-way-1n60</guid>
      <description>&lt;p&gt;Agile Scrum is composed of many assumptions and rituals that don't apply to most software developers or their teams. Scrum has become the standard process for organizing development mostly because it makes great promises. However, only certain situations will actually deliver on those promises.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agile Scrum Promises simplified:
&lt;/h3&gt;

&lt;p&gt;The business decision makers are promised:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Planning and schedule predictability&lt;/li&gt;
&lt;li&gt;  Increased output and visibility from developers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The developer is promised:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  A continuous sustainable pace (ie. good work life balance)&lt;/li&gt;
&lt;li&gt;  More innovation, learning opportunities and rapid change&lt;/li&gt;
&lt;li&gt;  Increased morale&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Does Agile Scrum deliver on these promises?
&lt;/h3&gt;

&lt;p&gt;Rarely, in my experience and observations. I was fully sold on Agile Scrum in 2013 when an external company came and trained most of my company over a 3 day period. Since then I have been a part of and witnessed team after team falling into the productivity decline of "Storming, Forming, Norming" that Scrum adopters are warned about but have not witnessed any team come out the other side of "performing" with great productivity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why has Agile Scrum failed?
&lt;/h3&gt;

&lt;p&gt;Assumptions. Agile Scrum makes many assumptions of a team's shape and composition that have rarely been correct. These assumptions are not posted anywhere to my knowledge but seem to be in between the lines.&lt;/p&gt;

&lt;p&gt;Assumptions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  All team members are equally capable of doing and estimating all team work

&lt;ul&gt;
&lt;li&gt;  Developers can become experts about everything technical&lt;/li&gt;
&lt;li&gt;  Developers have some authority in technology and commitments&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Agile Scrum asks each and every developer to weigh in on task complexity for estimation purposes even though most developers gravitate towards a certain domain area or technical stack area and others are clueless about it. Ideally it would be nice if each developer could contribute well in each area but in my experience that just doesn't happen.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Development and business have equal priority decision authority

&lt;ul&gt;
&lt;li&gt;  Development team must have a large quantity of reserved capacity for non feature tasks&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Normally, business feature requests consume the entire development team workload. A business area wants a massive workload of epic tasks done in a quarter that they trim that down to about 10% of the tasks to ask the development team. Likewise, the development team should have their own massive workload of automating things and technical debt that is then trimmed down to the most important 10%. Well, what happens next? The business team explains that their 10% tasks are business critical and the development team complains that they would be stretched to do half of the request work. The development team's requested workload is forgotten, technical debt is layered with more technical debt and team productivity and morale is broken.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  A team shares authority and responsibility equally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An individual developer is no longer responsible for almost anything in Scrum, everything is the team's responsibility. In theory it sounds like a great new union has formed but in practice I have often seen that leads to developers' motives changing to hit their story (imaginary) point numbers instead of delivering value to the customer. The developers who are highly invested in their product and customer are often viewed the same as everyone else on the team.&lt;/p&gt;

&lt;h3&gt;
  
  
  When scrum gets ugly
&lt;/h3&gt;

&lt;p&gt;At its worst I have seen scrum practices used for non productive intentions. I have seen Scrum be used as a means of micromanagement so a leader can be in everybody's business and determine how they work and should think. I have seen multi-day sprint ritual meetings that ignore immediate customers' needs. I have seen Agile Scrum be subverted for someone to take leadership authority in order to get control of projects and their technical decisions. Instead of a technical lead working with interested parties a scrum master will step in to talk about MVP (minimum viable product) and tell everyone to prioritize creating technical debt. Of course these aren't always the case but I have seen this and more multiple times in the past 8 years.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Rituals
&lt;/h3&gt;

&lt;p&gt;Lastly, Agile Scrum preaches a lot of meetings. Daily Standup, Backlog Grooming, Sprint Planning, Sprint Review, and Retrospective. Most of the meetings are about planning work and staying in sync with the rest of the team. This sounds really good on the surface but for most developers it really doesn't matter what a different group of developers are doing and it is more time wasted in meetings.&lt;/p&gt;

&lt;h3&gt;
  
  
  If not Agile Scrum then what?
&lt;/h3&gt;

&lt;p&gt;I don't know. Personally I liked Kanban's simplicity, prioritizing tasks and getting them done. There are trade offs with each option but Agile Scrum seems to be on a Corporate Bible. Hopefully more businesses can start thinking of better options.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;I don't actually hate scrum, in fact I am part of it every day and my team does a good job making it as lean and quick as possible. I do hate that scrum is the only choice in corporate software environments these days. I personally value the freedom of development choices and ownership of responsibility over the ritualistic meetings and all developers are equal mentality that Agile Scrum promotes. I have yet to see an Agile Scrum team leave their "Storming, Forming, Norming" productivity dip in 8 years and I hope we can find better solutions in the future.&lt;/p&gt;

&lt;h4&gt;
  
  
  All my posts are based off my personal experience and I would like to hear if you have had a different experience or comments
&lt;/h4&gt;

&lt;p&gt;Thank you for reading! My blog: &lt;a href="https://www.corpcoder.dev/posts/agile-scrum-this-is-rarely-the-way"&gt;corpcoder.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>agile</category>
      <category>culture</category>
    </item>
    <item>
      <title>How to handle working on something you do not like</title>
      <dc:creator>Dustin Robison</dc:creator>
      <pubDate>Fri, 24 Sep 2021 17:57:47 +0000</pubDate>
      <link>https://dev.to/dustinrobison/how-to-handle-working-on-something-you-do-not-like-1kj6</link>
      <guid>https://dev.to/dustinrobison/how-to-handle-working-on-something-you-do-not-like-1kj6</guid>
      <description>&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;A corporate coders true dilemma: being told what to build and &lt;strong&gt;how to build it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every corporation has non software developer leaders that often are making technical choices. In an ideal corporation the business leadership would focus on what they want and leave it to the technical team to resolve how to build it. Some negotiation would take place over timelines and features but the end decision would result in the business choosing a product and the technical staff choosing a method of creating the product.&lt;/p&gt;

&lt;p&gt;I personally have been on the receiving end of being told how to build things by non technical people multiple times in almost every corporate job. It is more common at larger companies but also happens at smaller companies as well. At one large company we were told to use a tool that really did not fit our use case but it had a large price tag and great presentation with big promises. At another large corporation a developer pitched an idea of a way to build things with "no code" and had leadership sign off creating a large complexity headache for all other developers. At a small corporation I worked on a valuable new piece of software that was shut down by an executive because he only wanted to pay for "the standard approach." The developer subsequently left and created a successful startup.&lt;/p&gt;

&lt;h3&gt;
  
  
  What is important to you?
&lt;/h3&gt;

&lt;p&gt;This is the real question: what is important to you? Or really, &lt;em&gt;what is the relative importance&lt;/em&gt; of how you are working vs other concerns?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  How important are those paychecks, benefits and stability to you?&lt;/li&gt;
&lt;li&gt;  How important is your pride of craftsmanship?&lt;/li&gt;
&lt;li&gt;  How important is your corporation or business units mission?&lt;/li&gt;
&lt;li&gt;  How important is your company position?&lt;/li&gt;
&lt;li&gt;  How important is your geographic location?&lt;/li&gt;
&lt;li&gt;  How important is your career path?&lt;/li&gt;
&lt;li&gt;  What are the other important factors?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  The common case: a job is just a job
&lt;/h3&gt;

&lt;p&gt;For most people a job is just a job. In my opinion these people aren't wrong at all, in fact they may be the most correct. If you can be satisfied making your objection about the poor methodology choice but still work hard as normal then that is great. You must still be achieving the things that are important to you and in the end you will likely produce a good product.&lt;/p&gt;

&lt;p&gt;There are risks with this of course. Corporations have no guaranteed commitment to their employees (or vise versa) so if suddenly you are out of a job then your options may be more limited.&lt;/p&gt;

&lt;h3&gt;
  
  
  The noticed path: my way or the highway
&lt;/h3&gt;

&lt;p&gt;For some people the work that they do defines them and doing anything less than their optimal solution would directly lower their self worth and positive impact they can have on the world. This is a hardline dangerous road however many great new corporations have come from this. I don't recommend this path because I think there is a slightly better option that I will discuss next but if your current job is bad for your mental or emotional health and you can't take it anymore then perhaps this is your only true option.&lt;/p&gt;

&lt;p&gt;If you think this is the path for you I would encourage you to take a step back and breathe and really consider what is important to you. What motivates you? Maybe a paycheck, benefits and stability are not important factors for you but they are sure are nice to have and it is extremely risky to drop a job without even a career plan.&lt;/p&gt;

&lt;p&gt;There are also ways to mitigate the negative emotions of working on something you do not like that I will discuss at the end.&lt;/p&gt;

&lt;h3&gt;
  
  
  The patient path: the grass is always greener
&lt;/h3&gt;

&lt;p&gt;Everybody has heard the adage, "&lt;em&gt;never quit a job until you have another one&lt;/em&gt;." It is great advice but also lacking. If you don't like your current responsibilities will taking a new role be better? &lt;strong&gt;Maybe, or it could be worse.&lt;/strong&gt; As corporate coders we have to understand that we surrender most of our power to decide how we go about our work by taking a paycheck. Our primary clients are often our superiors, the person paying you; not necessarily the end users of our software. Your primary &lt;em&gt;customer is always right&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;I encourage software developers to be patient and find out what is important and motivates them. The answer is often different than we would first think and if you do not know, then that is okay too. If you have served enough time to make your resume look good in your current role then &lt;em&gt;patiently&lt;/em&gt; try looking for a position that you think may suit you better and learn from each role. Make friends with your coworkers to open new opportunities and get their input as well.&lt;/p&gt;

&lt;h3&gt;
  
  
  A simple mitigation strategy
&lt;/h3&gt;

&lt;p&gt;If you are unhappy that you do not get to do the work you want to do then a simple answer would be to do the work you want to do in addition to the work you must do. Discuss with your manager if you can spend some of your work time on a new idea or just simply work on your own project outside of your work hours.&lt;/p&gt;

&lt;p&gt;For example, if your job has you working in Python but you like working in JavaScript then do your Python during work hours and do JavaScript at home. To get a job doing JavaScript you will definitely need current experience and probably a portfolio. Learning and doing more will lead to greater opportunities.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Find what motivates you and what is important to you through experience, patience and perseverance. Once you know that you can be happier in your current role or you can decide how you are going to achieve your goals.&lt;/p&gt;

&lt;h4&gt;
  
  
  All my posts are based off my personal experience and I would like to hear if you have had a different experience or comments
&lt;/h4&gt;

&lt;p&gt;Thank you for reading! My blog: &lt;a href="https://www.corpcoder.dev/posts/how-to-handle-working-on-something-you-do-not-like"&gt;corpcoder.dev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>culture</category>
    </item>
  </channel>
</rss>
