Ant Colony Optimization


Originally posted on Algorithms in Real Life:
A popular nature inspired heuristics is from the ant. The ant foraging behaviour has been studied for long. One of the earliest studies carried out was in 1959 – Pierre-Paul Grassé invented the theory of stigmergy to explain the behavior of nest building in termites. More serious work began in 1983. Ant foraging…

Introduction to Algorithms, Heuristics and Meta-heuristics


Originally posted on Algorithms in Real Life:
At school,  I used to be often confused between Algorithms and Logarithms. I became familiar with anagrams later when I started solving crosswords. I then encountered terminologies such as heuristics and metaheuristics. In this article I have attempted to differentiate algorithms, heuristics and metaheuristics. Algorithms A simple definition…

4 Prerequisites for Reducing Sprint Duration


Agile manifesto has explicit stated preference for shorted sprints. Shorter sprints can ensure that: “Parkinson’s Law” does not set in, that is work does not expand to fill the available time “Understanding gap” between users and developers gets ironed out quickly “Quick response to change” becomes possible However, there are other factors which may make too … Continue reading

Distributed team in different timezone and Product Ownership


How do you work with a remote product owner who is in a different time zone with very little overlap of normal working hours? An agile puritan would have a simple answer – Don’t. There is an underlying assumption behind this statement. The assumption is that the product owner can provide an instant clarification and decision to … Continue reading

Evolutionary Architecture and Conway’s Law


Way back … in 1968, Melvin Edward Conway, an early computer scientist, computer programmer, and hacker postulated that… Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. Or more concisely… Any piece of software reflects the organizational structure that produced it. For example, if you have … Continue reading

Are Large Software Projects like Eating an Elephant?


How do you eat an elephant? Simple – cut it into small pieces at eat one piece at a time. BUT… …is it really that simple? When you have a large software project it is too simplistic to assume that all you need to do is to decompose the problem to individual manageable chunk which … Continue reading

How do you think?


How do you go about writing you program? Do you think in terms of: Programming construct Database design Abstract algorithm User interaction Looking back Way we think about writing a program has undergone several phases of evolution. The evolution has a close link with increasing complexity and technological progress. Flow chart era There was a … Continue reading

Is Agile Elitist?


Best way to do software development is to get hold of master programmers. Get them to form a self organizing team and do the development in short increments. That is agile. What happens if you cannot find sufficient number of master programmers? Get as many master programmers as you can. For the rest of the … Continue reading

Agile, Offshoring and Dreyfus Model of Learning


Agile works! If you have any doubt about it just look at the adoption rate … look at the study results published … or just try it yourself. Offshoring also works! Again, if you have any doubt, just look at the growth of offshoring … look at the success of the success of the India … Continue reading