<?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: Vitor Oliveira</title>
    <description>The latest articles on DEV Community by Vitor Oliveira (@voliveira89).</description>
    <link>https://dev.to/voliveira89</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%2F97861%2F4f6b8281-bc8e-463b-a700-fa80bed998e5.jpg</url>
      <title>DEV Community: Vitor Oliveira</title>
      <link>https://dev.to/voliveira89</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/voliveira89"/>
    <language>en</language>
    <item>
      <title>Scrum PSM I - Notes</title>
      <dc:creator>Vitor Oliveira</dc:creator>
      <pubDate>Thu, 30 Apr 2020 08:08:17 +0000</pubDate>
      <link>https://dev.to/voliveira89/scrum-psm-i-notes-349f</link>
      <guid>https://dev.to/voliveira89/scrum-psm-i-notes-349f</guid>
      <description>&lt;h1&gt;
  
  
  Scrum Framework Theory
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Scrum is a  &lt;strong&gt;framework&lt;/strong&gt;  for developing complex products. It's not a technique or a definitive method.&lt;/li&gt;
&lt;li&gt;Scrum addresses  &lt;strong&gt;complex&lt;/strong&gt;  &lt;strong&gt;adaptive&lt;/strong&gt;  &lt;strong&gt;problems&lt;/strong&gt; , while productively and creatively delivering products of the &lt;strong&gt;highest possible value.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Scrum is lightweight, simple to understand but difficult to master.&lt;/li&gt;
&lt;li&gt;The Scrum framework consists of &lt;strong&gt;Scrum Teams&lt;/strong&gt; (small team of people) and their associated &lt;strong&gt;roles&lt;/strong&gt; , &lt;strong&gt;events&lt;/strong&gt; , &lt;strong&gt;artifacts&lt;/strong&gt; , and &lt;strong&gt;rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Scrum is used in very diverse areas, from developing software and hardware to managing the operation of organizations and almost everything we use in our daily lives, as individuals and societies.&lt;/li&gt;
&lt;li&gt;Scrum is founded on empirical process control theory, or  &lt;strong&gt;empiricism&lt;/strong&gt;.

&lt;ul&gt;
&lt;li&gt;Empiricism asserts that knowledge comes from &lt;strong&gt;experience&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Three pillars uphold every implementation of empirical process control:  &lt;strong&gt;transparency, inspection, and adaptation&lt;/strong&gt; (TIA).

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Transparency&lt;/strong&gt; – Significant aspects of the process must be &lt;strong&gt;visible&lt;/strong&gt; to those responsible for the outcome. Observers need have a common understanding of what is being seen.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Inspection&lt;/strong&gt; – Scrum users must &lt;strong&gt;regularly inspect&lt;/strong&gt; Scrum artifacts (product backlog, sprint backlog, the increment) and progress toward a Sprint Goal to detect undesirable results&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adaptation&lt;/strong&gt; – As soon as a &lt;strong&gt;deviation&lt;/strong&gt; from the expect result is determined, an adjustment must be made as soon as possible. Scrum prescribes four formal &lt;strong&gt;events for inspection and adaptation&lt;/strong&gt; : Spring Planning, Daily Scrum, Sprint Review, Sprint Retrospective.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;The Scrum Values are:  &lt;strong&gt;commitment, courage, focus, openness and respect&lt;/strong&gt; (CCFOR). These values are important to bring to life the three pillars of Scrum and build &lt;strong&gt;trust&lt;/strong&gt; to everyone.

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Commitment&lt;/strong&gt; – Everyone personally commit to achieve the goals of the team.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Courage&lt;/strong&gt; – Everyone have courage to do the right thing and work on tough problems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Focus&lt;/strong&gt; – Everyone focuses on the work of the Sprint and the goals of the team.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Openness&lt;/strong&gt; – The team and the stakeholders agree to be open about all the work and the challenges to perform it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Respect&lt;/strong&gt; – Everyone respect each other to be capable, independent people.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h1&gt;
  
  
  The Scrum Team
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Consists on a &lt;strong&gt;Product Owner&lt;/strong&gt;, the &lt;strong&gt;Development Team&lt;/strong&gt;, and a &lt;strong&gt;Scrum Master&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Scrum Teams are:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Self-organizing&lt;/strong&gt; – Choose how best to accomplish their work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-functional&lt;/strong&gt; – Everyone has all competencies needed to accomplish the work without depending on others that are not part of the team.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;The team model is &lt;strong&gt;designed&lt;/strong&gt; to optimize &lt;strong&gt;flexibility&lt;/strong&gt; , &lt;strong&gt;creativity&lt;/strong&gt; , and &lt;strong&gt;productivity&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;There is no Project Manager role in Scrum and in general, the Product Owner role is by no means to be confused with a Project Manager. The responsibilities of a Project Manager are distributed between the Product Owner, the Scrum Master and the rest of the team.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Product Owner
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The main responsibility is to &lt;strong&gt;maximize the value&lt;/strong&gt; (this value could come in various forms) of the product resulting from work of the Development Team.&lt;/li&gt;
&lt;li&gt;Is only &lt;strong&gt;one person&lt;/strong&gt;, not a committee. But can represent the desires of a committee.&lt;/li&gt;
&lt;li&gt;Is the &lt;strong&gt;sole person&lt;/strong&gt; responsible for managing the &lt;strong&gt;Product Backlog&lt;/strong&gt; :

