<?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: Yoman</title>
    <description>The latest articles on DEV Community by Yoman (@yodev).</description>
    <link>https://dev.to/yodev</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%2F135567%2Fab1e4a85-7ece-4a9a-bd9f-6dab5daeb0c0.png</url>
      <title>DEV Community: Yoman</title>
      <link>https://dev.to/yodev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/yodev"/>
    <language>en</language>
    <item>
      <title>Web vitals automation using github actions</title>
      <dc:creator>Yoman</dc:creator>
      <pubDate>Sun, 09 Jan 2022 07:38:41 +0000</pubDate>
      <link>https://dev.to/achuthhadnoor/web-vitals-automation-using-github-actions-413a</link>
      <guid>https://dev.to/achuthhadnoor/web-vitals-automation-using-github-actions-413a</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Google recently announced new standards for search engine ranching and &lt;a href="https://web.dev/learn-web-vitals/" rel="noopener noreferrer"&gt;Web vitals&lt;/a&gt;  score directly impacts user's experience visiting your website and also influences the search engine ranking. These new standards expect you to have less performance issues in production. we will use &lt;a href="https://vercel.com" rel="noopener noreferrer"&gt;vercel&lt;/a&gt; CI Deployment using &lt;a href="http://github.com/actions" rel="noopener noreferrer"&gt;Github Actions&lt;/a&gt;  &lt;/p&gt;

&lt;h2&gt;
  
  
  Lighthouse and web Vitals
&lt;/h2&gt;

&lt;p&gt;Google Chrome is directly shipped with &lt;a href="https://developers.google.com/web/tools/lighthouse" rel="noopener noreferrer"&gt;lighthouse&lt;/a&gt;, an open-source tool used to audit your website in a controlled environment within the browser.This tool generated web vital scores including first contentful paint, speed index, time to interact and other criteria out of 100 as PWA's &lt;/p&gt;

&lt;p&gt;It also provides suggestion and direct links to resources to help you resolve the performance, SEO issues and other helpful suggestions.&lt;/p&gt;

&lt;p&gt;Though this is an easy way to get the web vitals before moving the app to prod.we need to do it manually. Now we can automate the process using github actions and vercel CI deployment action.&lt;/p&gt;

&lt;p&gt;We can use &lt;a href="https://github.com/GoogleChrome/lighthouse#using-the-node-cli" rel="noopener noreferrer"&gt;Lighthouse cli&lt;/a&gt; or  as in this tutorial we can use vercel CI deployment action&lt;/p&gt;

&lt;h2&gt;
  
  
  Lighthouse Budgets
&lt;/h2&gt;

&lt;p&gt;Light house allows to maintain a budget file that specifies requirements of each web vitals measurement such as &lt;code&gt;first-contentful-pain&lt;/code&gt; and &lt;code&gt;cumulative-layout-shift&lt;/code&gt;. You can also specify the maximum sizes for images , script loads and third-party requests count.More information on Budgets &lt;a href="https://github.com/GoogleChrome/lighthouse/blob/master/docs/performance-budgets.md" rel="noopener noreferrer"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;If the Lighthouse audit fails to meet the set budgets and assertions are returned that describe where the problems occur with a link to further details of the assertion and what was expected.&lt;/p&gt;

&lt;p&gt;This file is named &lt;code&gt;budget.json&lt;/code&gt; and is put in &lt;code&gt;.github/lighthouse/&lt;/code&gt; directory&lt;/p&gt;

&lt;p&gt;Below is the example of the file showing some metrics that assert against.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"path"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"/*"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"timings"&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"metric"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"interactive"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"budget"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"metric"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"first-contentful-paint"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"budget"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1800&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"resourcesSizes"&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"resourceType"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;"script"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
                &lt;/span&gt;&lt;span class="nl"&gt;"budget"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="err"&gt;]&lt;/span&gt;&lt;span class="w"&gt; 
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Writing a Github Action
&lt;/h2&gt;

