Tuesday, May 29, 2012

Architecture of my life: continued

Continuing down the life architecture path
(photo credit: .:Adry:.)
My earlier post Architecture of my life generated a lot of interest, which was encouraging, but it also stressed me to follow up with updates as many readers asked for that.  Moreover, I too am eager to further test out the concept to see how useful it is.

The challenge

I picked an area in my life that I wanted to improve upon, and I chose "keeping up with news".  The trigger came when I was clearing my email inbox.  I had many emails from mailing lists I subscribed to.  Each day I spend time sorting through those emails, deciding what to read later and what to discard immediately.  At the same time, I was using a RSS reader to keep up with news from news sites and blogs.  How great it would be if I could manage the email news and RSS news in one place!

Mapping out the current state


Current state diagram of the "Keep up with news" process

The first step I did was to map out the current state, so that I can understand my current processes and tools.  The figure above shows the outcome, created using the EA tool Archi.  Here are some considerations as I carry out this step:

Ensure linkage to higher level goals

I made sure that I can link this process to higher level goals, if not, why am I doing this process?  In this case, the "keep up with news" process links to "always learning", one of my nine key principles.

Understand process at the next level of detail

As I thought about the "keep up with news" process, I started thinking about what exactly I do to keep up with news.  This helped me arrive at the next level of detail: the sub-processes.  I realized that I do these sub-processes on a daily basis:
  1. Collect news from specific news sources
  2. Decide which of the collected news to read now, skip over or read later
  3. Read the news that I have decided in step #2 to "read now"
  4. Share news that I found interesting
  5. Once in a while, I also file interesting news away so that I can refer to them at a later date
  6. Once in a while, I add/remove news sources I monitor

Identify tools used to support sub-processes

Next, I identified tools used to support each sub-process.  There are more tools than i thought!  I discovered that I also used tools like Facebook and LinkedIn to keep up with news.  Here, I chose to just use a single "Facebook" box to represent different ways to access Facebook (e.g. Facebook website, iPhone app, etc)

Grouping tools based on type of news

As I discovered more tools, the diagram started getting messy.  I decided to organize them to make the diagram easier to understand.  There are three main groups of news that I read, and it was useful to organize the tools according to these groups
  • RSS news - news sites, blogs, twitter and any other places where RSS is supported
  • Mailing list news - mailing lists I subscribe to
  • Social media news - news shared by my network on Facebook and LinkedIn

Identifying gaps

Finally, with current state diagram done, the gaps in the current process became apparent:
  • Can news from different sources (RSS, mailing list, social media) be managed the same way, using the same tools?
  • Need a good way to prioritize news.  Currently, I do that by scanning through each news item.  I feel I can do better by giving some sort of score to each news source, such that news from higher scoring new sources will be read first.
  • Need a way to file news for future reference.  Currently, I email those news to Evernote, but I have not validate how searchable and useful those filed-away news are.

Designing the future state


Future state diagram of the "Keep up with news" process

Identify gap to focus on

After I have gotten clarity over my current processes, tools and gaps, designing the future state was fairly straightforward.  I decided to focus on the first gap "Can news from different sources be managed the same way, using the same tools?".

Come up with options for addressing gap

I did some searching of relevant tools and came up with a few possible options and their pros and cons:

1. Forward all news to Gmail under a special label, and then use FreeMyFeed to access that label - compromise security of my gmail account
2. Forward news to InstaPaper and subscribe to feed - does not work now for some reason
3. Create another email account that supports RSS feeds specially for news, and forward all news there

Eventually, I decided on option #2 and found Email2RSS to use in place of InstaPaper since the latter was not working for me.  The diagram above shows the new setup.

Strengths of the new setup

In this new setup, all my news are collected in one place--Google Reader--and also read in the same place.  This makes it easier for me to read news as I don't have to go to both the RSS reader and my inbox.  In addition, I can also prioritize all the news together.  You might have noticed that I have not solved the problem for Facebook and LinkedIn.  That is right, I am ignoring them for now, but I will need to address those parts at some point of time later.

Identified new sub-processes, tools and gaps

Furthermore, this new approach introduced a new sub-process "Convert mails to RSS feeds" and a new tool "Email2RSS".  I have also identified a new gap reminding myself that I need to create rules to automatically forward email news to Email2RSS.

Reflecting on the exercise

Is this too much work for solving a seemingly easy problem?  I feel the answer is "No" for a few reasons, and I also have a few thoughts about this exercise:

  1. The exercise allowed me to have a comprehensive view of the situation.  I started out trying to read all my news in one place, and then I realized that there are other places that I didn't think of (e.g. Facebook and linkedIn), and gaps that I missed (e.g. prioritizing news).
  2. It is important to prioritize the gaps!  There will always be gaps, and it is easy to get sucked into fixing every single discovered gap.
  3. This exercise created parts that I can reuse in the future.  The journey to refine each process might take several iterations.  So even if I don't get it right this time, I can still come back to these diagrams in the future and use them to improve the processes.
  4. Just enough, just in time.  Don't get stuck creating the exactly correct model, or describing every single detail!  Put in enough for what is needed.  If there is needs for details in the future, wait till then.
  5. This exercise highlights the key steps for refining any process.  It took me a while to describe the key steps, but I see it as a once-off.  In the future, when I refine other processes, I can repeat the same steps.

2 comments:

  1. Hi Ming,

    Assuming you are using Archimate 2.0 as the foundation, I sort of can distinguish active (cyan) and behavior (yellow) elements. Have you intentionally left out the passive (green) elements and the motivation extension elements as documented on this page - http://pubs.opengroup.org/architecture/archimate2-doc/chap02.html?

    ReplyDelete
    Replies
    1. Hi Yeu,

      Thanks for pointing to the reference. I decided to plunge right in to use Archi as my modeling tool, and drew elements that I felt made most sense to what I need. What you pointed out about passive (green) elements might be relevant but it did pop out at me when I was modeling my processes. Do you see a way for me to use it that will help me with my task?


      Ming Fai

      Delete