<?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: Victor Akpan</title>
    <description>The latest articles on DEV Community by Victor Akpan (@victor_akpan).</description>
    <link>https://dev.to/victor_akpan</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%2F359361%2F2b200be1-d949-4f0c-adb5-de64b2261255.jpeg</url>
      <title>DEV Community: Victor Akpan</title>
      <link>https://dev.to/victor_akpan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/victor_akpan"/>
    <language>en</language>
    <item>
      <title>Trade-offs, no absolutes</title>
      <dc:creator>Victor Akpan</dc:creator>
      <pubDate>Tue, 11 Aug 2020 04:29:40 +0000</pubDate>
      <link>https://dev.to/victor_akpan/trade-offs-no-absolutes-166h</link>
      <guid>https://dev.to/victor_akpan/trade-offs-no-absolutes-166h</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lqnO9A_v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thesaurus.plus/img/synonyms/776/tradeoff.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lqnO9A_v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thesaurus.plus/img/synonyms/776/tradeoff.png" alt="tradeoff"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;IT ecosystem is in a state of continuous change. A decade ago containerization tools like docker and kubernetes didn't exist. Today, you can't talk about fault-tolerant, availability and scalability without considering these tools. Chances are 10 years from now a new set of tools will emerge. There are no absolutes anymore, every technical decision has its trade-offs.&lt;/p&gt;

&lt;p&gt;Merriam-Webster dictionary defines trade-offs as "1: a balancing of factors all of which are not attainable at the same time. 2: a giving up of one thing in return for another". Technical managers, architects and engineers have a duty to question every design decision, consider its trade-offs and how these trade-offs align to the requirements of a project. &lt;/p&gt;

&lt;p&gt;For example, you are tasked with selecting a programming language for a new project. Your first instinct might be your favorite language or one you are comfortable with. Given the impact a programming language choice can have on a project, we have to set aside our feelings. Selecting a programming language for a project depends on a number of factors such as:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Client's requirement (some clients explicitly specify which language to use, but you can advise on the trade-offs)&lt;/li&gt;
&lt;li&gt;Cost of hiring new talents&lt;/li&gt;
&lt;li&gt;Learning curve&lt;/li&gt;
&lt;li&gt;Functional vs OOP&lt;/li&gt;
&lt;li&gt;Strong static typing&lt;/li&gt;
&lt;li&gt;Isomorphism&lt;/li&gt;
&lt;li&gt;Interface support&lt;/li&gt;
&lt;li&gt;Ease of refactoring&lt;/li&gt;
&lt;li&gt;Explicitly defined data structures&lt;/li&gt;
&lt;li&gt;General readability&lt;/li&gt;
&lt;li&gt;Third party libraries&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As engineers, it is easy to become attached to a particular technology or approach, especially if this approach was implemented successfully in your previous projects. But we have a responsibility to humbly assess the good, bad and ugly of every choice we make. Everything is a trade-off, no absolutes.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Basic concept of Docker Image and Containers</title>
      <dc:creator>Victor Akpan</dc:creator>
      <pubDate>Tue, 05 May 2020 03:27:58 +0000</pubDate>
      <link>https://dev.to/victor_akpan/basic-concept-of-docker-image-and-containers-1ej5</link>
      <guid>https://dev.to/victor_akpan/basic-concept-of-docker-image-and-containers-1ej5</guid>
      <description>&lt;p&gt;I have created this image to explain the basic concept surrounding Docker images and containers. I hope you find it informative. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MAn2wwpy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/victorwealth/blog-post/blob/master/Docker/Basic%2520Concept%2520of%2520Docker%2520Image%2520and%2520Containers.png%3Fraw%3Dtrue" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MAn2wwpy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/victorwealth/blog-post/blob/master/Docker/Basic%2520Concept%2520of%2520Docker%2520Image%2520and%2520Containers.png%3Fraw%3Dtrue" alt="Basic concept of Docker images and containers"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>containers</category>
      <category>images</category>
    </item>
    <item>
      <title>Scrum 101</title>
      <dc:creator>Victor Akpan</dc:creator>
      <pubDate>Mon, 20 Apr 2020 03:24:40 +0000</pubDate>
      <link>https://dev.to/victor_akpan/scrum-101-2gkp</link>
      <guid>https://dev.to/victor_akpan/scrum-101-2gkp</guid>
      <description>&lt;p&gt;Almost everyone I've worked with has heard of Scrum or Agile way of working. Some have adopted Scrum partly &lt;a href="https://www.scrum.org/resources/what-scrumbut"&gt;(ScrumBut)&lt;/a&gt;, while others have done so fully by adhering to the rules of Scrum.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scrum is a framework, not a process or technique
&lt;/h2&gt;

&lt;p&gt;It is common in the workplace to see the application of Scrum as a process alongside other agile or traditional techniques. I do not have the metrics to show the success and failure rates of this pattern. Nevertheless, I've had a first-hand experience on &lt;a href="https://www.scrum.org/resources/what-scrumbut"&gt;(ScrumBut)&lt;/a&gt; projects, and I can say that these projects failed or were delivered with low quality.&lt;/p&gt;

&lt;p&gt;Let's say your organization is agile and has adopted several agile methods, for example TDD, Kanban, XP, Lean, etc. These agile methodologies can run smoothly inside Scrum. Scrum is like a container for running processes or techniques, its events allow you to use techniques within it, provided business value is created.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scrum is &lt;strong&gt;immutable&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Unfortunately, this is very common today, you hear things like "we use Scrum but...". Another example is a Scrum Team with titles like "Project Manager", "Architect", "Lead Developer" etc. This violates the rules and values, the glue that bind Scrum components together. &lt;/p&gt;

&lt;p&gt;Scrum is immutable, that means its values and rules should remain unchanged. It should not be used in part. To reap the full benefit of Scrum, it is recommended that it is adopted fully. You either use Scrum in full (properly) or not at all.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"The truth will set you free. But first, it will piss you off." - Gloria Steinem.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;While Scrum respects domain expertise, there can be ONLY 3 roles in a Scrum Team: The &lt;strong&gt;Product Owner&lt;/strong&gt;, &lt;strong&gt;Scrum Master&lt;/strong&gt; and &lt;strong&gt;Development Team (Member)&lt;/strong&gt;. Anyone in a Scrum Team who is not the Product Owner, or a Scrum Master is a Member (software developer, Business Analyst, Architect etc.) irrespective of their expertise and title in the organization. No Leads, Managers, Architects, Testers and what have you. The Development Team works together as a cross-functional unit. One for all, all for one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scrum does not take your titles away.
&lt;/h2&gt;

&lt;p&gt;Within an organization, your title or expertise is part of your identification and Scrum is fine with that. But within a Scrum Team, you are a Product Owner, Scrum Master or a member of the Development Team. Nothing more, nothing less.&lt;/p&gt;

&lt;p&gt;And that my friend is &lt;strong&gt;Scrum 101&lt;/strong&gt;.&lt;br&gt;
Let's Scrum on together and build great products and people.&lt;/p&gt;

</description>
      <category>scrum101</category>
      <category>scrum</category>
      <category>agile</category>
      <category>scrumbut</category>
    </item>
  </channel>
</rss>