&lt;p&gt;We can write our workflow within our repository thanks to the  &lt;a href="https://github.com/features/actions" rel="noopener noreferrer"&gt;Github Actions&lt;/a&gt; that make it seem-less . Since it is developed by Github we have complete control on the CI.We can trigger actions based on pull, push, tags or anything that is supported from &lt;a href="https://github.com/marketplace" rel="noopener noreferrer"&gt;GitHub Marketplace&lt;/a&gt;. We can also call external services like &lt;code&gt;vercel&lt;/code&gt; API or &lt;code&gt;Lighthouse cli&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;When an action is triggred by &lt;code&gt;pull-request&lt;/code&gt; event , the outcome of the action can be used to pass or fail the pull request checks and also can be made mandatory in branch settings. In our case , we are going to create a &lt;code&gt;pull-request-audit.yml&lt;/code&gt; file in &lt;code&gt;.github/workflows&lt;/code&gt; directory. When you raise a &lt;code&gt;pull-request&lt;/code&gt; then this file will be triggered and run.&lt;/p&gt;

&lt;p&gt;In order to perform a lighthouse audit on pull request changes. We need to :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploy the changes on &lt;a href="http://vercel.com" rel="noopener noreferrer"&gt;vercel&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Run Lighthouse against vercel preview URL&lt;/li&gt;
&lt;li&gt;Format the results&lt;/li&gt;
&lt;li&gt;Display the results on the pull request&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's take a look at the marketplace actions we need and how to use them &lt;/p&gt;

&lt;h2&gt;
  
  
  Vercel action
&lt;/h2&gt;

&lt;p&gt;Vercel  action allows you to trigger a vercel deployment Of our full request code and run a Preview URL which we Will use to audit, before actually merging the code.&lt;/p&gt;

&lt;p&gt;In order to do that we need to connect our project to vercel via vercel API to get the &lt;code&gt;project-Id&lt;/code&gt; and &lt;code&gt;org-id&lt;/code&gt; information as per the following &lt;a href="https://github.com/amondnet/vercel-action" rel="noopener noreferrer"&gt;Vercel Project Linking documentation&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;We will need to save the vercel IDs as the Github secrets within settings of the repository. &lt;code&gt;settings → secrets → new Repository secret&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;here is how we configure the action workflow file to automate web vitals checking.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Audit URLs using Lighthouse&lt;/span&gt;
    &lt;span class="s"&gt;id&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;lighthouse_audit&lt;/span&gt;
    &lt;span class="s"&gt;uses&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;treosh/lighthouse-ci-action@v7&lt;/span&gt;
    &lt;span class="s"&gt;with&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;urls&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;|&lt;/span&gt;
            &lt;span class="s"&gt;${{ steps.vercel_action.outputs.preview-url }}&lt;/span&gt;
            &lt;span class="s"&gt;${{ steps.vercel_action.outputs.preview-url }}/blog&lt;/span&gt;
        &lt;span class="na"&gt;budgetPath&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;.github/lighthouse/budget.json'&lt;/span&gt;
        &lt;span class="na"&gt;uploadArtifacts&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
        &lt;span class="na"&gt;temporaryPublicStorage&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
        &lt;span class="na"&gt;runs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;3&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Displaying the Results
&lt;/h2&gt;

&lt;p&gt;To best display the results of the audit, we need to get hold of the Lighthouse audit output and format the results. We can then display these on the pull request using the &lt;a href="https://github.com/marocchino/sticky-pull-request-comment" rel="noopener noreferrer"&gt;sticky-pull-request-comment&lt;/a&gt; action. This action allows sticky comments to be added to a pull request and later edited.&lt;/p&gt;

&lt;p&gt;When calling the sticky comment action you must ensure that you set a &lt;code&gt;header&lt;/code&gt; and use the same name consistently. This will ensure that the correct comment gets updated.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;- name: Add comment to PR
    id: loading_lighthouse_comment_to_pr
    uses: marocchino/sticky-pull-request-comment@v2
    with:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        number: ${{ github.event.pull_request.number }}
        header: lighthouse
        message: |
            🚦 Running Lighthouse audit...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To format the assertion results, if there are any, you can simply loop through them and build up a string to pass as &lt;code&gt;message&lt;/code&gt; to the &lt;code&gt;comment&lt;/code&gt; action with the correct &lt;code&gt;header&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwp.sitepen.com%2Fwp-content%2Fuploads%2F2021%2F07%2Fimage2-1024x264.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwp.sitepen.com%2Fwp-content%2Fuploads%2F2021%2F07%2Fimage2-1024x264.png" alt="https://wp.sitepen.com/wp-content/uploads/2021/07/image2-1024x264.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Putting it All Together
