My answer for the weakest link in software development today is the estimation, and for various reasons. Most of the times the people who estimate and people who develop are different, their skillsets are different, and most importantly the business needs and constraints change at a higher frequency. Of course we know this, that is why agile development has flourished. Unfortunately, I think estimation is still being done in the old stubborn way. Also, I wonder if the purpose of estimation should be questioned. These are just floating thoughts, still under a heavy cloud. I want to apply some Theory of Constraints ideas to estimation, and I will continue with that here.