Software engineering puzzle