Lately, I often find myself repeating a little mantra:
Keep it simple
Keep it simple
Keep it simple
Ohhhhmmmmmmmmm.
This usually happens when it's too late, when I'm bogged down 5 layers deep in SQL or CAML, when Ive spent 3 hours googling for a solution to a problem and only found half answers in Polish.
Some observations:
- Complexity is often the result of too much simplicity.
- Too much abstraction moves you away from a solution.
- Everyone is busy.
- You can't polish a turd.
I'm working towards a point here so stick with me. I'll be more specific. SharePoint.
SharePoint is big. Really big. "So big that you can't even imagine it" big. It's not bad, just big. Big things tend to be more complex. Complex is harder. Harder takes longer and therefore costs more.
At the other end of the scale is NotePad. Anyone who can use a computer should be able to use NotePad. It's functional, uncomplicated, stable(?) and I think elegant.
Here's some more observations:
- The world is a complex place. It's full of complex human beings.
- Business often needs solutions for humans. These tend to be complex too. SharePoint is designed to solve complex solutions. I'm not going to use NotePad for anything other than to edit a occasional text file.
- Clarity can only be acheived when all solutions are explored.
- Complexity and Simplicity are relative and not mutually exclusive.
My point is this. We should not be scared of complexity. Simlicity is an admirable goal but not when its at the cost of solving a problem. We need a way of managing and dealing with complexity. I'm sure there are many people much smarter than I devoting themselves to exactly this problem, but here is my small contribution.
- Avoid complexity but don't be afraid of it.
- Compartmentalise complex solutions into managable chuncks.
- Focus what is infront of you.
- Be patient but follow the 20 minute rule (see below).
- The next version will always be better but the previous version is often good enough.
My 20 Minute Rule
You can adjust the time up or down to suit, but my 20 minute rule is this: If I can't figure out how to use/do something in 20 minutes - without a manual - then it's too hard or complex.
This doesn't mean I give up, it just means I need to learn more before attempting it again.