&lt;/h2&gt;

&lt;p&gt;The complete finished action can be found in the &lt;a href="https://github.com/tomdye/vercel-lighthouse-action" rel="noopener noreferrer"&gt;vercel-lighthouse-action&lt;/a&gt; repository along with an example budget.&lt;/p&gt;

&lt;p&gt;It will deploy your PR code to Vercel, run three Lighthouse audits against the provided URLs based on the Vercel preview URL, and then format the results before posting them as a comment onto the PR.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>web</category>
      <category>nextjs</category>
      <category>webvitals</category>
    </item>
    <item>
      <title>Accountability makes you stay on top of your goals</title>
      <dc:creator>Yoman</dc:creator>
      <pubDate>Sat, 01 Jan 2022 09:26:43 +0000</pubDate>
      <link>https://dev.to/achuthhadnoor/accountability-makes-you-stay-on-top-of-your-goals-2anb</link>
      <guid>https://dev.to/achuthhadnoor/accountability-makes-you-stay-on-top-of-your-goals-2anb</guid>
      <description>&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;You can lose interest when you started on working a particular goal as a time pass. This is because either you get demotivated or you start feeling that there is no proper outcome of the goal. This is because either you have been exhausted on working on it continuously or You don't share the progress with anyone&lt;/p&gt;

&lt;h2&gt;
  
  
  Accountability
&lt;/h2&gt;

&lt;p&gt;To achieve your goals faster you need to be accountable to yourself. It helps to achieve tasks that you are supposed to achieve over a longer period of time. You can be Accountable in many ways such as you can have a task manager where you can log your task daily, you can use different techniques to achieve this, you can have a friend or a family member with Whom you can share the progress daily,You can have your end users to whom you can share the progress daily so that they can more excited about the product or feature your working on  currently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ways to be accountable
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create a Personal Mission Statement.&lt;/li&gt;
&lt;li&gt;Set Micro-Goals.&lt;/li&gt;
&lt;li&gt;Use Lists Wisely.&lt;/li&gt;
&lt;li&gt;Make Yourself Accountable.&lt;/li&gt;
&lt;li&gt;Reward Yourself.&lt;/li&gt;
&lt;li&gt;Do One Task at a Time.&lt;/li&gt;
&lt;li&gt;Emphasize Your Strengths, Improve Your Weaknesses.&lt;/li&gt;
&lt;li&gt;Value Your Time.&lt;/li&gt;
&lt;li&gt;seek feedback&lt;/li&gt;
&lt;li&gt;Review yourself&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Create a personal mission statement
&lt;/h2&gt;

&lt;p&gt;When you set a goal to achieve then you need to write down your personal mission statement this includes the things you want to achieve along the way and how are you prioritising them.&lt;/p&gt;

&lt;p&gt;I have a personal mission statement&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To be creative ways to keep creating.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So basically I keep doing things on a repeated way so that I can create beautiful things and also keep myself creative enough and follow the trend as a designer and developer.&lt;/p&gt;

&lt;p&gt;Your personal mission statement doesn't have to sound poetic but it has to have a deeper connection with you to achieve your goals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set micro-goals.
&lt;/h2&gt;

&lt;p&gt;There are countless benefits to writing down goals of all sizes. Annual, five-, and ten-year goals can help you expand on your mission statement because you know you are working towards a tangible result. But long term goals are useless unless you have a strategy to achieve them. Manage yourself by setting micro-goals.&lt;/p&gt;

&lt;p&gt;What is a micro-goal? I like to think of it as a single action that, when accomplished, serves as a building block to a much larger goal.&lt;/p&gt;

&lt;p&gt;For example, the resolution to make a larger-than minimum monthly payment on a credit card balance is a micro goal. Each month you successfully increase your payment, you are closer to your big goal of getting out of debt.At work a micro-goal might involve setting up an important client meeting. Getting all the elements for a meeting in place is one step towards a larger goal of winning or increasing a particular business relationship.&lt;/p&gt;

&lt;p&gt;A micro goal is not, however, anything that goes on your to-do list. Responding to a customer inquiry or cleaning out your cubicle is not a micro-goal, unless of course you have bigger goals to specifically involving that customer or to get more organized.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use lists wisely.
&lt;/h2&gt;