&lt;ul&gt;
&lt;li&gt;The items on the Product Backlog should be clearly expressed and understood by the Development Team.&lt;/li&gt;
&lt;li&gt;Is responsible for ordering the items in the Product Backlog.&lt;/li&gt;
&lt;li&gt;Ensure that the Product Backlog is visible, transparent, and clear.&lt;/li&gt;
&lt;li&gt;The Product Backlog should show what the Scrum Team will work next.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;The Product Owner may do the above work or have the Development Team do it. However, the Product Owner still remains accountable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Development Team
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Their goal is to deliver a &lt;strong&gt;potentially releasable Increment of "Done"&lt;/strong&gt; product at the end of each Sprint.&lt;/li&gt;
&lt;li&gt;Only the Development Team can create the &lt;strong&gt;Increment&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The Development Team is &lt;strong&gt;structured and empowered by the organization&lt;/strong&gt; to organize and manage their own work.&lt;/li&gt;
&lt;li&gt;The teams are &lt;strong&gt;self-organizing&lt;/strong&gt;. Only they made the decisions in how the Product Backlog should be turned into potentially shippable Increments. The benefits are &lt;strong&gt;commitment&lt;/strong&gt; , &lt;strong&gt;accountability&lt;/strong&gt; and &lt;strong&gt;creativity&lt;/strong&gt;. Also optimizes &lt;strong&gt;flexibility&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;They are &lt;strong&gt;cross-functional&lt;/strong&gt; (the team should have the skills needed to create the Increment). There is &lt;strong&gt;no titles&lt;/strong&gt; in Development Team, even if the work is done for someone. So, the &lt;strong&gt;accountability belongs to the Development Team as a whole&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It is possible for the Product Owner or the Scrum Master to be part of the Development Team, but not recommended.&lt;/li&gt;
&lt;li&gt;The Development Team should have between &lt;strong&gt;3 to 9 team members&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Scrum Master
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The Scrum Master assists the Development Team and the Product Owner and is responsible for &lt;strong&gt;promoting and supporting&lt;/strong&gt; Scrum within the organization. The Scrum Master ensures that everyone understands the Scrum theory, practices, rules and values.&lt;/li&gt;
&lt;li&gt;The Scrum Master’s job is to work with the Scrum Team and the organization to increase the transparency of the artifacts. This work usually involves learning, convincing, and change.&lt;/li&gt;
&lt;li&gt;The Scrum Master is not a manager, but more like a servant leader.&lt;/li&gt;
&lt;li&gt;Scrum Master service to the &lt;strong&gt;Product Owner&lt;/strong&gt; :

&lt;ul&gt;
&lt;li&gt;Understanding &lt;strong&gt;Scrum and Agile practices&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ensuring that &lt;strong&gt;goals, scope and product domain&lt;/strong&gt; are understood.&lt;/li&gt;
&lt;li&gt;Learn effective &lt;strong&gt;Product Backlog management&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Product planning&lt;/strong&gt; in an empirical environment.&lt;/li&gt;
&lt;li&gt;Can &lt;strong&gt;facilitate&lt;/strong&gt; planning and Backlog refinement.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Scrum Master service to the &lt;strong&gt;Development Team&lt;/strong&gt; :

&lt;ul&gt;
&lt;li&gt;Coaches in &lt;strong&gt;self-organization&lt;/strong&gt; and &lt;strong&gt;cross-functionality&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Helps to create &lt;strong&gt;high-value products&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Remove &lt;strong&gt;impediments&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Facilitating&lt;/strong&gt; Scrum events (not a secretary).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coaching&lt;/strong&gt; the Scrum values.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Scrum Master service to the &lt;strong&gt;Organization&lt;/strong&gt; :

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Coaches&lt;/strong&gt; the organization.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Works with other&lt;/strong&gt; Scrum Masters.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cause changes&lt;/strong&gt; that increase the productivity of the Scrum Team.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coaches Scrum&lt;/strong&gt; and empirical product development.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h1&gt;
  
  
  Scrum Events
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Sprint
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--upD2GTSi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xlgxl9qys4r9ncihpa5v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--upD2GTSi--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/xlgxl9qys4r9ncihpa5v.png" alt="Scrum Framework"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Timebox of &lt;strong&gt;one-month or less&lt;/strong&gt;. Short enough to keep the business risk acceptable to the Product Owner, and able to synchronize the development work with other business events.&lt;/li&gt;
&lt;li&gt;Sprints contain all the prescribed Scrum Events, a flexible plan on how to build a Product Increment and of course the development work needed.&lt;/li&gt;
&lt;li&gt;Each Sprint has the &lt;strong&gt;Sprint Goal&lt;/strong&gt; that helps the Development Team better understand why it is building the &lt;strong&gt;Increment&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;During the Sprint:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No changes&lt;/strong&gt; are made that would endanger the Sprint Goal.&lt;/li&gt;
&lt;li&gt;Quality goals &lt;strong&gt;do not decrease.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Scope may be clarified and re-negotiated.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;There is no gap between Sprints and nothing happens between Sprints.&lt;/li&gt;
&lt;li&gt;A Sprint &lt;strong&gt;can be cancelled&lt;/strong&gt; (very rare).

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Only the Product Owner&lt;/strong&gt; can do it.&lt;/li&gt;
&lt;li&gt;This can happen if:&lt;/li&gt;
&lt;li&gt;The Sprint Goal becomes obsolete.&lt;/li&gt;
&lt;li&gt;Major changes in the market occur.&lt;/li&gt;
&lt;li&gt;Company decides to change direction.&lt;/li&gt;
&lt;li&gt;If it's canceled:&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Completed&lt;/strong&gt; items will be reviewed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Incomplete&lt;/strong&gt; items will be re-estimated and put back in the Product Backlog.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h2&gt;
  
  
  Sprint planning
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Time-boxed to a maximum of &lt;strong&gt;eight hours for a one-month Sprint&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Normally happens after the conclusion of the previous Sprint.&lt;/li&gt;
&lt;li&gt;Answers the following:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What can be delivered&lt;/strong&gt; in the Increment resulting from the next Sprint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How will the work&lt;/strong&gt; needed would be achieved.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;Spring Goal&lt;/strong&gt; is defined by the Product Owner and the Development Team. Even if the objective of the Sprint Goal is at first defined by the Product Owner, the number of the Product Backlog items selected is solely up to the Development Team (upon negotiation with the Product Owner). To define this, the following is evaluated:

&lt;ul&gt;
&lt;li&gt;Previous Product Increment&lt;/li&gt;
&lt;li&gt;Projected capacity of the Development Team.&lt;/li&gt;
&lt;li&gt;Past performance of the Development Team.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;The Development Team &lt;strong&gt;can invite people outside&lt;/strong&gt; the Scrum Team to provide technical or domain advice.&lt;/li&gt;
&lt;li&gt;This meeting cannot identify all the work that needs to be done in advance. &lt;strong&gt;Only a plan with enough detail so that the development work can start&lt;/strong&gt;. By the end of the meeting, this plan should be decomposed often to units of one day or less. The Development Team should be able to explain their plan to accomplish the Sprint Goal.&lt;/li&gt;
&lt;li&gt;At the end of the meeting, this should be defined:

&lt;ul&gt;
&lt;li&gt;The Spring Goal&lt;/li&gt;
&lt;li&gt;The Product Backlog items selected and the plan for delivering them (this is the Spring Backlog)&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h2&gt;
  
  
  Daily Scrum
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Time-boxed of &lt;strong&gt;15 minutes&lt;/strong&gt;, every day and at the same time and place.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Only the Development Team&lt;/strong&gt; attends this meeting. They could allow others to be present, and the Scrum Master has the role to make sure that the team has the meeting.&lt;/li&gt;
&lt;li&gt;It's a key to &lt;strong&gt;inspect&lt;/strong&gt; and &lt;strong&gt;adapt&lt;/strong&gt; pillars&lt;/li&gt;
&lt;li&gt;The Development Team inspect progress toward completing the work in the Sprint Backlog and reaching the Sprint Goal.&lt;/li&gt;
&lt;li&gt;The interactions that the Development Team has should improve communication, identify impediments and promote quick decision making.&lt;/li&gt;
&lt;li&gt;Examples of questions to be answered:

&lt;ul&gt;
&lt;li&gt;What did I do yesterday?&lt;/li&gt;
&lt;li&gt;What will I do today?&lt;/li&gt;
&lt;li&gt;Do I see any impediment?&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;If needed, the Development Team can meet immediately after the Daily Scrum to further discuss and decide on how do the rest of the Sprint work will be completed.&lt;/li&gt;
&lt;li&gt;This meeting should result in a common understanding of how the Sprint is progressing and what needs to be done next to meet the Sprint Goal.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Spring review
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Time-boxed to a maximum of &lt;strong&gt;four&lt;/strong&gt;  &lt;strong&gt;hours for a one-month Sprint&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Happens at the end of a Sprint to &lt;strong&gt;inspect&lt;/strong&gt; the Increment and &lt;strong&gt;adapt&lt;/strong&gt; the Product Backlog if needed.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Product Owner owns this meeting&lt;/strong&gt; and will invite key Stakeholders to this event. The Development Team and the Scrum Master are also present. The Scrum Master role is to &lt;strong&gt;facilitate&lt;/strong&gt; this meeting and to make sure it is &lt;strong&gt;held&lt;/strong&gt; within the time-box.&lt;/li&gt;
&lt;li&gt;It's an &lt;strong&gt;informal&lt;/strong&gt; meeting.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;items that have been Done and not Done are explained by the Product Owner&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Development Team discusses&lt;/strong&gt; what went well, what were the problems, and how these problems can be resolved.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Development Team demonstrates&lt;/strong&gt; the work that is been Done&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Product Owner discusses the Product Backlog&lt;/strong&gt; and explains when the next release might be available.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;entire group collaborates&lt;/strong&gt; on what to do next, discusses changes in the marketplace and what is important to do next.&lt;/li&gt;
&lt;li&gt;This meeting can &lt;strong&gt;result&lt;/strong&gt; in a revised Product Backlog. The items that were not done, are put back in the Product Backlog.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Spring Retrospective
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Time-boxed to a maximum of &lt;strong&gt;three hours for a one-month Sprint&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;It's the &lt;strong&gt;last event&lt;/strong&gt; before the end of the Sprint. Happens after the Sprint Review and before the Sprint Planning.&lt;/li&gt;
&lt;li&gt;The goal of the Sprint Retrospective is for the Scrum Team to &lt;strong&gt;inspect&lt;/strong&gt; itself and the process, and &lt;strong&gt;create a plan&lt;/strong&gt; for improvements for the next sprint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Only the Scrum Team&lt;/strong&gt; is present.&lt;/li&gt;
&lt;li&gt;The Scrum Master is a &lt;strong&gt;facilitator&lt;/strong&gt; in this meeting, makes sure that everybody understands the purpose and ensures that the meeting is positive and productive and coaches a team to keep the event within the time-box.&lt;/li&gt;
&lt;li&gt;The objective is to look into &lt;strong&gt;how the last Sprint went&lt;/strong&gt; with regards to people, relationships, processes, and tools.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Get reflections&lt;/strong&gt; on what went well and what can be improved.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Create a plan&lt;/strong&gt; for implementing those improvements in the next Sprint.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Definition of Done&lt;/strong&gt; could be &lt;strong&gt;improved&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;result&lt;/strong&gt; of this meeting is the improvements that the Scrum Team will implement in the next Sprint.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Scrum Artifacts
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Product Backlog
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;An &lt;strong&gt;ordered list of everything that is known&lt;/strong&gt; to be needed in the product.&lt;/li&gt;
&lt;li&gt;Artifact designed to provide &lt;strong&gt;transparency&lt;/strong&gt; and opportunities for &lt;strong&gt;inspection&lt;/strong&gt; and &lt;strong&gt;adaptation&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Single source&lt;/strong&gt; of all features, functions, requirements, enhancements and fixes for any future changes to be made to the product. As long as the product exists so will its Product Backlog.&lt;/li&gt;
&lt;li&gt;Never complete and constantly changing.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Product Owner is the only responsible&lt;/strong&gt; for the Product Backlog.&lt;/li&gt;
&lt;li&gt;If multiple teams who work on the same Product, &lt;strong&gt;only one&lt;/strong&gt; Product Backlog should be used.&lt;/li&gt;
&lt;li&gt;The Product Backlog items &lt;strong&gt;characteristics&lt;/strong&gt; are description, order, estimate and value. Could also have a test description.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Development Team is responsible&lt;/strong&gt; for the &lt;strong&gt;estimates&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Product Backlog items that are positioned higher in the Product Backlog are more important as they provide much greater value and are usually clearer and more detailed as the items in the lower part of the Product Backlog. The top items are more refined, so they should be small enough to be included in the next Sprint.&lt;/li&gt;
&lt;li&gt;The Product Backlog &lt;strong&gt;refinement&lt;/strong&gt; is the act of adding detail, estimates, and order to items. Time-boxed event that should not occupy more &lt;strong&gt;than 10 per cent of the capacity&lt;/strong&gt; of the Development Team.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sprint Backlog
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Set of &lt;strong&gt;Product Backlog items selected for the Sprint&lt;/strong&gt;, plus a &lt;strong&gt;plan&lt;/strong&gt; for delivering the Increment and achieve the Sprint Goal.&lt;/li&gt;
&lt;li&gt;The Sprint Backlog should also &lt;strong&gt;include at least one important process improvement&lt;/strong&gt; identified during the last Sprint Retrospective.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Temporary Artifact&lt;/strong&gt; that exists only during the Sprint.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Development Team is the only responsible&lt;/strong&gt; for the Sprint Backlog. If new work is required, the Development Team adds it.&lt;/li&gt;
&lt;li&gt;The scope may be &lt;strong&gt;clarified and re-negotiated&lt;/strong&gt; between &lt;strong&gt;the Product Owner&lt;/strong&gt; and Development Team as more is learned.&lt;/li&gt;
&lt;li&gt;As work is performed or completed, the estimated remaining work is updated.&lt;/li&gt;
&lt;li&gt;The Development Team is responsible for monitoring the progress and the likelihood of reaching the Sprint Goal. This should be tracked at least in every Daily Scrum.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Increment
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Is the &lt;strong&gt;sum of all Product Backlog Items completed&lt;/strong&gt; during a Sprint, plus the value of &lt;strong&gt;all Increments from all previous Sprints&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;At the end of each Sprint, the Increment must be &lt;strong&gt;completed&lt;/strong&gt; according to the &lt;strong&gt;Definition of Done&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Product Owner is the responsible&lt;/strong&gt; for if and when to &lt;strong&gt;release the Increment&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Definition of Done
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Every member of the Scrum Team must have a &lt;strong&gt;shared understanding&lt;/strong&gt; of what it means for &lt;strong&gt;work to be complete&lt;/strong&gt;, to ensure &lt;strong&gt;transparency&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The purpose of each Sprint is to deliver&lt;/strong&gt; increments that &lt;strong&gt;respect the current definition of Done&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Guides the Development Team in knowing how many Product Backlog items it can select for the Sprint Backlog&lt;/li&gt;
&lt;li&gt;Who creates the Definition of Done?

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;Development Organization&lt;/strong&gt; - Typically most organizations have already development processes in place, standards that must be followed, procedures and quality standards. If there is no convention by the organization, should be the development team to define it.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;Development Team&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;The Development Team of the Scrum Team &lt;strong&gt;must define&lt;/strong&gt; a definition of Done appropriate for the Product &lt;strong&gt;if there is none&lt;/strong&gt; defined by the development organization.&lt;/li&gt;
&lt;li&gt;The Development Team &lt;strong&gt;may involve the Product Owner&lt;/strong&gt; in this process and may define rules and quality criteria that are stricter but still following the Definition of Done that the organization has.&lt;/li&gt;
&lt;li&gt;If there are multiple Scrum Teams, &lt;strong&gt;all Development Teams should agree on a definition of Done&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h1&gt;
  
  
  Scrum Terms
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Burn-down Chart
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A chart which shows the amount of work which is thought to remain a backlog.&lt;/li&gt;
&lt;li&gt;Is only related to the remaining work.&lt;/li&gt;
&lt;li&gt;Isn't related to project costs or business value, nor related to the productivity of the Development Team.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TpeDp6_X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/i5heo2h9sdxspqrcoo5p.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TpeDp6_X--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/i5heo2h9sdxspqrcoo5p.gif" alt="https://www.leerichardson.com/2008/10/forget-burndown-use-burnup-charts.html"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Burn-up Chart
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A chart which shows the amount of work which has been completed.&lt;/li&gt;
&lt;li&gt;Provides a visual representation of a Sprint's completed work related to its total scope, which is represented by the number of selected Product Backlog Items&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EPJv_lHX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kgitsvr0chum3wujuk2u.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EPJv_lHX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/kgitsvr0chum3wujuk2u.gif" alt="https://www.leerichardson.com/2008/10/forget-burndown-use-burnup-charts.html"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Cone of uncertainty
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Describes the evolution of the amount of uncertainty during a project.&lt;/li&gt;
&lt;li&gt;As more is learned, uncertainty tends to decrease.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technical debt
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The typically unpredictable overhead of maintaining the product, ofter caused by less than ideal design decisions. Also known as Design Debt or Code Debt.&lt;/li&gt;
&lt;li&gt;May exist unintentionally in the Increment or introduced purposefully to realize value earlier.&lt;/li&gt;
&lt;li&gt;Technical Debt is something that should be continuously dealt with and not postponed.&lt;/li&gt;
&lt;li&gt;Technical Debt is tightly coupled with the quality of the product.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Velocity
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Is a measure of the amount of work a Development Team can handle during a typical Sprint.&lt;/li&gt;
&lt;li&gt;Is not mandatory in Scrum, and not correlated with value. Only estimates are made, no commitment is done.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sources:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.scrum.org/resources/scrum-guide"&gt;Scrum Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.udemy.com/course/scrum-master-certification-preparation-mock-exam-questions-psm-i"&gt;Scrum Master Certification Preparation &amp;amp; 240+ Prep Questions, Udemy Course, Valentin Despa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mlapshin.com/index.php/scrum-quizzes"&gt;Scrum Quizzes, Mikhail Lapshin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.leerichardson.com/2008/10/forget-burndown-use-burnup-charts.html"&gt;Forget Burndown Use Burnup Charts, Lee Richardson&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>scrum</category>
      <category>management</category>
      <category>agile</category>
    </item>
    <item>
      <title>O que tenho de fazer como trabalhador independente para clientes estrangeiros (IT)</title>
      <dc:creator>Vitor Oliveira</dc:creator>
      <pubDate>Sat, 26 Oct 2019 17:21:04 +0000</pubDate>
      <link>https://dev.to/voliveira89/o-que-tenho-de-fazer-como-trabalhador-independente-para-clientes-estrangeiros-it-495a</link>
      <guid>https://dev.to/voliveira89/o-que-tenho-de-fazer-como-trabalhador-independente-para-clientes-estrangeiros-it-495a</guid>
      <description>&lt;p&gt;&lt;em&gt;Atualização 2021&lt;/em&gt;: Se o vosso cliente é do Reino Unido, tenham em atenção que já não é preciso fazer a Declaração Recapitulativa devido ao Brexit. As opções que se escolhem em relação ao IVA nos Recibos Verdes e os campos a preencher na Declaração Periódica do IVA, são diferente. Vejam &lt;a href="https://www.occ.pt/pt/noticias/brexit-prestacoes-de-servicos/"&gt;este excelente artigo&lt;/a&gt; como referência.&lt;/p&gt;

