<?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: Ishimwe Ayman</title>
    <description>The latest articles on DEV Community by Ishimwe Ayman (@effearts).</description>
    <link>https://dev.to/effearts</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%2F339372%2F3a947923-f7a5-48a9-95eb-70e655494258.jpeg</url>
      <title>DEV Community: Ishimwe Ayman</title>
      <link>https://dev.to/effearts</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/effearts"/>
    <language>en</language>
    <item>
      <title>My Understanding of the Scrum Framework and Benefits Of the Scrum Events</title>
      <dc:creator>Ishimwe Ayman</dc:creator>
      <pubDate>Wed, 26 Feb 2020 12:10:18 +0000</pubDate>
      <link>https://dev.to/effearts/my-understanding-of-the-scrum-framework-and-benefits-of-the-scrum-events-1eok</link>
      <guid>https://dev.to/effearts/my-understanding-of-the-scrum-framework-and-benefits-of-the-scrum-events-1eok</guid>
      <description>&lt;p&gt;One can not talk about scrum without mentioning about Agile since scrum is used to implement Agile software development methodology. So, let’s first know what is Agile software development methodology and why is it needed. &lt;/p&gt;

&lt;p&gt;Firstly, software development usually means writing code to most people, but it is actually more than that. Software development involves many strategized steps that lead to its completion in an organized manner, for the product to be evaluated and tested. Along with those steps, many people are involved responsible for different tasks that lead to the completion of the project.&lt;/p&gt;

&lt;p&gt;Agile methodology came as an approach to assist software developers to effectively manage projects. With Agile, requirements and solutions evolve through the collaborative effort of the development teams that work hand in hand with their customers/end users.&lt;/p&gt;

&lt;p&gt;Scrum is an Agile management framework. It follows the principle of agile, It is an iterative and incremental process. Those Scrum iterations are time-boxed, and they are called sprints. A sprint is basically 2 to 4 weeks long. Product owner, Scrum Master, the development team are all a part of a scrum team. Scrum has a set of events that are practiced to achieve an effective result. Those events are sprints, sprint-plannings, daily stand-ups, sprint reviews, and retrospection meetings.&lt;/p&gt;

&lt;p&gt;Sprints are the actual set of a period a certain task should be completed, while sprint-pannings are held at the very beginning of each sprint to define the sprint backlog. Daily stand-ups are 15-minute stand-up meetings held on a daily basis with the purpose of synchronizing the work of team members. They highlight what has been done on the prior day, what needs to be done today and identify any blocker that might have risen.&lt;/p&gt;

&lt;p&gt;Sprint reviews are held at the end of each sprint to demonstrate the added functionality. The goal is to get feedback from the product owner and other stakeholders to ensure that the delivered results meet the requirements. While retrospections meetings are also held at the end of each sprint, their purpose is to asses the overall performance and identify strategies for continuous improvement.&lt;/p&gt;

&lt;p&gt;Scrum has many benefits, like allowing the development team to work simultaneously rather than sequentially. It allows all team players to start working on their parts without waiting until all questions to be answered. With Scrum, everything is flexible and changeable during the life of the project and even after. Hence with Scrum, there is adaptability since changes can be supported and integrated into a project currently in progress.&lt;/p&gt;

&lt;p&gt;Another big benefit of Scrum is that it allows the team to prioritize. With Scrum, tasks are prioritized by order of importance and this usually means that tasks that will probably affect the project the most are completed first. And it is achieved through the constant communication associated with scrum.&lt;/p&gt;

</description>
      <category>agile</category>
      <category>scrum</category>
    </item>
    <item>
      <title>My experience with TDD and how to implement it</title>
      <dc:creator>Ishimwe Ayman</dc:creator>
      <pubDate>Wed, 26 Feb 2020 12:08:00 +0000</pubDate>
      <link>https://dev.to/effearts/my-experience-with-tdd-and-how-to-implement-it-1ohb</link>
      <guid>https://dev.to/effearts/my-experience-with-tdd-and-how-to-implement-it-1ohb</guid>
      <description>&lt;p&gt;Test-Driven Development is a concept I learned a while ago. But ever since I learned about it, I always thought of it as a theoretical concept that I didn't bother practicing or even give a try. The fact that I had no systematic approach to follow while developing projects, played a big role in not practicing TDD at all since most of the projects I had worked on so far were personal. My codes used to get tested every time users interact with my software, whether it’s through an application or part of an API. The unfortunate reality is that by the time the code is in the hands of users, it’s too late to find out that it doesn’t work. &lt;/p&gt;

&lt;p&gt;Soon after Joining Andela's fellowship program. I learned that we test code during development, after development, right before releasing the code to users and even right after releasing. At each step, it’s possible we could find a defect in the code and need to fix it. The later the defect is found, the larger the impact it has on the project. It is for these reasons that the code should be tested at each step, in order to ensure that the code does what it is expected to do. That’s when TDD comes in.&lt;/p&gt;

&lt;p&gt;TDD is a repetitive process used to ensure the quality of the program that's being developed. TDD helps a lot especially in defining the desired standard of the project and helps to ensure that those standards are met throughout the whole development cycle. Initially, tests are written before any function with the purpose of failing, then functions are built from thereby improving in order to meet the acceptance criteria. Tests should be run consistently until they have passed before moving to the next functions’ development.&lt;/p&gt;

&lt;p&gt;Now that I have been introduced to TDD, and I have realized how important it is especially in the corporate world, I have started practicing it on my projects. I have gained a lot as a developer, by writing code to find bugs as early as possible. Although having tests doesn’t make bugs disappear completely, but it does reduce the frequency of them, along with ensuring that changes you make don’t have unintended side effects.&lt;/p&gt;

&lt;p&gt;Test-driven development (TDD) is a development technique where you must first write a test that fails before you write new functional code. TDD is being quickly adopted by agile software developers for the development of application source code.  TDD does not replace traditional testing, instead it defines a proven way to ensure effective unit testing. A side effect of TDD is that the resulting tests are working examples for invoking the code, thereby providing a working specification for the code. My experience is that TDD works incredibly well in practice and it is something that all software developers should consider adopting.&lt;/p&gt;

&lt;p&gt;By concluding, TDD can only be successfully practiced through writing tests as if they are requirements, then write codes to satisfy the requirements. Unless it is frequently practiced, It is hard to do it in real life but it is worth the hassle. Most of us junior developers, we are reluctant to implement it because we believe that our old way of developing does it. So it makes us feel like there’s no need to practice TDD. But the sooner it is started to be implemented the better.&lt;/p&gt;

</description>
      <category>tdd</category>
      <category>developers</category>
      <category>juniors</category>
    </item>
  </channel>
</rss>