&lt;p&gt;Lists – from simple to-do lists to complex project plans – can be a helpful tool for prioritizing and planning your day. If lists are too big or poorly organized, however, they can overwhelm you and defeat their purpose. Manage yourself by using lists effectively: keep a small to-do list of 5 or fewer items. If it’s not important enough to be on the top 5, leave it off. As you complete activities, you can add more.&lt;/p&gt;

&lt;p&gt;One way to help achieve smaller, more manageable lists is to break one big list into several. I often find my to-do lists contain a dozen or more activities than can be grouped. If you’re a blogger for example, and you have 5 great article ideas, writing each one might be on your to-do list. I would recommend putting one item on your to-do list – write 5 new articles. Prioritize it accordingly, and when you sit down to write, break out the list of topics and don’t move to another project on your primary to-do list until all the others are complete.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make Yourself Accountable
&lt;/h2&gt;

&lt;p&gt;Managers hold employees accountable. After all, managers want to make sure employees are earning their salary. If you are a sales rep, managers want to know how many calls you make and how much business you close. If you are a lawyer or a consultant, managers want to know how many hours you bill. Manage yourself by making yourself accountable for how you spend your time.&lt;/p&gt;

&lt;p&gt;Some of the most successful people I know review their to-do lists each night and every Friday. They study what they accomplished—and what they did not. Even outside of work, you can do the same. Schedule a time each week to reflect. How were your eating habits this week? Did you exercise this month? What about your spending? Did you stick to your budget or did you splurge? What can you do better next week?&lt;/p&gt;

&lt;h2&gt;
  
  
  Reward yourself
&lt;/h2&gt;

&lt;p&gt;Great managers know that rewarding employees for a job well done is far more effective than doling out penalties for failure. Rewards range from simple praise to promotions to cash bonuses, but they all achieve the same goal: Rewards make us work harder to get something we want.&lt;/p&gt;

&lt;p&gt;If you have a mile-long to-do list, want to start exercising, or want to tuck away more savings, manage yourself by creating a reward for each goal. If you get through your to-do list, leave work early and do something you enjoy. If you get to the gym every day, indulge in a food you enjoy but ordinarily avoid. And if you have a savings goal, tell yourself that when you reach it, you will take a month off of saving and buy yourself something you have always wanted.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do One Task at a Time
&lt;/h2&gt;

&lt;p&gt;How many job postings include the line “must be able to multi-task”? In today’s wired world, it is impossible not to multi-task most of the time. If I were hiring an employee, I would be infinitely more interested in his or her ability to focus and to see tasks through to completion. You can manage yourself by striving to do one thing at a time, and not stop until it is completed.&lt;/p&gt;

&lt;p&gt;Working on one thing at a time is easier said than done, but the harder you concentrate on completing one task, the faster you will get it done – even if you are interrupted.&lt;/p&gt;

&lt;p&gt;Get in the habit or checking email only two or three times a day and decide to either respond immediately or delete the message. Close your door, mute your phone, or work from home when you need to get through significant projects.&lt;/p&gt;

&lt;p&gt;In your personal life, don’t try to give up coffee, smoking, and sugar all at the same time. If you’re tackling debt – or trying to save more – pick the most important debt to pay off, or saving goal to reach, and put everything towards that goal.&lt;/p&gt;

&lt;p&gt;You will find that you reach your goals faster, and you will be less stressed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Emphasise Your Strengths, Improve Your Weaknesses
&lt;/h2&gt;

&lt;p&gt;Nobody is born to do everything. We all have natural talents and abilities in some areas, and we all struggle in others. For example, some of us are born writers, but have a difficult time with conversation. Others can work a room or present to hundreds like a pro, but can’t write a coherent email message. Good managers want to help their employees shine, and also develop. To manage yourself, take every opportunity to show off your strengths, and actively seek out ways to improve in improving in weaker areas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Value Your Time
&lt;/h2&gt;

&lt;p&gt;Do you know how much an hour of your time is worth? No matter how much you earn per hour, chances are, each hour is worth far less. After all, you spend time each day getting ready for work, commuting to and from work, and even thinking about work when you aren’t actually working.&lt;/p&gt;

&lt;p&gt;When you divide your salary by all that time spend on things related to work, you hourly rate is probably a lot less than you think.&lt;/p&gt;