&lt;p&gt;Actualmente, são cada vez mais trabalhadores da área de IT a deixar de ser trabalhadores por contra de outrem para começarem a ser trabalhadores independentes para clientes estrangeiros, vulgo, contractors. No entanto, o mundo dos recibos verdes é complicado e com informação muito dispersa pela Internet. Essa informação por vezes é confusa, desatualizada e ínfima no que se refere a clientes estrangeiros quando comparada com situações de clientes nacionais.&lt;/p&gt;

&lt;p&gt;Este artigo tem como objetivo clarificar todas as obrigações fiscais que um trabalhador com actividade aberta tem. Reforço que este artigo é sobre um contribuinte com actividade aberta e não com uma empresa. Para certos valores abrir uma empresa deve compensar, mas nesse caso já é obrigatório terem um contabilista por isso deixem esse trabalho para ele. Uma última nota para referir que o artigo se refere a 2019, podendo daqui a uns meses mudar (vou com certeza atualizar o artigo nessa altura).&lt;/p&gt;

&lt;h2&gt;
  
  
  Abrir actividade
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;CAE - Programador e Consultoria (para terem flexibilidade mesmo no futuro)&lt;/li&gt;
&lt;li&gt;Informar que o cliente é estrangeiro para ficares isento de IVA (art. 6°)&lt;/li&gt;
&lt;li&gt;Ir mesmo a um Serviço de Finanças para ter abertura imediata de actividade, pois se o pedido for submetido pelo portal das Finanças pode demorar 1 semana para aprovação&lt;/li&gt;
&lt;li&gt;Para abrir actividade pelo Portal das Finanças, &lt;a href="https://sitfiscal.portaldasfinancas.gov.pt/CadastroWeb/CadastroJPF/jsp/Entrada/menu.do"&gt;podem ver aqui&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Registar no &lt;a href="https://www.viactt.pt/website/index.html"&gt;ViaCTT&lt;/a&gt;, pois é obrigatório e dá multa se não o fizerem&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Impostos
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Segurança Social
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ver &lt;a href="http://www.seg-social.pt/legislacao?bundleId=16162756"&gt;código contributivo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Se não isento, basicamente o valor do desconto da SS resume-se ao seguinte: a incidência tributiva é de 70% do valor recebido no trimestre, do qual 21.4% corresponde o valor a pagar de SS nesse trimestre. Obviamente se quisermos calcular o valor anual multiplica-se por 4, se quisermos saber o valor mensal, divide-se por 3.&lt;/li&gt;
&lt;li&gt;O Serviço de Finanças comunica automaticamente à Segurança Social que foi aberta atividade&lt;/li&gt;
&lt;li&gt;Isenção de 12 meses após abrir actividade no seguinte artigo:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Artigo 145.º&lt;br&gt;
Produção de efeitos&lt;br&gt;
1 - No caso de primeiro enquadramento no regime dos trabalhadores independentes, este só produz efeitos no primeiro dia do 12.º mês posterior ao do início de atividade. (Redação dada pelo Decreto-Lei n.º 2/2018, de 9 de janeiro)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  IRS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;O rendimento tributável para a categoria B (trabalhador independente) é de 75%. Para atingir estes 25% de “desconto”, é necessário o seguinte:

&lt;ul&gt;
&lt;li&gt;10% automático&lt;/li&gt;
&lt;li&gt;15% justificado em faturas no âmbito da atividade profissional. Se rendimento inferior a 27.360, não necessita de justificar despesas. Podem &lt;a href="https://www.pwc.pt/pt/pwcinforfisco/guia-fiscal/2019/irs.html#regime2"&gt;ver aqui&lt;/a&gt; como se calcula esses 15%&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Os 75% de rendimento é tributado de acordo com a &lt;a href="https://www.pwc.pt/pt/pwcinforfisco/guia-fiscal/2019/irs.html#taxas"&gt;tabela simplificada de IRS&lt;/a&gt; 

&lt;ul&gt;
&lt;li&gt;Ter em atenção que se casado e IRS em conjunto, o valor tributável soma com o da outra pessoa e divide por dois&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h3&gt;
  
  
  IVA
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Isenção de IVA dado que a empresa é estrangeira, dado pelo &lt;a href="http://info.portaldasfinancas.gov.pt/pt/informacao_fiscal/codigos_tributarios/civa_rep/Pages/iva6.aspx"&gt;Artigo 6º&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Isenção dada pelo seguinte excerto:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;6 - São tributáveis as prestações de serviços efectuadas a: (Redação dada pelo artigo 2.º do Decreto-Lei n.º 186/2009, de 12/08, em vigor a partir de 01/01/2010)&lt;br&gt;
a) Um sujeito passivo dos referidos no n.º 5 do artigo 2.º, cuja sede, estabelecimento estável ou, na sua falta, o domicílio, para o qual os serviços são prestados, se situe no território nacional, onde quer que se situe a sede, estabelecimento estável ou, na sua falta, o domicílio do prestador;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Declarações
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Faturas e Recibos Verdes
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Periodicidade: mensal&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://irs.portaldasfinancas.gov.pt/recibos/portal/"&gt;Onde submeter&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Dados importantes a inserir:

&lt;ul&gt;
&lt;li&gt;Inserir dados da empresa&lt;/li&gt;
&lt;li&gt;Inserir valor a receber/recebido (Importância recebida a título de Pagamento de bens ou serviços)&lt;/li&gt;
&lt;li&gt;Regime do IVA: Regras de localização - art.º 6.º [regras específicas]&lt;/li&gt;
&lt;li&gt;Base de incidência em IRS: Sem retenção - Não residente sem estabelecimento&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h3&gt;
  
  
  Declaração recapitulativa do IVA
