What is Jira backlog grooming?

What is Jira backlog grooming? It’s the process of adding important context and estimates to backlog items as well as prioritizing them. First mentioned by Mike Cohn in 2005 and later polished by Kane Mar in 2008, backlog grooming was finally added as an official scrum element in 2011.

Grooming is an open discussion between the development team and product owner. The user stories are discussed to help the team gain a better understanding of the functionality that is needed to fulfill a story. This includes design considerations, integrations, and expected user interactions.

How do you groom a story?

1.Groom the stories

  1. Remove the stories from the backlog that are no longer needed.
  2. Clarify the stories by elaboration the conditions of satisfaction as required.
  3. Estimate the stories with the best known facts at that time.
  4. Adjust the priority of the story with the permission of the Product Owner.

What is the difference between grooming and refinement?

Grooming or refinement? Meeting or not? The term grooming has been discouraged since the word has bad connotations, but it is still widely used. Backlog refinement stands for the same thing, which is, keeping the backlog up to date and getting backlog items ready for upcoming sprints.

What is the difference between sprint planning and grooming?

Image result

While the sprint planning meeting is an official scrum meeting, there is no compulsion to have a separate meeting to groom the backlog. … In this type of grooming session, the product owner acts as a facilitator of the grooming meeting.

Backlog grooming is the process of refining outstanding user stories or backlog items, breaking big items into smaller tasks and prioritizing those which need to be tackled first. Together, this helps shape the next sprint session’s objectives.

How to uninstall Jenkins from Mac OS?

How to uninstall Jenkins from Mac OS?

If you have installed Jenkins using homebrew and if you want to uninstall it completely, this is how you do it:

brew uninstall jenkins --force
brew cleanup

If you have installed it as a package from Jenkins.io follow this post.

How to uninstall Jenkins from MAC

I installed Jenkins as pkgfrom jenkins.io. There was some issue and I wanted to delete it. I couldn’t find Jenkins folder or Uninstall Command ($/Library/Application\ Support/Jenkins/Uninstall.command) in Library, so this is what I did,

  1. Go to /Applications–> Delete the Jenkins folder
  2. Delete /Users/Shared/Jenkins
  3. Delete Jenkins user(there will be a standarduser with no nameusername for the first time when jenkins is installed) from “Users & Groups”

After this I re-installed Jenkins and it seem to work.

Library VS Framework

library performs specific, well-defined operations. A framework is a skeleton where the application defines the “meat” of the operation by filling out the skeleton. The skeleton still has code to link up the parts but the most important work is done by the application.

Many of us will be unaware of this difference which is really important to understand during development. The possible answer to this question, if asked, will be “Framework is a collection of various libraries”. However, this definition is not entirely true. “Who calls whom” i.e. the caller/callee relationship defines the difference between the two terms. It is our code which calls the library code while in framework, it is framework’s code which calls our code. Let’s see how. 

No alternative text description for this image

Library

A library provides a set of helper functions/objects/modules which your application code calls for specific functionality. Libraries typically focus on a narrow scope (e.g., strings, IO, sockets), so their API’s also tend to be smaller and require fewer dependencies. It is just a collection of class definitions. Why we need them? The reason being very simple i.e. code reuse, use the code which has already been written by other developers. Example, some library has a method named findLastIndex(char) to find the last index of a particular character in a string. We can straightaway call findLastIndex(charToFind) function of the library and pass the characters whose position we need to find as a parameter in the function call. 
 

Framework

Framework, on the other hand has defined open or unimplemented functions or objects which the user writes to create a custom application. (C++/Java users will understand this as it is much like implementing an abstract function). Because a framework is itself an application, it has a wider scope and includes almost everything necessary to make a user application as per his own needs. Wikipedia makes it more clear: 

“In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software” 
 

framework vs library

Thus, the key difference is in the “Inversion of Control”, commonly called as IoC. When we call a method from a library, we are in control. But in framework, the control is inverted i.e. the framework calls us. It defines a skeleton where the application defines its own features to fill out the skeleton. Example, in Javascript, we usually use this: 
 

$(document.ready(){     // this call will be done by the jquery 
// framework when document will be ready.
    
    function() {
        /* your code */    // our implementation inside the framework's function
    }
});



While in library, we normally have its object to call its functions or we simply call them. Ex: 
 

str = "nysoft.usa"
var pos = str.lastIndexOf("."); // simply calling function of string library



Important Points: 
 

  • Library : It performs a set of  specific and well-defined operations. Examples : Network protocols, compression, image manipulation, string utilities, regular expression evaluation, math etc
  • Framework: It is known to be a skeleton where the application defines the content of the operation by filling out the skeleton. Examples of frameworks: Web application system, Plug-in manager, GUI system. The framework only defines the concept but an application further defines the functionality that is useful for end-users.
  • Inversion of control: When we call a method from a library, we are in control. But in framework, the control is inverted i.e. the framework calls us.
XPath normalize-space example in Selenium WebDriver

In this example we will discuss about the usage of normalize-space in Xpath.

We already aware of the Functions like text(),contains(),starts-with(),last() and position() in Xpath. Refer to this link to know details about these functions. Xpath Functions.

Generally, normalize-space(String s) is a method in Xpath useful to remove any leading or trailing spaces in a String. This is also works like a trim() function in java.lang.String class. We will see different examples

<tr>
<td>
<a href="//money.rediff.com/companies/thomas-cook-i/16610005"> Thomas Cook (I) </a>
</td>
<td>A</td>
<td>244.60</td>
<td>252.95</td>
<td>
</tr>

In the above example the table data has spaces for Thomas Cook. If we use Xpath Text Function it doesnt provide any value as an output. Please check the screenshot below:

Usage of Xpath text() Function

Usage of normalize-space(text()) method in Xpath.Please check the screenshot below:

xpath-normalize-space-example

Selenium WebDriver Example to fetch the price for a particular Stock:

package org.totalqa.selenium;
 
import java.util.List;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class XpathAxesLocators {
 
	public static void main(String[] args) {
		
		System.setProperty("webdriver.gecko.driver", "geckodriver.exe");
		FirefoxDriver driver = new FirefoxDriver();
		driver.get("https://money.rediff.com/gainers/bse/daily/groupa?src=gain_lose");
		
		/**
		 * Solution 1 using Axes Locators
		 */
		WebElement e = driver.findElement(By.xpath("//a[normalize-space(text())='Thomas Cook (I)']/parent::td/following-sibling::td[2]"));
		try{
			if(e.isDisplayed())
			{
					String price =  e.getText();
					System.out.println("Stock Price" + price);
			}
		}
		catch(NoSuchElementException ex)
		{
			System.out.println("Stock Name Not Exists"+ ex.getMessage());
		}
		
		/**
		 * Solution 2 using findElements()
		 */
		List<WebElement> trList = driver.findElements(By.xpath(".//*[@id='leftcontainer']/table/tbody/tr/td[1]/a"));
		for(int i=0;i<trList.size();i++)
		{
			if(trList.get(i).getText().contains("Thomas Cook (I)"))
			{
				e = driver.findElement(By.xpath(".//*[@id='leftcontainer']/table/tbody/tr["+(i+1)+"/td[3]"));
				System.out.println("Stock Price:::" + e.getText());
				break;
			}
		}
		
	}
}

Therefor the extra spaces in the table data is ignored and identified the element and fetches the stock price.

Output:

Stock Price::: 244.60

Conclusion:

In the example we have learnt how to use the normalize-space in Xpath.

Top 10 Advantages of Working from Home

WFH means Work From Home

Flexible schedule. You can take breaks at any moment, feel no rush to hang up on your family members when they call, and eat lunch at any weird time you want.

Custom environment. Setup your noise level just the way you want it — somewhere between insanely quiet to being at the front row of a Flosstradamus show.

Cozy clothes. You get to wear those sweatpants from college with the letters peeling off, or the leggings your friends don’t know you own. (And hopefully never will.)It’s easier to make calls. You won’t have to scramble to find a conference room or deal with a particularly chatty co-worker. (Granted, kids and pets at home can make this tough for some remote employees.)Knock off some weekend to-do’s. That Mt. Everest laundry pile waiting for you? That thing you set a reminder to get from the store 11 weeks ago? Cross. It. Off.No office distractions. Avoid co-workers debating the merits of cryptocurrency, sirens wailing outside your window, the AC kicking in as you hide your icicle tears.Zero commuting. From bed to … bed? Hey I’m not judging, it’s nice.Save money. Lunch is expensive if you work in a city or downtown. In San Francisco, it’s not crazy to see a $15 sandwich or $4 coffee. At home, you can save big time by going to the store and preparing food.Forget crowds and traffic. No stuffing yourself into a rickety transportation tube, having people scuff your new shoes, or walking behind agonizingly slow people who apparently don’t know what a straight line is. (Am I bitter? No … not bitter … )More time with loved ones. Take care of a sick significant other at home, be ready for your kids earlier in the day, get some extra snuggles in with your doggo, or simply get some quiet time to yourself!

Top 10 Disadvantages of Working from Home

Willpower. Gotta get jamming on this new project, but Netflix says you still have 4 episodes of Tiger King to watch…

Difficulty sticking to a routine. The order you do things at work is almost never the order you do things at home. It can be tough to mirror your schedule and processes once outside the office.

Missing important calls or pings. Oops, my phone was on do not disturb and I missed a meeting! Or my boss slacked me and asked to prioritize something else and now it’s 4:45pm …

Calling UberEats anyways. You thought you were saving money, didn’t you? Blam-o! $20 minimum and a $5 fee for the higher rated Thai place. Should’ve remembered to buy bread …

Power naps. This could arguably could be in advantages … unless it accidentally lasts 45 minutes after your delivered double entree Thai lunch.

Boredom. Those office convos? Kinda missing Susan’s cat stories, eh? How long can you go without seeing another living human being?

Working slowly. Sometimes the office has an energy. Sometimes your home does not.

No second monitor. How did I ever work without two giant screens looming above me??? All 74 of my tabs are essential!

Iffy WiFi. At home or in a cafe, when the wifi start to spaz and you switch locations a couple of times but honestly spend more time parking and ordering a 6-shot mint mojito coffee with coconut milk and 16 grains of sugar than doing work.

Waiting for an answer. You need to ask a super quick question, but it’ll impact how you do something for the next hour or even the rest of the day. And there’s no response. (Cue “The Waiting.”)The Office Michael Scott call me ASAP as possibleFOMO at Home.

FOMO at Work.The grass is always greener on the other side.

When you’re at work, nothing sounds more amazing than a toasty day indoors with your favorite blanket. When you’re at home, you reminisce about making jokes with your co-workers and wonder if the coffee machine made good coffee that day.

Either way, it’s important to choose the environment you’ll be most successful in. As you begin to work longer and build more experience, learning to focus in any surrounding is a valuable life skill, and will only help your professional career in the long run — especially as remote-first companies are gaining traction.

If you’re still newer to the remote workforce, start by simply finding out where you do your best work and why.