&lt;p&gt;Now, think about your free time – however much of it you may have. What is it worth to you? Could you put a price tag on an hour at the beach with nothing to worry about?&lt;/p&gt;

&lt;p&gt;If you’re like most people, the time you have yourself will almost always be more valuable than time at work. Manage yourself by learning to maximize your productivity during the hours you are actually working, and by maximizing your personal time by ignoring your cell phone, Blackberry, and laptop, and focusing on the things you enjoy.&lt;/p&gt;

&lt;h2&gt;
  
  
  Seek Feedback
&lt;/h2&gt;

&lt;p&gt;Good managers don’t only rely on personal observations of their employees. Good managers will seek other opinions of employees – opinions from coworkers, friends, and customers. Such feedback will provide valuable insight into the employee’s competencies and weaknesses, and will help the manager give the employee tools to grow and succeed.&lt;/p&gt;

&lt;p&gt;As your own manager, how you see yourself may be radically different from how others see you. Don’t be afraid to ask others how you’re doing. Ask coworkers or friends to provide an honest evaluation of how they think you perform your job, and survey customers to learn what you’re doing right – and where you can improve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Review Yourself
&lt;/h2&gt;

&lt;p&gt;Going back to holding yourself accountable, every manager provides formal feedback to employees at regular intervals in the form of a performance review. Whether quarterly, semi-annually, or annually, make a habit of managing yourself by taking an hour to perform a self-review.&lt;/p&gt;

&lt;p&gt;Ask yourself: what have I accomplished in the least year? Have I met my goals? Have I met my micro-goals? Have I built upon strengths and improved my weaknesses? Have I grown as a person? Even this simple, infrequent habit can transform your productivity, attitude, and success.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>javascript</category>
      <category>web</category>
    </item>
    <item>
      <title>VS Code debugging for web developer</title>
      <dc:creator>Yoman</dc:creator>
      <pubDate>Wed, 29 Dec 2021 14:43:24 +0000</pubDate>
      <link>https://dev.to/achuthhadnoor/vs-code-debugging-for-web-developer-i39</link>
      <guid>https://dev.to/achuthhadnoor/vs-code-debugging-for-web-developer-i39</guid>
      <description>&lt;h2&gt;
  
  
  Debugging in VS Code for web developers.
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d4TpPxGR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271703569/IR3E3VsAj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d4TpPxGR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271703569/IR3E3VsAj.png" alt="1.png" width="880" height="586"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/docs/editor/debugging"&gt;image-source: VS-Code website&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is VS Code.
&lt;/h2&gt;

&lt;p&gt;Visual Studio Code is a light weight IDE for developing and debugging web applications or projects that run on javascript.Although by installing extensions you can extend the functionality to support different languages within the IDE. Vs Code is built on electronJs which is a JavaScript framework for building native desktop applications,Which means it comes with full support of running JavaScript applications for web developers.&lt;/p&gt;

&lt;p&gt;Electron JS has main process and render process.Main process runs nodeJs in back-end whereas renderer process runs any web application using any web framework in JavaScript.&lt;/p&gt;

