Earlier quoted context omitted.
So weren't they guilty when it was 80% male, too?
Why, did they remove almost all the woman there in 1 year to change it for men? Talk about apples and oranges. Besides, do yourself a favour: Just walk into any Computer Science major class, check the number of woman/men there and let us all know how much they go above those 20% and go check the numbers in the previous years while the board of Yahoo (and any major company in that area) was being built. Ok?
There is a obvious rational path for them to get there. I'm not saying it is correct, mind you, or that the implementation would be a good idea. I'm saying that the statements to the effect of "well obviously it was discrimination" are sloppy.
The obvious path looks something like this. 1) Become convinced that there has been a systematic bias in hiring and promotion that has promoted one class of workers in your organization (in this case, men) above their merit. 2) Become convinced that this has led to an inversion of talent in your reporting structure (in this case, many women in your company working for less capable male bosses). 3) Believe that the structural problem represented threatens the effectiveness of the company.
If you truly believe these three things to be true (and they are all at least plausible, there is nothing terribly far fetched in the above), then you act as in any other structural problem - you re-organize. If you believe you have an untapped layer of female talent in your organization due to systemic discrimination, it absolutely would be in your company and shareholders best interest to try and redress that.
Again, I'm not saying it is correct. I'm just saying that "well obviously it has to be discrimination" is either lazy or inept - and that it surprises me to see it echoed here so many times.
To your last paragraph, CS majors are a very poor proxy for competent management, and using previous make up is only useful if you assume that was not exhibiting the same bias you are trying to correct.