nanolog : Moving from Windows to Mac – Keys

  • End/Home key – [option]+right/left key
  • File cut-paste – [command]+C does copy and [option]+[command]+V does file movement. [command]+V does only file copy to location
  • For Mac windows management – use ShiftIt application
  • To switch between application windows – use [command]-~
  • Undo – use [command] + Z
  • Redo – use [command] + [shift] + Z
Posted in nanolog

QuickTip : WordPress Freemind Viewer Plugin – Align to Left

For my one of the blogs TDD Nuggets I used Freemind Viewer plugin which worked really well. However it had one annoying issue. The mindmap was somehow was not aligned to left. Because of that the whole mindmap was not visible and one has to drag it on the page to see it fully. That itself was a big hindrance to usability.

In order to display Flash based mindmap, following change was required in wp-freemind/wp-freemind.php plugin file and it finally worked.

<!--
var fo = new FlashObject("/wp-content/plugins/wp-freemind/visorFreemind.swf", "visorFreeMind", "100%", "100%", 6, "#9999ff");
fo.addVariable("initLoadFile","'.$content.'");
fo.addVariable("offsetX","left");
fo.write("'.$id.'");
//-->

In above mentioned snippet, line 4 is added in order to set “offsetX” FlashObject variable.

Posted in QuickTip, wordpress

Converting Eclipse Projects to Maven : eclipse-to-maven Intro

Converting a single Eclipse project to Maven is a small task but it becomes huge when you have to deal with hundreds of Eclipse projects. Again this is common in large enterprises. In this context, it can be very useful to have a tool which does just that. The eclipse-to-maven project on github has been created for this purpose.

In current shape it has following features:

  • Converts .classpath files into pom.xml.
  • Moves source folders according to Maven convention. For instance Java sources go to src/main/java folder.
  • Removes spaces in the names of the folders, e.g. “Calculator Component” becomes “CalculatorComponent”.
  • Right now Mavenisation is limited to generating dependencies in the pom. However this is a great first step in pom generation. With small changes you can run the Maven build for your projects.

Read more ›

Posted in Eclipse, eclipse-to-maven, Maven

QuickTip : Maven Surefire plugin – Unsupported major.minor version 51.0

Recently I tried using JDK-7 for one small Java project with Maven and I faced issues in surefire plugin:

[INFO] Surefire report directory: /Users/shrikant/code/eclipse-to-maven/target/surefire-reports
org.apache.maven.surefire.booter.SurefireExecutionException: com/shri/eclipsetomaven/ClasspathToPomConverterTest : Unsupported major.minor version 51.0; nested exception is java.lang.UnsupportedClassVersionError: com/shri/eclipsetomaven/ClasspathToPomConverterTest : Unsupported major.minor version 51.0
java.lang.UnsupportedClassVersionError: com/shri/eclipsetomaven/ClasspathToPomConverterTest : Unsupported major.minor version 51.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)

Just to make sure I used following maven-compiler-plugin configuration for JDK-7 in my pom.xml. However my build still failed.


<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
    <source>1.7</source>
    <target>1.7</target>
    <showDeprecation>true</showDeprecation>
    <showWarnings>true</showWarnings>
    <executable>${env.JAVA_HOME_7}/bin/javac</executable>
    <fork>true</fork>
  </configuration>
</plugin>

Surefire plugin doesn’t seem to use this configuration for compiling test cases. By default it uses the default JDK used to run the build. In my case it was JDK-6. To make it run on new JDK, I made following changes and eventually it worked.

<plugin>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <jvm>${env.JAVA_HOME_7}/bin/java</jvm>
  </configuration>
</plugin>
Posted in Maven, QuickTip

Worldwide Distributed Agile Team – Some Thoughts

Question: How do you think we can handle Agile approach with a worldwide distributed team (Latin America, US, France, UK, Germany & Hungary)? I can have developers at one location, but not Product Owner nor QA team. Any experience to share?

Answer: Try using ATDD where QA creates the acceptance tests at the beginning of Sprint. ATDD which is based on FitNesse or BDD. QA/BA along with Product Owner writes the test cases and developers have to implement their code in order to satisfy the acceptance criteria. This QA sits along with product owner. Apart from that have regular testers also on each distributed location.

Use Skype group video or Google+ hangout for distributed meetings. Use sync.in to write stuff simultaneously from distributed sides within the meeting.