&lt;h2&gt;
  
  
  Intelligence and presets for web development
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Suggests all the node commands to run directly from package.json file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4ZpyNHqW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271722014/H4xIWYTLo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4ZpyNHqW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271722014/H4xIWYTLo.png" alt="2.png" width="880" height="817"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Debug tab on the left toolbar helps you to switch to debug mode instantly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--osJcSOOc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271732225/ew0L9RTcZt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--osJcSOOc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271732225/ew0L9RTcZt.png" alt="3.png" width="880" height="776"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full support for GIT out of the box&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eqRL_b_Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271741646/vpunRuk-2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eqRL_b_Y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271741646/vpunRuk-2.png" alt="4.png" width="826" height="1932"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extensions to give more features for the existing IDE which is fully Customisable&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dEBz7hFH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271752398/jrY1SapLc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dEBz7hFH--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271752398/jrY1SapLc.png" alt="5.png" width="880" height="1184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Integrated terminal with multiple instances&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7H4_B_z1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271768981/LI1vyNLKM.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7H4_B_z1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271768981/LI1vyNLKM.png" alt="6.png" width="880" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Debug console to enable browser level js execution during debugging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KVlAPMe9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271781997/cL6L2cecE.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KVlAPMe9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271781997/cL6L2cecE.png" alt="7.png" width="880" height="229"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple browser like view so you don’t have to learn again&lt;/li&gt;
&lt;li&gt;put a debugger inline in the Editor.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9Ap-H1i---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271792174/pzdnmePWJ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9Ap-H1i---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271792174/pzdnmePWJ.png" alt="8.png" width="880" height="483"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;simple controls to navigate through the debugging process&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mkQnG066--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271802719/T0iaO3f8e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mkQnG066--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271802719/T0iaO3f8e.png" alt="9.png" width="780" height="86"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;create your own environment by creating &lt;code&gt;.vscode/launch.json&lt;/code&gt; file and maintaining the suggestion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ac23XtJk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271966490/90xrqy43P.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ac23XtJk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271966490/90xrqy43P.png" alt="10.png" width="880" height="265"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Below is a sample nodejs configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MZ0rSJu0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271975051/oeH42VjeS.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MZ0rSJu0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1629271975051/oeH42VjeS.png" alt="11.png" width="880" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Thanks, hope this helps you get basic idea for debugging web applications in VS Code . Read more &lt;a href="https://code.visualstudio.com/docs/editor/debugging"&gt;here&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>vscode</category>
      <category>beginners</category>
      <category>web</category>
    </item>
    <item>
      <title>Time-boxing model : A complete guide to time management</title>
      <dc:creator>Yoman</dc:creator>
      <pubDate>Tue, 28 Dec 2021 18:09:00 +0000</pubDate>
      <link>https://dev.to/achuthhadnoor/time-boxing-model-a-complete-guide-to-time-management-38jk</link>
      <guid>https://dev.to/achuthhadnoor/time-boxing-model-a-complete-guide-to-time-management-38jk</guid>
      <description>&lt;p&gt;Time boxing is a simple yet powerful technique of time management,That helps you to have control over your time and improves your productivity.This helpful technique is for practising self explain and organising your schedule in a way that your most important task come first.&lt;/p&gt;

&lt;p&gt;Time-boxing helps you to know how much time you can spend over a task and makes you more attentive on doing it and not over do it .&lt;/p&gt;

&lt;h2&gt;
  
  
  What is time boxing?
&lt;/h2&gt;

&lt;p&gt;Timeboxing simply means that you open your calendar and enter a block of time that you’ll spend on a certain task in the future.&lt;/p&gt;

&lt;p&gt;Instead of working on the task until it’s done, &lt;strong&gt;you proactively decide how much time you’ll spend&lt;/strong&gt; on it and when (and even where).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Timeboxing means setting a fixed amount of time in your calendar for a particular task.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s like scheduling a meeting in your calendar. You select the day, start and finish hours, define the desired outcome, and reserve time in your calendar.&lt;/p&gt;

&lt;p&gt;And once you reserve a box of time, &lt;strong&gt;you should treat it like a scheduled meeting&lt;/strong&gt; – no rapid rescheduling, no distractions when you work on the timeboxed task, etc.&lt;/p&gt;

&lt;p&gt;For bigger tasks you can reserve several blocks of time in advance. With such an approach, you have complete control over your schedule and priorities.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the main benefits of timeboxing?
&lt;/h2&gt;

&lt;p&gt;There are many different benefits if you use the timeboxing time management technique. Here are the main benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can more easily “force yourself” to start working on the tasks you procrastinated on or you know they’re hard for you to be doing,&lt;/li&gt;
&lt;li&gt;You can more easily set strict limits on how much time you’ll spend on a specific task and when you will spend it, and so you can organize yourself much better,&lt;/li&gt;
&lt;li&gt;You can boost your productivity and focus greatly if you make sure that nobody interrupts you or distracts you while you’re working on your task in the boxed time for it,&lt;/li&gt;
&lt;li&gt;It’s a great way to deal with perfectionism and any over-processing and over-doing of tasks,&lt;/li&gt;
&lt;li&gt;You can use timeboxing to plan the most important things right in the morning, and it can help you to plan a much better working rhythm in general.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With a timeboxing approach, you can avoid late delivery, low quality, and over-doing and over-processing tasks. As you know, time flies, and with timeboxing you can have really good control over it, making sure that it doesn’t fly away uncontrollably.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Use timeboxing to start a task you procrastinated on&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Sometimes you have to do a task you really don’t like or procrastinate on for some other reason. Timeboxing can help you with that.&lt;/p&gt;