&lt;/h3&gt;

&lt;p&gt;Esta declaração é obrigatória para empresas de países membros da UE. Devem entregar declaração antes da Declaração periódica do IVA.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Periodicidade

&lt;ul&gt;
&lt;li&gt;Até ao dia 20 do mês seguinte, no caso de operações realizadas pelos sujeitos passivos do regime normal de tributação mensal ou com periodicidade trimestral com transmissões intracomunitárias que excedam os 50 mil euros.&lt;/li&gt;
&lt;li&gt;Até ao dia 20 do trimestre seguinte àquele a que respeitam as operações para os sujeitos passivos com periodicidade trimestral, que não excedam 50 mil euros de transmissões intracomunitárias de bens (no trimestre atual ou nos quatro trimestres anteriores).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;&lt;a href="https://iva.portaldasfinancas.gov.pt/driva/portal"&gt;Onde submeter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dados importantes a inserir:

&lt;ul&gt;
&lt;li&gt;Quadro 04 - Inserir país de destino, NIF/VAT number, Valor e colocar “5 - Prestação de Serviços” no Tipo de Operação&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h3&gt;
  
  
  Declaração periódica do IVA
&lt;/h3&gt;

&lt;p&gt;Apesar de estarmos a passar recibos verdes, tal como qualquer trabalhador independente, temos de submeter esta declaração.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Periodicidade

&lt;ul&gt;
&lt;li&gt;Até ao dia 15 do segundo mês seguinte ao trimestre a que dizem respeito os serviços (&amp;lt;650 mil euros) - Ou seja, trimestral&lt;/li&gt;
&lt;li&gt;Até ao dia 15 do segundo mês seguinte ao mês a que dizem respeito os serviços (&amp;gt;650 mil euros) - Ou seja, mensal&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;&lt;a href="https://iva.portaldasfinancas.gov.pt/dpiva/portal"&gt;Onde submeter &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dados importantes a inserir:

&lt;ul&gt;
&lt;li&gt;Escolher pré-preenchimento da declaração (neste momento o pré-preenchimento ainda não é excelente)&lt;/li&gt;
&lt;li&gt;Anexo 0 - Selecionar que já foi submetido declaração recapitulativa (4-A)&lt;/li&gt;
&lt;li&gt;Anexo 6 - Aqui, acho que o melhor será olhar para os screenshots. Mas o mais importante é:

&lt;ul&gt;
&lt;li&gt;Quadro 1 - Transmissões intracomunitárias de bens e prestações de serviços mencionadas nas declarações recapitulativas (campo 7) - Inserir o valor total das prestações de serviços tal como no IVA recapitulativo&lt;/li&gt;
&lt;li&gt;Quadro 5 - Outros bens e serviços (campo 24) - Inserir valor do IVA dos gastos que fizeram no âmbito da actividade&lt;/li&gt;
&lt;li&gt;Quadro 12 - Aqui têm de escolher se querem reportar excesso e passar para o trimestre seguinte seguinte ou se querem recuperar o IVA&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Como recuperar o IVA?

&lt;ul&gt;
&lt;li&gt;TBA (se alguém souber qual o correto procedimento para fazer isto, que o diga nos comentários)&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h3&gt;
  
  
  Segurança Social (se abrangido)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Periodicidade: Até ao último dia do mês seguinte ao trimestre que terminou. Por exemplo, para o 1º trimestre do ano, o último dia para entrega seria o última dia do mês de Abril&lt;/li&gt;
&lt;li&gt;Onde submeter: Segurança Social Direta&lt;/li&gt;
&lt;li&gt;Dados importantes a inserir:

&lt;ul&gt;
&lt;li&gt;TBA (se alguém tiver uma declaração de exemplo da SS que possa facultar agradecia para poder complementar este artigo)&lt;/li&gt;
&lt;/ul&gt;


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

&lt;h3&gt;
  
  
  e-Fatura
&lt;/h3&gt;

&lt;p&gt;Tipicamente até alguns meses antes da submissão anual do IRS. É no entanto aconselhado validar as faturas algumas vezes durante o ano, assinalando aquelas que se relacionam com a actividade profissional (importante para o cálculo da parcela a abater no rendimento tributável do IRS).&lt;br&gt;
Que tipo de gastos são no âmbito da actividade:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Faturas da casa (Internet por completo, restantes apenas parcialmente)&lt;/li&gt;
&lt;li&gt;Carro (1 fatura de combustível por mês por exemplo)&lt;/li&gt;
&lt;li&gt;Refeições esporádicas&lt;/li&gt;
&lt;li&gt;Ter bom senso com comida, bebidas e café&lt;/li&gt;
&lt;li&gt;Material de escritório&lt;/li&gt;
&lt;li&gt;Mobiliário de escritório&lt;/li&gt;
&lt;li&gt;Equipamento electrónico&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  IRS
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Periodicidade: anual&lt;/li&gt;
&lt;li&gt;Dados importantes a inserir:

&lt;ul&gt;
&lt;li&gt;Anexo B - Rendimentos resultados de trabalho independente, em regime simplificado ou ato isolado&lt;/li&gt;
&lt;li&gt;Anexo SS - Declaração anual de rendimentos a ser enviado à Segurança Social&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Pagamento especial por conta: Basicamente, é um adiantamento do IRS que fazemos para o ano seguinte. O valor vem juntamente com o IRS e é pago 3 prestações.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Recursos
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/drive/folders/1UlWdGLXFQg-i4Hf6IvHCZ0nQvM-cUdpZ?usp=sharing"&gt;Screenshots das declarações&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.google.com/spreadsheets/d/1rXo3f-QzWY6svUR8WqlBB5bSiLYrEiX33l5oa3Sz5Ng/edit?usp=sharing"&gt;Excel para uma simulação simples do salário liquido anual&lt;/a&gt; (façam download para o poderem usar)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Espero que tenham gostado deste artigo e que tem a informação que precisam para este caso em específico. &lt;/p&gt;

