Bug Driven Development
    This entry is part 4 of 9 in the series Software Engineering & Agility

    This entry is part 4 of 9 in the series Software Engineering & Agility Some time ago, I was exposed to a project which entered UAT with over a  thousand bugs. Obviously, the project itself is not the epitome of perfection. But the sheer number begs some fundamental questions about the assertion that the project […]

    [continue reading...]

    About this Theme

    This wordpress theme was borrowed from der-printz.com

    I have changed the theme a little bit to avoid post duplication. Also,the posts have been fetched in random order. Hence this site is designed to change dynamically with every reload.

    Please see the "About me" tab above for more information about me and the web site. Thanks for looking me up!


Perf Analysis – Web Layer & Browser
This entry is part 6 of 9 in the series optimization

This article delves more into the performance analysis exercise that I alluded to in a previous article. We begin our analysis with the web layer which serves as the entry and egress to our core application. Does your web layer buckle under load as the spider’s web here seems to have ?  Tweaking the web […]


On Project Ramp ups
This entry is part 5 of 9 in the series Software Engineering & Agility

As I think back about all the failed projects that I had seen, I recognize one unifying feature about them. They all took too long to ramp up! I am not saying that they did not spend enough time on design or architecture. On the other hand, many of these failed projects spent an inordinate […]


The evil Static Method

The keyword static possibly started as the first attempt at encapsulation. C Programs consisted of functions that spanned across multiple files. However, the programmers wanted some of these functions to be “private” within the file that they were contained in. The static keyword provided that small veneer of privacy. When java and other derived languages […]


Domain Model and Application Contracts

We had spoken before about the application contracts. As we define components, it is imperative that we spend sometime in designing the interfaces that they expose. Let us go back to the diagram that we used when we designed components. In the other post, we had decided that the best way to abstract the UI […]


Project Automation
This entry is part 8 of 9 in the series Software Engineering & Agility

There was a lady in one of the companies that I had worked for. She was doing, what is probably the most routine of jobs. She works evening shifts. Her chief duty was to trigger the build job in the night and notify us if anything goes wrong with it. We used to call her […]


Ecommerce & Java

I recently spoke at a Java conference in Bangalore where we discussed Java and E-commerce. This is becoming important with the advent of major e-commerce re-platforming efforts in some significantly large organizations. I am enclosing the deck that I had used in the meeting here. Ecommerce & Java Take a look!


Application Optimization – Design in Retrospect
This entry is part 4 of 9 in the series optimization

Application Performance and endurance tests are a terrible duo. They let a badly designed application fester unnoticed for a considerable amount of time. The development team languishes in the bliss provided by the lack of attention and gains confidence in its ability to slime the ailing application into production. And lo! in one sudden swipe […]


Multi Column Sorting in Java

  Link to code. Java provides a reasonable API for sorting. The Collections.sort() static method which has been modelled from C++ STL ...


Mocking - Introduction Objects are first rate citizens in the Java society. Like a typical society the Java world has different ...

What Lewis Carroll can teach us about Web Architecture

“Why it is simply impassible! Alice: Why, don’t you mean impossible?Door: No, I do mean impassible. (chuckles) Nothing’s impossible!”  - ...

The Search Strategy

We all have to write applications that incorporate some kind of filtering. These include the normal search screen which captures ...

On Choice & Necessity

I see quite a few arguments in various forums bemoaning about the surfeit of choice that is available in the ...

On The Zachman Framework

Warning: If you are very fond of the Zachman Framework, you are better off not reading further. The opinions are ...

On the Design of Software Organizations – Balancing Autonomy with Governance

With a spurt in the documented history of any field of endeavor, we will begin to discern some recurring cycles of ...

Patterns,Frameworks, Specifications, Conventions & Configuration

This post is all about introducing the terms above and talking about their place in architecture. There must be some pretty ...

Class Dichotomy

In the beginning was the Class. The class had fields (or instance variables or members ) and methods (or messages ...

A more detailed look at modularization

Any big application typically has a lot of functionality. It is logical that such a large amount of functionality be ...