This post is a detailed discussion about the software design process for hivesense (well, the first month of that work, since many changes were made thereafter).
To learn what hivesense is (I think this is what you want to know), follow the link in the first paragraph to the introductory post.
RE: HiveSense - Why nothing worked at first (And what we did about it)