<?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: Meneg Volkoc</title>
    <description>The latest articles on DEV Community by Meneg Volkoc (@crumpetsforlife).</description>
    <link>https://dev.to/crumpetsforlife</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%2F1496043%2F5a6b3d81-295a-4f7c-a854-093aef4f3d29.jpg</url>
      <title>DEV Community: Meneg Volkoc</title>
      <link>https://dev.to/crumpetsforlife</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/crumpetsforlife"/>
    <language>en</language>
    <item>
      <title>How Scrum Destroys Software Teams</title>
      <dc:creator>Meneg Volkoc</dc:creator>
      <pubDate>Fri, 17 May 2024 09:22:53 +0000</pubDate>
      <link>https://dev.to/crumpetsforlife/how-scrum-destroys-software-teams-4j9</link>
      <guid>https://dev.to/crumpetsforlife/how-scrum-destroys-software-teams-4j9</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Focuses on fake metrics instead of code quality:&lt;/strong&gt; Emphasizes superficial performance indicators, like burndown charts or number of Jira tickets, rather than the actual quality, functionality, and maintainability of the code. This approach can lead to bloated, inefficient codebases that are difficult to manage and evolve over time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Wastes engineering time with unnecessary meetings and ceremonies:&lt;/strong&gt; Implements excessive meetings and rituals that do not contribute meaningfully to the project’s progress. These can drain significant amounts of productive time, reducing the overall efficiency and morale of the engineering team.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Removes code ownership:&lt;/strong&gt; Distributes responsibility for code in such a way that no individual or small team has clear ownership. This can lead to a lack of accountability, reduced motivation for maintaining high standards, and difficulties in managing and improving the codebase since no one feels directly responsible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Creates a churn culture:&lt;/strong&gt; Encourages a high turnover rate among engineers, leading to instability and the constant loss of institutional knowledge. New hires have to repeatedly climb the learning curve, which disrupts continuity and hampers long-term project success.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prevents code refactoring:&lt;/strong&gt; Stifles the necessary process of restructuring existing code to improve its structure, readability, and maintainability without changing its external behavior. This results in an increasingly unwieldy and fragile codebase over time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ensures technical debt:&lt;/strong&gt; Accumulates technical debt by prioritizing short-term gains and quick fixes over sustainable, high-quality solutions. Over time, this debt can slow development, increase bugs, and make future enhancements more difficult and expensive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Caters to the lowest common denominator creating replaceable, low salary engineering positions:&lt;/strong&gt; Standardizes roles and responsibilities to a level where individual creativity and higher-level problem-solving skills are undervalued, leading to a workforce of easily replaceable, lower-paid engineers. This can demotivate talented engineers and stifle innovation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prevents career advancement:&lt;/strong&gt; Limits opportunities for personal and professional growth within the organization. Engineers may find it difficult to progress in their careers due to a lack of challenging work, mentorship, or recognition for their contributions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Creates the illusion of progress:&lt;/strong&gt; Generates a false sense of accomplishment by focusing on surface-level activities and deliverables rather than meaningful, impactful progress. This can mask underlying issues and create complacency within the team and management.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Prevents engineer interaction with users of the software:&lt;/strong&gt; Separates engineers from the end-users of the software, leading to a disconnect between those who develop the product and those who use it. This can result in software that fails to meet user needs and expectations, as engineers are not able to receive direct feedback or understand real-world use cases.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>agile</category>
      <category>scrum</category>
    </item>
    <item>
      <title>8 Software Truths</title>
      <dc:creator>Meneg Volkoc</dc:creator>
      <pubDate>Wed, 15 May 2024 04:57:50 +0000</pubDate>
      <link>https://dev.to/crumpetsforlife/8-software-truths-4125</link>
      <guid>https://dev.to/crumpetsforlife/8-software-truths-4125</guid>
      <description>&lt;ul&gt;
&lt;li&gt;A poor abstraction is worse than duplicating code&lt;/li&gt;
&lt;li&gt;Complexity is considerably easier to add than it is to remove&lt;/li&gt;
&lt;li&gt;All code errors are type errors, but not all type systems are expressive enough to surface them&lt;/li&gt;
&lt;li&gt;Given enough time all class hierarchies are eventually wrong for new use cases&lt;/li&gt;
&lt;li&gt;Developers who believe they can foresee the future are more dangerous than missing business requirements&lt;/li&gt;
&lt;li&gt;Meetings are not for communication, they are for making decisions&lt;/li&gt;
&lt;li&gt;Methods that work well with remote teams don't work well with traditional hierarchical management structures&lt;/li&gt;
&lt;li&gt;Code metrics are an effort to abstract developer output into something a manager with no domain experience can understand&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>software</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
