Ask your actors and crew for a short (50 to 100 word) biography. Stars and directors usually get a little more space. You can either print them verbatim (barring grammatical errors and typos, of course) or use the information they give you to write them yourself. The bios generally come at the end of the program. If you have the space, you can also add headshots of the actors next to their bios. It helps the audience remember who each actor or character was.
Create a list of the acts and scenes. You can include a brief description of the action if you feel it will be helpful, but this is generally not necessary. Don't forget to include intermissions in the proper places and for how long. That is, if you have a 15-minute intermission between Acts 1 and 2, make sure to list it there and mention that it will be 15 minutes long.
Make a list of musical numbers, if you are doing a musical. When you create a program for a musical, the scene list is generally replaced by a "musical numbers" list. If knowing the locations and times of the scenes is important for the audience to understand the flow of action, you can put the name of the song under the scene in which it appears.
Include the actors that will be in each scene or song. This is generally done on the same line as the song or scene name or number. For example, "Act 2, Scene 2: Capulet Orchard...Romeo, Juliet, Nurse."
Create a cast list. This should include all the actors and which parts they will play. You can do the list by actor or by character. If an actor has multiple roles, you can list the actor once and the names of the characters with a slash or a comma. For example, "Old Hamlet/Claudius...John Smith." How you do this is up to you. Do you want the audience to be able to see right away that one actor is playing multiple roles? If not, list the characters separately.
Create a crew list. This list should include everyone who is or has worked on the play behind the scenes, such as the lighting technician, the stage manager, the costume designer and the all important program designer. How you format this list is up to you. Many programs will have the technical crew listed under the name of the play on the inside front cover. It can either be a straight, vertical list, or the names of each person and their job can be grouped together and spaced out more free form.
Design a cover. Generally, the cover design will include some artwork relevant to the play and the following text: the name of the play, the writer(s), the stars (if it is a star-driven play) or the entire cast (if it is a small, ensemble piece), the director, the dates and the location. Any additional information or graphics is up to you.
Contact local businesses like copy centers or print shops. Offer them a free advertisement in your program in exchange for their services. If they don't have services that you need, charge them for the advertisement. While this may seem like a limitless way to earn some money, don't go crazy with the advertisements. You want to keep your program short and sweet, so limit yourself to a page or two at most.
Do the layout for the program. In general, a program will include the cover, the crew list, the cast list, the scenes and/or musical numbers list, the actors' bios and advertising, in that order. Each of these things does not need to be a full page long. If your play has a small number of actors and a minimal crew, put them both on the same page. Or, if the scene list is brief ("Act 1, a street in Rome. Act II, the same street, later") put the actor list above or below it.
Calculate the number of programs you will need for the run of the show. Assume a full house, multiply by the number of shows you are doing and then add a few more. You probably won't sell out every night, but the actors will want copies, some will get lost and some audience members will take more than one by accident.