Must-haves (roughly ordered):
Adequate management (on part of day-to-day managers) is critical. Many if not most interns will have minimal work experience prior to this assignment, yet, oftentimes, the tendency of managers is to treat them the same as a regular employee. "Here's work, come back when it's done." Most interns will be timid and unaware of basic business practices. At the risk of codling, it is important for the intern day-to-day manager to maintain a much closer relationship, or at the very least, discuss with the intern their preferences. This is probably the #1 most important thing to creating an environment where interns are successful and enjoy their experience. They must feel comfortable discussing the good and bad things about their internship with their supervisor. A distant or non-engaging supervisor will not fulfill this role for most interns.
Meaningful work. If you want your program to have successful interns and be well regarded you need to ensure the interns working at your organization have meaningful and value-add work as well. This is not to say 100% of work will be such, however, a company which employs interns to do 'grunt work' will have difficulties in maintaining a meaningful intern program. To achieve this often requires significant work on the part of the intern managers, as oftentimes creating a position for only 3 months with meaningful and achievable project work is difficult. This is a key point to be aware of! A reputation for 'grunt work' internships will be difficult to shed and attracting top talent will be difficult.
Competitive Compensation. If you are attracting interns outside a geographically convenient location (such as in same city as school) you must provide some sort of compensation to attract talented interns. Keep in mind there are hundreds if not thousands of potential interns at large universities who will share this information with each other. This entire paragraph doesn't really apply for non-technical fields, however, or other fields where talent is not in demand. But talented engineering/software interns can find other offers which will pay competitively so unless you have a highly desirable industry/location, to attract top talent you will have to maintain competitive salary.
Coordinated HR/Administrative Program. If your organization has any significant number of interns, it is important to have coordination across the company and likely a single person responsible for "intern issues" or something similar. There are plenty of HR related questions which will happen, from "how do I get paid?" to "where should I live during my internship?" plus the huge number of questions during the offer/post-offer-but-before-school timeframe.
Adequate feedback. Keep in mind that most interns are not veteran workforce workers. They are recently coming from an academic environment - with perhaps 0-6 months office work experience - and part of this academic environment is constant feedback in terms of grades on projects, homework, and exams. While not strictly necessary, interns will require more affirmation than most fulltime employees.
Consideration to project length. Most internships will be over the course of a summer or academic semester. Managers must ensure some if not all assigned project work is can be finished in the time frame. This is somewhat dependent on industry (for example Product Engineering tends to have long product cycle times, which may simply be impossible to fully meet).
Nice-to-haves (no particular order):
- A company assigned mentor (outside managerial structure, this is key for such mentors)
- Networking opportunities (coordinated by company)
- Housing assistance (a minimum should be to help find housing for the intern to rent)
- Official feedback/performance review system
- Relocation assistance/sign-on bonus. Keep in mind even a $1,000 sign-on bonus is probably well less than 10% the total intern program cost but can be much more meaningful to a college student.
- Small perks (company lunch/learns, etc) go a long way for essentially bribing college age students into having a highly positive opinion of your organization. A weekly intern networking lunch might cost the company $200 per intern over the course of summer yet have a ridiculously over-exaggerated effect on the intern's overall experience
- A final presentation of sorts regarding project work. Most teams will probably do this, but an official structure from HR/management might help make it happen
- Combined compensation package (401k, health insurance, etc). Keep in mind too the overwhelming majority of interns will not evaluate "total package" with an offer but primarily salary.
- Some sort of career discussion
- Coordinated internship events
Regarding prioritization, it is difficult to make blanket prioritization without knowing the size of the company or more specific (beyond just technical/engineering) nature of the work the intern will be performing. A large company with hundreds of interns likely has a much higher priority on maintaining a professional image, thus elements like a dedicated HR presence or more typical benefits packages may be more important than for a small company with only a few interns.
A final note which is critical when discussing the management of an intern program: interns are a lot of work for their day to day manager. Make sure every manager who is responsible for an intern (or, at the very least, their day-to-day mentor/manager) understands this. While some interns will enjoy a largely unmanaged internship, most people in their sophomore-junior years will not be anywhere near as effective as they potentially could be. Interns are most often new to your company, new to the "real world," new to projects lasting more than a few months, new to having a professional boss, and new to working an office job.
*Disclaimer: Most of my responses assume the internship motivation is primarily to evaluate potential employees for fulltime hire and consequentially make the program appealing for top-talent types of future employees. This is not to say this is the only motivation behind creating internships as interns can create significant value, however, if a company is looking for cheap labor or programmers for a large short-term project, the priorities and items may change significantly
Additionally, these assume the internship is based in the USA. Internships elsewhere in the world have considerably different requirements (especially around compensation).*