Have collocation between the distributed teams which are going to collaborate together. That is required to have a good personal bonding. As you said, you can have developers can be at one single location – that’s a good idea. Otherwise multiple distributed teams and then multiple time-zones are very difficult to handle.

Have local as well as distributed standup. Make sure that the entire team is working on shared user-story, shared code-base and people use distributed pair programming.

Posted in Agile, BDD, Distributed Agile

4 Agile Practices for Waterfall World

It’s pretty usual to see people from Agile world keep on bashing the Waterfall methodology because of its inherent problems. To be honest, a big majority of the organizations still work in Waterfall mode. So sometimes I used to think, why can’t people in Waterfall world do improvement in the way they do things. Though organizations are switching to Agile, you can’t deny that people have delivered a lot of successful projects in Waterfall too.

In this blog, I am not into bashing mode but would like to ensure that people in Waterfall world benefit with some of Agile practices without changing the inherent nature of methodology.

Read more ›

Tagged with: , , ,
Posted in Agile, Agile Adoption, People Management, Project Management, Scrum, TDD, Traditional IT, XP

What Motivates Scrum Team?

Effectiveness of Scrum based team depends a lot on motivation level of team members. It’s important to understand the factors which motivate a Scrum team irrespective of the background of Scrum Master/Project Manager.

I this post first I will focus on the reasons of de-motivation. If we fix these problems, I see no reason why people are not happy in the team. The points mentioned below are based on the experience of working with multiple project as developer, Scrum Master and Agile Coach. Please feel free to add more based on your own experience.

Read more ›

Tagged with: , , ,
Posted in Agile, Patterns, People Management, Scrum

Why Incorrect Agile Adoption may Invite Burnouts?

Before moving to Agile I worked with Waterfall for around 10 years. Throughout those years I could see people working day and night in development phase. Sometimes teams used to work from 9AM-8PM rhythm non-stop even without knowing why are they doing so.

Whenever product was shipped to customer or whenever any critical production problem occurred, it was quite usual and at the same time pitiful to see team staying entire night to fix the issue.

I heard the word burnout many times. I could see the signs of fatigue on the faces of some people but apart from that I never could understood what burnout actually means.

So here is a story.

Read more ›

Tagged with:
Posted in Agile, Developer

QuickTip: Grails Selenium IDE – “Firefox extension not compatible with browser”

These days I am looking at Grails functional testing part. For recording Selenium scripts, generally the best thing to use is Firefox IDE plugin. It’s possible to convert the Selenium scripts to a test-case in the related programming language (Java, PHP, C# etc). I was looking for a similar formatter for Grails also which is available at github.

I tried to install it but it complained with an error “Firefox extension not compatible with browser” which simply means that the plugin has not been tested with related FireFox version. As Firefox versions are progressing like anything, people are having hard time to find suitable plugin version. As I said earlier, though the plugin is not tested with relevant Firefox version, it doesn’t mean that it won’t work with latest Firefox version.

For Grails Selenium IDE formatter issue, I looked at a blog which provided the solution to my problem. I edited the Grails IDE formatter source code based on the directions mentioned in this blog and it worked like a charm.

Posted in Functional Testing, Grails, QuickTip, Testing

Why to Use FitNesse or ATDD on Top of Selenium?

For Web Application development Selenium is a defacto tool for functional testing with its click and capture capability through browser plugin. At the end of recording, Selenium script can be converted in a test-case in almost any programming language.

Immediately after you begin talking about functional testing people jump on the tools and would like to know what tools you are using or going to use.

And in practice that’s how it works. Somebody will say let’s use Selenium and somebody else will come up with a suggestion to use Xebium or FitNium. In some projects which-tool-to-use becomes very clear within a day but unfortunately fewer understand the business-case of using Xebium or FitNium instead of pure Selenium.

This post tries to answer following questions:

  • What’s the need to cover Selenium with FitNesse to begin with?
  • In practice does FitNesse + Selenium work any better compared to pure Selenium, based on the reasons mentioned in last question?

Why Selenium + FitNesse (Xebium or FitNium)?

Read more ›

Tagged with: , , , , ,
Posted in Agile, ATDD, BDD, Distributed Agile, Functional Testing, Grails, Patterns, Testing
Welcome to Sampreshan
Technology Strategist, Speaker, Scrum/XP/Agile Trainer Coach and Trainer
Your interest areas
Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: