As I have said in SCOM Trick 7, the use of maintenance mode is important. But not always will somebody use the normal SCOM interface (or web interface) to start maintenance mode right before they start working on the machine. To be honest a lot of the times machines get placed in maintenance mode when the alerts start flowing in during planned work and they quickly place the machine into maintenance mode. In any case, you can actually schedule maintenance mode, or include it in scripting. Here are some resources to get you started.
Maintenance mode history report
http://www.systemcentercentral.com/tabid/145/indexId/70867/Default.aspx
Remote maintenance mode mp
http://www.systemcentercentral.com/tabid/145/indexId/11577/Default.aspx
by running a script on the agent, makes event log entry that gets picked up.
MCS maintenance mode mp
http://www.systemcentercentral.com/tabid/145/indexId/11546/Default.aspx
Put a group into Maintenance Mode
http://blogs.technet.com/b/operationsmgr/archive/2009/11/17/putting-a-group-of-computers-into-maintenance-mode-via-powershell.aspx
Maintenance Mode powershell script
http://blogs.technet.com/b/mgoedtel/archive/2009/10/29/updated-powershell-script-maintenance-mode.aspx
Remote Maintenance Mode GUI tool
http://www.scom2k7.com/scom-remote-maintenance-mode-scheduler-20/
Cluster and maintenance mode
http://blogs.msdn.com/b/mariussutara/archive/2008/09/05/cluster-and-maintenance-mode.aspx
Stopping maintenance mode
http://blogs.msdn.com/b/boris_yanushpolsky/archive/2007/08/30/stoping-maintenance-mode.aspx
SCOM Maintenance Mode Tool
http://scommaintenancemode.codeplex.com/
Schedule a group of URLs (or one) into maintenance mode
http://www.scom2k7.com/schedule-a-group-of-urls-into-maintenance-mode/