Approach to Performance Tuning

Approach to Performance Tuning

Performance issues in a application manifest as bottlenecks in one or more of the following 4 layers: Application: Application is not designed, developed or configured properly. Platform: The platform that the application runs under (e.g. App Servers, Databases etc.) is not setup and configure. System:...


The relationship between Product Owner, Business Analyst and Tester

The relationship between Product Owner, Business Analyst and Tester

In an Agile/Scrum team the Product Owner manages the Product Backlog, a Business Analyst may help further elaborate the backlog. Acceptance Criteria is "one of the" or the output of that elaboration. A Tester may futher define the Acceptance Criteria and write test scripts to...


JVM Profiling: Thread Dumps

JVM Profiling: Thread Dumps

Thread dumps are possilby the most useful tool in diagnosing concurrancy related issues. You can get a thread dump at any time by sending a break signal to the JVM. In Windows it's CTRL-Break and in Unix/Linux it's kill -3 <pid> The possible issues to...


Maven Mutli-Project Thoughts and Guidelines

Maven Mutli-Project Thoughts and Guidelines

Maven multi-project stucture can get quite difficult to manage once you have a relatively deep hierarchy and more than a few projects. Looking at one such complex structure I found that much of this complexity can be avoided by carefully looking at the relation between...


Find the jar file containing a class

Find the jar file containing a class

I often need to know which jar file contains a particular class and I'm sure most people have that problem at some point. You can use jarFinder but it's not always up-to-date or the class might be in a jar private to your organisation. You...


Creating and using a maven archetype

Creating and using a maven archetype

The best way to create a maven archetype is to start with an existing project. In the maven project (simple or multiple-module) directory execute: mvn archetype:create-from-project The archetype is created under target/generated-sources/archetypes with the following directory structure: +---src +---main +---resources +---archetype-resources ¦ +---src ¦ +---main...


Using JIRA for Agile Project Management (without Green Hopper)

Using JIRA for Agile Project Management (without Green Hopper)

Jira from Atlassian  is a very popular issue tracking software and can be quite effectively used for Agile Project Management. Jira has a plugin (Green Hopper) that allows for creation of a backlog, iterations and tasks.  However, with help from the free Mylyn plugin for...


Configuring a WAR project in Eclipse & Setting up Jetty to Run/Debug

Configuring a WAR project in Eclipse & Setting up Jetty to Run/Debug

Generate eclipse project: mvn eclipse:eclipse Import the project into eclipse In Eclipse - Create a new Run/Debug config - Set main class toorg.codehaus.classworlds.Launcher Go to the argument tab: - Set Program arguments to jetty:run - Set VM arguments to -Xmx512M -Dclassworlds.conf=${M2_HOME}/bin/m2.conf -Dmaven.home=${M2_HOME} Go to the...


Userstories and when enough is enough

Userstories and when enough is enough

Perfection in software is impossible. Software developement is subject to the Law of Diminishing Returns . So how do you decide when enough is enhough? In a recent presentation Al Goerner discussed catagorising stories. Two of the more interesting catagories were "New feature" and "Feature...


Latest Tweets