&lt;p&gt;There is one very interesting (and sometimes beneficial) psychological phenomenon we humans have, which is &lt;strong&gt;that you want to finish an activity after you start it.&lt;/strong&gt; For example, you’ve probably caught yourself watching a movie all the way to the end, even if it was a bad one, but somehow you just couldn’t turn off the TV.&lt;/p&gt;

&lt;p&gt;Conversely, you probably had a task you just couldn’t start working on, but a few minutes after you did, you just forgot about the struggle and gladly worked on the task.&lt;/p&gt;

&lt;p&gt;The idea of timeboxing is that &lt;strong&gt;you start doing a task at the exact moment that your calendar reminds you that it’s time to get the task done&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you know that you have to deal with a task that you procrastinate on, you set 10 alarms if necessary to remind you to really start working on the task.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Once you start working, you soon forget all the tension and resistance that existed before. A really useful method.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you have a bigger task, you can, for example, slice the big task into many mini-tasks that take 1 – 2 hours to complete, and &lt;strong&gt;you just timebox the first mini-task&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In that way, you’ll start working on the big task and even if you make just a little step, you feel much better about yourself and your productivity.&lt;/p&gt;

&lt;p&gt;Even more importantly, you will continue working on the big task much more easily, because you already did the first step. Alternatively, you can just timebox a slot in your calendar to start &lt;strong&gt;working on the big task, work on it in a few hour slots, and try to get as far as possible&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What might happen to you is that you fall into the flow and do much more than you planned. You just have to make sure that you don’t overdo or cross the time limits dedicated for the whole task to finish.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Timeboxing will help you set strict limits&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Every task takes exactly the amount of time you devote to it.&lt;/strong&gt; If you decide to spend two hours on a task instead of 10 hours, you will probably have to work in a more focused way, make sure to work on the important parts of the task, leave some details out, and so on.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are a perfectionist and work on a task until it’s done perfectly without any time limits, it may take you forever to finish a task or at least a lot more time than it probably should.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Starting a task without setting any strict limits on the amount of time to devote to it, and without considering how important the task really is and what its impact will be on your value creation, means working in a completely reactive and unorganized way, instead of being proactive and working in a highly organized way.&lt;/p&gt;

&lt;p&gt;The list concerning clearly defining outputs can also include what is considered to be a good enough output, and when it makes the most sense to start working on the task.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Parkinson's law states that “work expands so as to fill the time available for its completion.” With timeboxing you put maximum limits on how much you will spend on a task.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Timeboxing is a great way to help you strategically answer all those questions before you start working on the task.&lt;/p&gt;

&lt;p&gt;When you timebox time in your calendar, &lt;strong&gt;you simply take a moment or two, consider all the facts you have about the task, and roughly estimate how much time a task should take.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then you put a post-it note on your Kanban board and a reserved block of time in your calendar. It’s that simple.&lt;/p&gt;

&lt;h2&gt;
  
  
  Organize your calendar better with timeboxing
&lt;/h2&gt;

&lt;p&gt;With timeboxing, you can very nicely organize and standardize your calendar. There are especially two very useful ways to use timeboxing in such a way: **deciding when and how much time you will spend on email; and when and how many meetings you will have.&lt;/p&gt;

&lt;p&gt;For example, you can put in your calendar that you have 30 minutes in the beginning and 30 minutes at the end of the working day for your email.&lt;/p&gt;

&lt;p&gt;You can decide that you will have a maximum of two 30-minute meetings every day, except Wednesdays when you have none, and Fridays, when you have longer meetings and more of them.&lt;/p&gt;

&lt;p&gt;You just fill the slots until you run out of them. You spent the rest of the time working in the flow on the most important tasks.&lt;/p&gt;

&lt;p&gt;The main idea is that with timeboxing, you have complete control over you schedule, &lt;strong&gt;you think in advance about what you will spend your time on,&lt;/strong&gt; and you make sure you are really spending your time on the important things.&lt;/p&gt;

&lt;p&gt;With timeboxing, you set some strict limits in your calendar regarding tasks, and you should make sure you never cross them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the same way, you can timebox many different things&lt;/strong&gt;, like lunch time to make sure your body gets all the nutrition right when it needs it, you can timebox activities that you can also group together, such as errands, sales meetings, sales calls, or whatever.&lt;/p&gt;

