How to be a Software Program Manager
“Having a good program manager is one of the secret formulas to making really great software. And you probably don’t have one on your team, because most teams don’t.
Charles Simonyi, the brilliant programmer who co-invented WYSIWYG word processing, dated Martha Stewart, made a billion dollars off of Microsoft stock and went into space, first tried to solve the Mythical Man Month problem of organizing really big software teams by creating one super duper überprogrammer writing the top-level functions, while handing off the implementation of the lower-level functions to a team of grunt junior-programmers as needed. They called this position program manager. Simonyi is brilliant, but this idea, not so much. Nobody wanted to be a grunt junior programmer, I guess.”
From Joel on Software. This is an excellent, perhaps exhaustive, description of how best to manage software development projects. It’s a wonderful read, too. This article is excellent background for non-programmers as well as anyone involved in software programming.
In theory, software development should be amenable to the same processes used for any large scale creative project, for example, paintings where the assistant(s) set up the general work and the artist fills everything in, architectural photography (same dynamic: assistant(s) set up, the photographer comes in to add value), and so on. But software is notorious for failing when traditional organizational methods are used, as Spolsky notes in the quote above.
This article also has great insights, for example, making sure the program manager and programmers are peers and equals. This guarantees debate. Otherwise, if programmers report to the program manager or, worse, the development manager also is the program manager, then there is no debate among equals. Bottomline, the software program manager must be an advocate for the user and must earn the respect of the programmers and win them over to their user-centric solutions.
- Popular Articles
- Latest Stories
- Popular Stories
- How to Pick an Online ECommerce Shopping Cart: 6 Carts Reviewed
- How to Code HTML Email Newsletters
- How To Create An Editorial Process To Publish Web Content
- How to Protect Your Website Images
- How To Do Basic Search Engine Optimization for Web Pages
- How To Easily Edit DNS Zone Files To Configure Email Servers
- How To Evaluate and Hire Programmers, Without Being A Programmer
- Browse all articles
- Resources: CSS Frameworks, PSD to HTML, Text Editors and IDEs
- Free Google AdWords Campaigns for Non-Profits
- How to Find the Perfect Color and Create a Color Palette
- 6 Tips for Better Branding with Avatars
- LA Weighs Replacing Software with Google
- Apollo 11 40th Anniversary
- Xobni Organizes Your Outlook Email
- The Not-So-Hidden Politics of Class Online
- Tips for Sorting Through the Social Networks
- Cool Search Engines That Are Not Google But Still Useful
- How To Code HTML Email Newsletters (All New Version) - 270,387 views
- How To Easily Edit DNS Zone Files To Configure Email Servers - 29,759 views
- How To Create An Editorial Process To Publish Web Content - 22,807 views
- How to Protect Your Website Images - 21,971 views
- How to Pick an Online ECommerce Shopping Cart: 6 Carts Reviewed - 19,575 views
- B2B Buyers Have Very High Social Media Participation - 16,553 views
- The Big, Bad List of Search Engine Optimization Questions to Ask - 16,471 views
- Who’s Your Coding Buddy? - 16,450 views
- How to Deal with Internet Explorer 6 (IE 6) - 16,444 views
- About tweetCC and Why Licensing Your Twitter Tweets Matter - 16,386 views
Great Online Communities to Explore
Community MX - Web Design with Adobe twist
IxDA - Interaction Design
Boagworld - Web Design
SitePoint - Web Design, Coding
The Content Wrangler - Content, Content, Content
@TypeTweets - Twitter for Type-o-philes
Webmasterworld - Web Design
Get the Email Newsletter: Keep Up To Date
Stories, links, and more emailed to you every few weeks!

Connect With Us Online
We provide low-cost, how-to internet marketing information for individuals, businesses, and groups, as well as the people who support them. Learn more