When my wife was at a very large company, her good managers [0] did these things:
-- make sure the programming team understands the customer's priorities, goals, timelines, etc.
-- pay attention to the task breakdown, making sure that all of the programmers know what pieces to work on, and making sure that important pieces don't get overlooked
-- make sure the programming team has the resources they need. Fight with upper management, procurement, HR, or whoever else in order to get the necessary equipment and personnel.
[0] This is not always a single person with the "manager" title. Sometimes it's a "team lead", or multiple people with multiple titles.