&lt;p&gt;Conto com a vossa ajuda para poder completar os seguintes pontos em falta: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Como preencher o anexo da SS&lt;/li&gt;
&lt;li&gt;Quais são as regras das despesas do IVA? Por exemplo, na questão de uma fatura de combustível, só podemos pedir o reembolso de metade do IVA&lt;/li&gt;
&lt;li&gt;Como pedir o reembolso do IVA&lt;/li&gt;
&lt;li&gt;Para compras internacionais que fazem logo a dedução do IVA (exemplo: Amazon), é preciso declarar algo? Atenção, que neste ponto só podem registar-se na Amazon com conta empresa se o vosso NIF aparecer no &lt;a href="http://ec.europa.eu/taxation_customs/vies"&gt;VIES&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Tendo em conta que o nosso local de trabalho para as finanças é a nossa casa, pode-se pôr como despesa o passe?

&lt;ul&gt;
&lt;li&gt;Sim é possível. Tão válido como meterem uma fatura de um depósito de combustível!&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;E no caso da renda de casa? Se puser na categoria imóveis do e-Fatura e depois pusermos que a despesa foi no âmbito da nossa actividade o que acontece?&lt;/li&gt;
&lt;li&gt;Pode-se pôr nas despesas um recibo de um espaço de co-working?

&lt;ul&gt;
&lt;li&gt;Sim é possível.
&lt;/li&gt;
&lt;/ul&gt;


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

&lt;p&gt;Qualquer sugestão que tenham para melhorar este artigo, é só dizer!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclaimer: Não sou contabilista, apenas um Software Engineer que se aventurou pelo mundo do trabalho independente e que quer partilhar toda a informação que juntou sobre o tema.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Rules of Logging</title>
      <dc:creator>Vitor Oliveira</dc:creator>
      <pubDate>Fri, 27 Sep 2019 17:34:48 +0000</pubDate>
      <link>https://dev.to/voliveira89/the-rules-of-logging-3gam</link>
      <guid>https://dev.to/voliveira89/the-rules-of-logging-3gam</guid>
      <description>&lt;p&gt;We live in a world where clients want applications developed in an unbelievably short time. We, software engineers, struggle (almost) every time to meet deadlines because we want to deliver the best work that we can. Strict deadlines mean that there’s always a risk that something is left behind: automatic tests, code quality from taking shortcuts, documentation, among other things, can turn a project into a nightmare in the long run.&lt;/p&gt;

&lt;p&gt;We are aware of all these critical things, but there is a particular piece of any application that we only remember when we need it: the logs. Yes. The logs are all those letters that you painfully see in your terminal when something goes wrong, and you have your boss asking every 5 minutes why the application is still malfunctioning.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--t39Aotft--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/hrsky8ayxaea7fe2s598.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--t39Aotft--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/hrsky8ayxaea7fe2s598.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In my career, I learned and absorbed a set of rules to streamline the logging of my applications. Do you find this annoying? Would you prefer to have to stay awake until dawn again, trying to understand why your users are receiving errors when they want to do something trivial? Interested? Then come with me through the W’s that make part of the rules of logging.&lt;/p&gt;

&lt;h2&gt;
  
  
  What
&lt;/h2&gt;

&lt;p&gt;Before we start on this, you have to remember only one thing: you have to log everything! Every request. I don’t care if it’s a GET, a POST, a PUT, if it had success, if returned some validation error, I don’t care. Log everything.&lt;/p&gt;

&lt;p&gt;Do you only log the errors? Sorry, you are doing it wrong! How do you know when a specific user made a request? How are you going to create those wonderful dashboards full of statistics with tools like Kibana or Grafana? Also, of course, another thing that is great for those dashboards is to log the log level itself. It should be mandatory to record if that log entry is an INFO, WARN, ERROR, among others.&lt;/p&gt;

&lt;p&gt;Typically, a backend application serves an API (it could be B2B, B2C, but that doesn’t matter). What’s important is that you want to know which service the user just called, so you have to log the name of the endpoint. And even though that name is quite specific, it’s always a good idea to log also the type of HTTP method of the endpoint. What changed? Was a resource created? Was a resource retrieved? How many? Do you see what I mean? This is the data that will become invaluable at some point in your project. Moreover, typically, it’s information that you have at the moment of the response, so you don’t have any excuse not to log it!&lt;/p&gt;

&lt;p&gt;Bonus points: thread/request id. It’s always nice to have this when you have to track a lengthy operation that logs many details: like queries or even custom information, which is being recorded at the same time that the application is still receiving other requests. The multiple lines of different logging requests can get mixed up, and it can become a real mess to find anything. The identifier of a request can prevent a situation like this, or it can be quickly resolved with a simple search.&lt;/p&gt;

&lt;dl&gt;
&lt;dd&gt;
2019–04–06 17:02:30.414 &lt;b&gt;INFO [req-000000086] [c.b.a.controller.ApiController] [operationName=ApiController.getAll, httpMethod=GET&lt;/b&gt;, IPAddress=100.200.300.400, userId=55df8919, executionTime=12, &lt;b&gt;size=5&lt;/b&gt;] [&lt;b&gt;operationResult=OK&lt;/b&gt;]
&lt;/dd&gt;
&lt;br&gt;
&lt;dd&gt;
2019–04–06 12:10:21.741 &lt;b&gt;INFO [req-000000052] [c.b.a.controller.ApiController] [operationName=ApiController.get, httpMethod=GET&lt;/b&gt;, IPAddress=100.200.300.400, userId=55df8919, executionTime=5, &lt;b&gt;resourceId=1000&lt;/b&gt;] [&lt;b&gt;operationResult=OK&lt;/b&gt;]
&lt;/dd&gt;
&lt;/dl&gt;

&lt;h2&gt;
  
  
  When
&lt;/h2&gt;

&lt;p&gt;Let’s face it: knowing the time of a situation in the log is the most crucial aspect. So don’t be a fool: if you are using a framework for your language or logging and this isn’t a default value that appears in the log, my friend, you better start googling for alternatives.&lt;/p&gt;

&lt;p&gt;The typical format that we are looking for is a human-readable timestamp: YYYY-MM-DD HH:MM:SS.SSS. If you need, you should go down to millisecond precision. Also, of course, pay attention to that thing that haunts you in your sleep: you have to be careful with timezones!&lt;/p&gt;

