Your boss calls you in to discuss a new feature for your company's website. There is a new marketing initiative for your company's products. You have been chosen to build in a new feature for the marketing folks on the 14th floor that allows them to send out regular email marketing messages to clients and potential clients. You dutifully write down the requirements for this mailing list feature:
Import contacts from a spreadsheet containing the name of the client or potential client into an internal database
Allow internal marketing users to define email campaign messages
Send email messages to the clients and potential clients at regular intervals
Doesn't look too hard! You walked away confidently.
The next day your boss calls you in again. Oh surprise—there is a new requirement. After some meetings, the marketing people decided that sending email messages is not enough, now they want to send SMS messages and send faxes as well. Because...