&lt;p&gt;You can also timebox all the different types of activities, like brainstorming, executing tasks, having a personal hour of power for reading, spending time with your kids, or even having a no-interruptions day or a no-interruptions week.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Timeboxing is such a simple and efficient method that you can use it in many different ways.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Timeboxing a meeting to set limits to unproductive meetings**
&lt;/h2&gt;

&lt;p&gt;Meetings are usually a big waste of time, but from time to time they can still be real work, especially when you need people to agree on something or collective brainpower to solve a problem.&lt;/p&gt;

&lt;p&gt;If you decide to have a meeting and it’s not a creative or bonding one, &lt;strong&gt;timeboxing can help you set a strict limit&lt;/strong&gt; in order to stop a meeting from turning into a time-wasting activity.&lt;/p&gt;

&lt;p&gt;When calling a meeting, you should send strict start and stop hours to all the invitees, as well as the main desired outputs of the meeting and an agenda.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Having a strict deadline for when the meeting ends will help keep people focused&lt;/strong&gt; and prevent them from flowing away in unproductive discussions.&lt;/p&gt;

&lt;p&gt;An example of a timeboxed meeting is also a morning planning meeting with yourself, which shouldn’t take you more than 15 minutes. You can do the same with your team afterwards, just make sure that everyone is standing during the meeting, so it will really take only 15 minutes.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The main benefit of timeboxing is to increase awareness of the time dedicated for a task to be completed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Timeboxing in agile software development&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In agile software development there are several types of meetings that are fixed and basically timeboxed in advanced – through the whole project period, with no exception.&lt;/p&gt;

&lt;p&gt;They happen at the same intervals with the same type of agenda. That’s also one way of timeboxing in practice.&lt;/p&gt;

&lt;p&gt;Timeboxed meetings in agile software development are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Daily scrum (limit: 15 minutes)&lt;/strong&gt; – A 15-minute daily synchronization meeting that happens every day at the same time and usually in the same place.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sprint planning (limit: 2 hours)&lt;/strong&gt; - It’s a planning meeting, where a team decides which tasks will be accomplished in the next sprint, usually in a period of seven days.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sprint review (limit: 1 hour)&lt;/strong&gt; – On a sprint review, the team reviews what work has been done, what hasn’t been done, work that has been added, and what was removed from the sprint.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sprint retrospective&lt;/strong&gt; – It’s a meeting (or two different meetings) at the end of the sprint, where a team does retrospective what was done right and what could be done better.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All these meetings are in advance in calendar of an agile team. It provides structure, stability, and a good work dynamic.&lt;/p&gt;

&lt;p&gt;But what’s even more important, each meeting has a very strict time constraint how long it can last. For example, the daily scrum should not take more than 15 minutes. That’s also the duration that’s reserved in a calendar in a scheduled meeting box.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Which apps can help you with timeboxing?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;You don’t need any special tools to use the timeboxing time management technique. All you need is a tool like &lt;a href="https://www.google.com/calendar/about/"&gt;Google Calendar&lt;/a&gt; or any other. In a calendar you simply reserve a specific amount of time for a task, like you would schedule a meeting.&lt;/p&gt;

&lt;p&gt;All you have to make sure is that you start working on a task when the time comes and stop working on a task when the time runs out.&lt;/p&gt;

&lt;p&gt;Some people use alarms or timers as reminders to start and stop working on a task. If you find it useful, definitely go for it. Other people combine timeboxing with the &lt;a href="https://en.wikipedia.org/wiki/Pomodoro_Technique"&gt;Pomodoro technique&lt;/a&gt;, meaning that they adapt the timeboxed time slots to certain intervals.&lt;/p&gt;

&lt;p&gt;The Pomodoro technique recommends breaking down work on tasks into intervals, traditionally 25 minutes in length, separated by short breaks.&lt;/p&gt;

&lt;p&gt;With a good and simple time tracker you can monitor more accurately how much time did you spent on different tasks, even if they were timeboxed in advanced. Then you can get detailed reports and statistics and even simplify your billing.&lt;/p&gt;

&lt;p&gt;Enjoy using the time boxing technique!&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>projectmanagement</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
