How to find maximum and minimum oxidation number of an element
The rule you quoted is generally true for main group elements — but only if you count the groups in the older main-group/transition-metals formality. The newer IUPAC terminology counts the s, p and d element groups one after the other, so that sulphur would be in group 16. For that nomenclature, you need to subtract 10 from the group number for the maximum oxidation state.

Example: Phosphorus (group 15 by current terminology; group V by older terminology). Maximum oxidation state: $\mathrm{+V}$. Minimum oxidation state $\mathrm{-III}$.[1]

This does have a general quantum chemical explanation. These oxidation states add up to eight, which is exactly the number of electrons that typically make up the outer (valence) shell — where chemistry happens.

If we start at phosphorus($\mathrm{V}$) and want to remove another electron, we would have to remove this electron from the core orbitals. These are already pretty stable (i.e. low in energy) in the ground state, but for every electron removed they get stablised further. Thus, they end up in a very stable state and removing gets all the much harder.

Likewise, every electron added to a neutral compound will destabilise all orbitals of that atom. If three are already added to phosphous, giving phosphorus($\mathrm{-III}$), the next electron would need to be added to a distant orbital, which again is not something easy. This is why there is typically a range of eight for the chemically accessable oxidation states of main group metals.

However, I am not willing to bet anything that the s-elements of periods 4 and higher (potassium and below and calcium and below) stick to that rule; for the reason see and interpret below. So far, only $\mathrm{+I}$ and $\mathrm{-I}$ are known for alkaline metals (group 1) and only $\mathrm{+II}$ and $\mathrm{+I}$ for alkaline earth metals are known (save the elemental oxidation state $\pm 0$).



Transition metals are a lot harder. In theory, you could assume a range of either ten (d-electrons only), twelve (d and s-electrons) or eighteen (d, s and p-electrons). In fact, experimentally a range of ten has been established for chromium, manganese and iron while a range of twelve has been established for osmium and iridium. (Source: Wikipedia)

So far, the highest oxidation state has been found for iridium ($\mathrm{+IX}$). Platinum($\mathrm{X}$) has been predicted. (Source: also Wikipedia) Note that these states are well within the ‘s and d’ idea I alluded to earlier. To the best of my knowledge, there are no pieces of evidence pointing towards the ‘s, p and d’ idea.

There are a large number of unknown oxidation states for transition metals, e.g. while chromium($\mathrm{-IV}$) and ($\mathrm{-II}$) are known, chromium($\mathrm{-III}$) is not.

The notion that metals could only have positive oxidation states is incorrect. As an example, $\ce{[Fe(CO)4]^2-}$ with an iron oxidation state of $\mathrm{-II}$ is known.

All of this complicates the analysis strongly. Until much more research has been performed, you should probably not attempt to predict maximum and minimum oxidation states of these elements.