&lt;p&gt;We live in a world where every second count. In 2000, it was acceptable to wait 10 seconds to open a web page but now if it takes more than 1 second the user is going to close that page. So, you are already guessing what I’m going to say: execution time. Every request has to log the corresponding response time. Also, yes, this is a nice one for that fancy chart in your dashboards!&lt;/p&gt;

&lt;dl&gt;
&lt;dd&gt;
&lt;b&gt;2019–04–06 17:02:03.375&lt;/b&gt; INFO [req-000000083] [c.b.a.controller.ApiController] [operationName=ApiController.edit, httpMethod=PATCH, IPAddress=100.200.300.400, userId=55df8919, &lt;b&gt;executionTime=127&lt;/b&gt;] [operationResult=NO_CONTENT]
&lt;/dd&gt;
&lt;/dl&gt;

&lt;h2&gt;
  
  
  Who
&lt;/h2&gt;

&lt;p&gt;Every aspect that we’ve talked about until now is essential, but it could become irrelevant if you don’t know who made a specific operation in your application.&lt;/p&gt;

&lt;p&gt;Typically you have an authentication system for your application. It doesn’t matter if it’s a REST API with a bearer token or basic auth, or if it’s a web app with a Keycloak, Cierge or AWS Cognito. When the request enters your endpoint, you should have access to the user identifier that made it, and at that moment you should log that identifier. If you have endpoints that allow unauthenticated requests, then you should log something like userId=Anonymous.&lt;/p&gt;

&lt;p&gt;If you don’t have an authentication system, you can take another approach and opt to print the IP that made a request. It’s not the most credible identifier (the user could be connected to a network that supports one hundred users but has a static IP, for example), but it’s better than having no clue about who made a specific request. Also, one thing is obvious: if security is your application’s primary concern, independently logging the IP is always essential, whether you have an authentication system or not.&lt;/p&gt;

&lt;dl&gt;
&lt;dd&gt;
2019–04–07 08:18:04.293 INFO [req-000000016] [c.b.a.controller.ApiController] [operationName=ApiController.create, httpMethod=POST, &lt;b&gt;IPAddress=100.200.300.400, userId=55df8919&lt;/b&gt;, executionTime=57, resourceId=1002] [operationResult=CREATED]
&lt;/dd&gt;
&lt;/dl&gt;

&lt;h2&gt;
  
  
  Why
&lt;/h2&gt;

&lt;p&gt;Well, this one is obvious from the beginning. Only if the logging of your application is turned off, will you not have the errors printed in your log. So, this is simple: to the client, we always return a pretty message. In the log, we should print every nasty little thing that caused an error. Even that one that will give nightmares because that little bug is your fault!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sdTKNjw---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jojylzf2htsh5uvr6ff0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sdTKNjw---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jojylzf2htsh5uvr6ff0.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But not everything revolves around errors. In my opinion, you don’t have to print all the validation errors that you send to the user, but there are some that you should log. For example, there is a trivial one: trying to access a resource that doesn’t exist. The user is going to receive a 404 HTTP code, and the log should reflect that. If you use some tool that identifies those kinds of errors in the log, you could raise alerts based on the number of those events.&lt;/p&gt;

&lt;dl&gt;
&lt;dd&gt;2019–04–07 08:24:26.138 WARN [req-000000040] [c.b.a.e.ExceptionHandlingControllerAdvice] [operationName=ApiController.get, httpMethod=GET, IPAddress=100.200.300.400, userId=55df8919, resourceId=123456789, executionTime=4] &lt;b&gt;[operationResult=NOT_FOUND] Resource not found: 123456789&lt;/b&gt;
&lt;/dd&gt;
&lt;br&gt;
&lt;dd&gt;
2019–04–07 09:47:13.263 WARN [req-000000055] [c.b.a.e.ExceptionHandlingControllerAdvice] [operationName=ApiController.create, httpMethod=POST, IPAddress=100.200.300.400, userId=55df8919, executionTime=140] &lt;b&gt;[operationResult=CONFLICT] The selected dates are already reserved&lt;/b&gt;
&lt;/dd&gt;
&lt;/dl&gt;

&lt;h2&gt;
  
  
  Where
&lt;/h2&gt;

&lt;p&gt;In this final section, I want to mention two things that could become handy in certain situations. If your application is an API that serves a frontend application, I’m sure there is valuable browser information that made the request. We all know that dealing with the panoply of browsers that exist nowadays is a nightmare. Help that needy frontend developer with this.&lt;/p&gt;

&lt;p&gt;This next one isn’t easily implemented, but I believe that some applications need to log this: the geolocation of the request. You have a lot of APIs to know the location of an IP but calling an API to add information to the log is a little bit expensive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;If you read everything and your log has all the information, you are a superstar. If you have some, I honestly believe that is a good start, and it’s a sign that you care about your project! I highly recommend allocating some time to improve this in your application. As we’ve just seen, it’s so important! If you don’t have anything but the default information, you have much work to do, so hurry up before a user or your client raises a question that you won’t know how to answer!&lt;/p&gt;

&lt;p&gt;In my teams, logging is always an essential concern and one of the first things to do when we bootstrap an application. The value of a meaningful and structured logging architecture is immeasurable because it helps us to solve any problem faster and more efficiently. Without logs, your team could be stuck trying to explain why your application is behaving unexpectedly, or it could take hours to respond to a simple client query about an error.&lt;/p&gt;

&lt;p&gt;I hope that this article has convinced you about the importance of correct logging within your applications. So believe me, when it comes to logging, there is always room for improvement. It’s a never-ending task. So what are you waiting?&lt;/p&gt;

&lt;p&gt;Bonus: You can find &lt;a href="https://gist.github.com/voliveira89/175b21dce08774d109c08b1f050cc513"&gt;here&lt;/a&gt; an example for a logback.xml (hello Java and Spring users) that has the same pattern of the examples.&lt;/p&gt;

</description>
      <category>logging</category>
      <category>devops</category>
      <category>monitoring</category>
      <category>debugging</category>
    </item>
  </channel>
</rss>
