<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>李保存 &#187; PM</title>
	<atom:link href="http://libaocun.com/tag/pm/feed" rel="self" type="application/rss+xml" />
	<link>http://libaocun.com</link>
	<description>Think globally, act locally.</description>
	<lastBuildDate>Wed, 01 Sep 2010 10:38:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>If I were designing a new email service, I would…</title>
		<link>http://libaocun.com/if-i-were-designing-a-new-email-service-i-would</link>
		<comments>http://libaocun.com/if-i-were-designing-a-new-email-service-i-would#comments</comments>
		<pubDate>Wed, 29 Jul 2009 04:02:21 +0000</pubDate>
		<dc:creator>Bali</dc:creator>
				<category><![CDATA[English - 英文]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[PM]]></category>
		<category><![CDATA[Product/Feature-Design]]></category>
		<category><![CDATA[THINK]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.balionweb.com/?p=77</guid>
		<description><![CDATA[All great designs come from deep understanding to customers. In my case, I&#8217;d like to design the email service for information workers(IW) as I am one of them. Basically they are hired to get things done. Modern projects, or tasks in smaller granularity, are getting too complex to be accomplished individually. So people have to [...]]]></description>
			<content:encoded><![CDATA[<p><span lang="EN-US"><span style="font-family: Calibri;font-size: small">All great designs come from deep understanding to customers. In my case, I&#8217;d like to design the email service for information workers(IW) as I am one of them. Basically they are hired to get things done. Modern projects, or tasks in smaller granularity, are getting too complex to be accomplished individually. So people have to work together – we call it collaboration. Consequently they <strong><span style="font-family: 'Calibri','sans-serif'">have to</span></strong> communicate. They <strong><span style="font-family: 'Calibri','sans-serif'">are forced</span></strong> to communicate. Email solves the problem of logistics and synchronization so that communication could happen between different time frames and locations, so it is still indispensable currently. But it is far from perfect, sometimes it is a trouble. Can it be done any better? Let us have a try. This new thing is called Pmail. </span></span></p>
<h2 style="margin: 10pt 0cm 0pt"><span style="font-size: medium"><strong><span style="text-decoration: underline;"><span lang="EN-US">Entities</span></span></strong><span style="font-weight: normal" lang="EN-US"><span style="color: #17365d"><span style="font-family: Calibri"> </span></span></span></span></h2>
<p><span lang="EN-US"><span style="font-family: Calibri;font-size: small">First of all, let us keep in mind that <span style="text-decoration: underline;">tasks</span> are actually what IWs really care about. They are much happier if they can complete assigned task without touching emails. Right? Completion of tasks is what they are trying to achieve. Second, when they have to communicate, they care about <span style="text-decoration: underline;">distilled information</span> they are expecting while writing/reading emails. You will not get any additional credit through presenting your idea by writing a poem. <span style="text-decoration: underline;">Senders</span> and <span style="text-decoration: underline;">recipients</span> come last. Without them, communication can&#8217;t happen. These two entities get lower priorities because if distilled information can be gained by other means, say search engine or anonymous DL, who cares them? </span></span></p>
<p><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Again &#8211; email for IWs is all about tasks, not messages. This is the most fundamental philosophy differentiating Pmail&#8217;s design from others. </span></span></p>
<h2 style="margin: 10pt 0cm 0pt"><span style="font-size: medium"><strong><span style="text-decoration: underline;"><span lang="EN-US">Problems &#8211; an abused tool in workplace </span></span></strong><strong><span style="text-decoration: underline;"><span lang="EN-US"> </span></span></strong></span></h2>
<p><span lang="EN-US"><span style="font-family: Calibri;font-size: small">By nature, current email systems allow one sends <em><span style="font-family: 'Calibri','sans-serif'">anything</span></em> to <em><span style="font-family: 'Calibri','sans-serif'">any</span></em> number of persons at <em><span style="font-family: 'Calibri','sans-serif'">anytime</span></em> <em><span style="font-family: 'Calibri','sans-serif'">anywhere</span></em>. Gradually it turns out true that something that can be anything can do nothing actually. Theoretically any email should be of your interest; otherwise sender will not send it to you. Realistically it is so easy to be over-used: </span></span></p>
<ul type="disc">
<li class="MsoNormal"><span style="font-size: small"><strong><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Email overload.</span></strong><span lang="EN-US"><span style="font-family: Calibri"> You might probably find everyone around you is complaining about too many emails. Doubt? Open you email clients, see how many unread mails you have. NY Times reports, </span><a href="http://www.nytimes.com/2008/04/20/technology/20digi.html?_r=3&amp;oref=slogin&amp;oref=slogin"><span style="font-family: Calibri">E-MAIL has become the bane of some people&#8217;s professional lives</span></a><span style="font-family: Calibri">. This occurs likely because of complicated job nature, but I&#8217;d say often it is actually because of poor email prioritization. Can you easily tell which email is much more important than others? Or emails tell its priority to you? </span></span></span></li>
<li class="MsoNormal"><span style="font-size: small"><span lang="EN-US"> </span></span><span style="font-size: small"><strong><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Hard to map emails to one&#8217;s day-to-day jobs.</span></strong><span lang="EN-US"><span style="font-family: Calibri"> How many times you have to search your emails to dig certain messages out because you need something? </span></span></span></li>
<li class="MsoNormal"><span style="font-size: small"><span lang="EN-US"> </span></span><span style="font-size: small"><strong><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Mail thread discussions often go wild. </span></strong><span lang="EN-US"><span style="font-family: Calibri">Do you find you are in trouble figuring out what is going on when suddenly looped in a thread?<strong><span style="font-family: 'Calibri','sans-serif'"> </span></strong></span></span></span></li>
</ul>
<h2 style="margin: 10pt 0cm 0pt"><span style="font-size: medium"><strong><span style="text-decoration: underline;"><span lang="EN-US">At a glance </span></span></strong><strong> </strong></span></h2>
<p><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Pmail&#8217;s primary design goal is to help team get jobs done efficiently – under right timing, priorities, order and resources. Everyone would have a clear picture about how his work contributes to team success. </span></span></p>
<p><span lang="EN-US"><img style="width: 235px; height: 469px;" src="http://lh6.ggpht.com/_A9xfBBUVmv4/SbfCCnDkiFI/AAAAAAAABiE/wTCVCAgkKCQ/s800/BirdView.png" border="1" alt="Bird view" width="235" height="469" align="middle" /></span></p>
<p><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Pmail would also aim to minimize communications as much as possible. Leave users alone please. In task-centered email design, all emails will fall into one of below four categories: </span></span></span></p>
<table class="MsoTableGrid" style="border: medium none;border-collapse: collapse" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="123" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><strong><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Category</span></span></span></strong></p>
</td>
<td width="189" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><strong><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Description</span></span></span></strong></p>
</td>
<td width="284" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><strong><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Example</span></span></span></strong></p>
</td>
<td width="236" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><strong><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Your Action</span></span></span></strong></p>
</td>
</tr>
<tr>
<td width="123" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">FYI</span></span></span></p>
</td>
<td width="189" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">There is no immediate impact to any tasks in your plate at this moment</span></span></span></p>
</td>
<td width="284" valign="top">
<p class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">High level org changes announcement</span></span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Knowledge sharing</span></span></span></p>
<p class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">News letter</span></span></span></p>
</td>
<td width="236" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">No – No immediately action required</span></span></span></p>
</td>
</tr>
<tr>
<td width="123" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Catch the ball</span></span></span></p>
</td>
<td width="189" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Someone requires you do something to unblock his task(s)</span></span></span></p>
</td>
<td width="284" valign="top">
<p class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Sign Off request</span></span></span></p>
<p class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Fix broken printer</span></span></span></p>
<p class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Mandatory code review for check in</span></span></span></p>
</td>
<td width="236" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Action required – Do something and then back to requester with results</span></span></span></p>
</td>
</tr>
<tr>
<td width="123" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Here you go</span></span></span></p>
</td>
<td width="189" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Someone provides you what your task(s) require</span></span></span></p>
</td>
<td width="284" valign="top">
<p class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Approval letter</span></span></span></p>
<p class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Team member phone number collection table</span></span></span></p>
</td>
<td width="236" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Action unblocked – You are ready to go complete specific task(s) if all dependencies are resolved</span></span></span></p>
</td>
</tr>
<tr>
<td width="123" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Collective efforts</span></span></span></p>
</td>
<td width="189" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Someone needs your inputs for task(s) he is working on</span></span></span></p>
</td>
<td width="284" valign="top">
<p class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Execution plan review</span></span></span></p>
<p class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 0pt 21pt;text-indent: -21pt"><span style="font-family: Wingdings" lang="EN-US"><span><span style="font-size: small"></span><span style="font-family: 'Times New Roman';font-style: normal;font-variant: normal;font-weight: normal;font-size: 7pt;line-height: normal"> </span></span></span><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Brainstorming</span></span></span></p>
</td>
<td width="236" valign="top">
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span lang="EN-US"><span style="font-size: small"><span style="font-family: Calibri">Best efforts – do what you can to provide inputs</span></span></span></p>
</td>
</tr>
</tbody>
</table>
<p><span style="font-size: medium"><strong><span style="text-decoration: underline;"><span lang="EN-US">Persona/User scenarios </span></span></strong><strong> </strong></span></p>
<p><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Key scenarios that Pmail addresses include: </span></span></p>
<ul type="disc">
<li class="MsoNormal"><span style="font-size: small"><strong><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Know big picture for better prioritization</span></strong><span lang="EN-US"><span style="font-family: Calibri"> – <em><span style="font-family: 'Calibri','sans-serif'">Steven</span></em>, who is a developer in a software development team, came to his office in a morning. He opens bird view of pmail to check how his tasks (or </span><a href="http://en.wikipedia.org/wiki/Work_breakdown_structure"><span style="font-family: Calibri">WBS</span></a><span style="font-family: Calibri"> in more general term) fits into the entire team progress. He notices one of his tasks, task8, is in </span><a href="http://en.wikipedia.org/wiki/Critical_path_method"><span style="font-family: Calibri">critical path</span></a><span style="font-family: Calibri"> according to updated plan(never expect plan is really locked after lock-down). This task is automatically prioritized to p0(highest priority) by Pmail. It is about implementing a feature according to design specification by feature PM. </span></span></span></li>
<li class="MsoNormal"><span style="font-size: small"><strong><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Maintain dependencies </span></strong><span lang="EN-US"><span style="font-family: Calibri">– <em><span style="font-family: 'Calibri','sans-serif'">Steven</span></em> goes ahead to open task8 and find this task depends on two resources, 1) one LHS virtual machine, which has been completed by task7. VM address and credential are also attached. Nice! 2) PM spec. It is also claimed completed. </span></span></span></li>
<li class="MsoNormal"><span style="font-size: small"><strong><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Main email threads around tasks </span></strong><span lang="EN-US"><span style="font-family: Calibri">–<em><span style="font-family: 'Calibri','sans-serif'">Steven</span></em> opened the spec document in team Sharepoint server, and he finds several points are not clear for him. Then <em><span style="font-family: 'Calibri','sans-serif'">Steven</span></em> starts a mail conversation with relative PM, <em><span style="font-family: 'Calibri','sans-serif'">Joanne,</span></em> against this task. The mail thread is linked to task8 and its status is open. </span></span></span></li>
<li class="MsoNormal"><span style="font-size: small"><strong><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Drive team work flow – </span></strong><em><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Joanne</span></em><span lang="EN-US"><span style="font-family: Calibri"> received a catch-the-ball mail from <em>Steven</em> about p0 task8, so it is a shadow p0 task for her as well. <em>Joanne</em> can check task details in the Pmail. She quickly comes up with answers regarding <em>Steven</em>&#8217;s questions and writes back a here-you-go email to <em>Steven</em>. <em>Steven</em> receives the email and get unblocked. <em>Steven</em> closed the email thread by several sentences. This mail thread is traceable in task8 and can&#8217;t be replied any more as it is closed. Several hours later, <em>Steven</em> completes task8 and closes it in Pmail. When <em>Steven</em> re-visits the bird view page of Pmail, he finds task8&#8217;s color turns green due to status change. <em>Steven</em> then picks up another one unblocked taks, task9.</span></span></span></li>
<li class="MsoNormal"><span style="font-size: small"><strong><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Maintain team discussion</span></strong><span lang="EN-US"><span style="font-family: Calibri"> – Task9 is about designing a new feature F9. Deliverable is reviewable dev design spec. <em>Steven</em> has two options about solving a technical problem, but not sure which way to go. He then sends a collective-effort discussion mail to the whole team. Since this is not a catch-the-ball mail, team mates will treat it with best efforts, but <em>Steven</em> still gets several great feedbacks. When he feels the problem is solved, he summarizes the thread with several sentences and closes the thread. </span></span></span></li>
<li class="MsoNormal"><span style="font-size: small"><strong><span style="font-family: 'Calibri','sans-serif'" lang="EN-US">Check history </span></strong><span lang="EN-US"><span style="font-family: Calibri">– One year later, <em><span style="font-family: 'Calibri','sans-serif'">Steven</span></em> transfers to another team and his replacement, <em><span style="font-family: 'Calibri','sans-serif'">Eric</span></em>, would like to better understand why F9 is designed this way. He opened Task9 in Pmail, check the mail thread and better understand original design decision. </span></span></span></li>
</ul>
<h2 style="margin: 10pt 0cm 0pt"><span style="font-size: medium"><strong><span style="text-decoration: underline;"><span lang="EN-US">Demo/UI Mock-up</span></span></strong><strong></strong></span></h2>
<p><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Bird view will look like above diagram. In following task view, you can see all mail threads about one task are at your finger tips.</span></span></p>
<p><span lang="EN-US"><img style="width: 600px; height: 299px;" src="http://lh3.ggpht.com/_A9xfBBUVmv4/SbfCC9MkAUI/AAAAAAAABiU/_k0IEe8u1_Q/s800/Task.png" border="1" alt="Task view" width="600" height="299" /></span></p>
<p><span lang="EN-US"> </span></p>
<p><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Mail view will also a bit different. Every mail has a TaskID field to help you get the whole context conveniently.</span></span></p>
<p><span lang="EN-US"><img style="width: 600px; height: 344px;" src="http://lh4.ggpht.com/_A9xfBBUVmv4/SbfCCmduy3I/AAAAAAAABiM/lAkbo0aziGU/s800/Mail.png" border="1" alt="Mail view" width="600" height="344" /></span></p>
<p><span lang="EN-US"> </span></p>
<h2 style="margin: 10pt 0cm 0pt"><span style="font-size: medium"><strong><span style="text-decoration: underline;"><span lang="EN-US">Key features in Pmail </span></span></strong><strong></strong></span></h2>
<p><span lang="EN-US"><span style="font-family: Calibri;font-size: small">In addition to biggest differences we covered before, you might also get excited when seeing below features. </span></span></p>
<ul type="disc">
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Sometimes feature-rich is not a good thing. It is so easy to reach this point when email system is designed for multiple purposes after several releases, say home usage included. But in any event, Pmail will provide a button to show/hide features(say, increase/decrease indent) which I don&#8217;t use in last month. Get me a simple world. </span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Mouse hover will show abstract of email(user could assign, or automatically select) before deciding to read it </span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Send me SMS notification when a selected critical thread gets new replies. No special carrier service needed, input my cell phone and go</span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">For discussion mails, send brainstorming results or decision made, and then close the thread by marking it as un-reply-able </span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Enforce sequential replies, for example fill in a excel table</span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Automatically memorize folder or url of files you are editing, and go to Pmail, it can be attached to the email by a hot key, say &#8220;ctrl+shift+v&#8221;</span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">mailURL(say, steven-task9-show-me-money-88; don&#8217;t use GUID, please) which can be shared across the clients. Don&#8217;t to forward again</span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Automatically send out ping for dead catch-the-ball emails after pre-configured interval times out</span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Play video/audio right inside the mail client</span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Mail web client also provides web API like Facebook. OWA kills programmability.</span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Tag everywhere – one mail thread might relate to more than one task. It is not a good idea to put a mail in one folder exclusively.</span></span></li>
<li class="MsoNormal"><span lang="EN-US"><span style="font-family: Calibri;font-size: small">Don&#8217;t allow send active documents to team for review, put it on shared place(say, Sharepoint) and send a link</span></span></li>
</ul>
<p class="MsoNormal" style="margin: 0cm 0cm 0px"><span lang="EN-US"> <span style="font-family: Calibri;font-size: small">I am interested in your thoughs on it. Let me know. Thank you.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://libaocun.com/if-i-were-designing-a-new-email-service-i-would/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Global Development Team</title>
		<link>http://libaocun.com/building-global-development-team</link>
		<comments>http://libaocun.com/building-global-development-team#comments</comments>
		<pubDate>Wed, 29 Jul 2009 04:01:27 +0000</pubDate>
		<dc:creator>Bali</dc:creator>
				<category><![CDATA[English - 英文]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[PM]]></category>
		<category><![CDATA[Product/Feature-Design]]></category>
		<category><![CDATA[THINK]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.balionweb.com/?p=75</guid>
		<description><![CDATA[Nowadays software is getting so complex that it needs incredibly more and more people to build it. For example, there are 9000 engineers working on Vista simultaneously. In certain sense, you can call that it is a labor-intensive industry. Ideally, it would be best to put all people in one place; however there are also [...]]]></description>
			<content:encoded><![CDATA[<p>Nowadays software is getting so complex that it needs incredibly more and more people to build it. For example, there are <a href="http://blogs.msdn.com/philipsu/archive/2006/06/14/Broken-Windows-Theory.aspx"><span style="color: purple">9000 engineers working on Vista</span></a> simultaneously. In certain sense, you can call that it is a labor-intensive industry. Ideally, it would be best to put all people in one place; however there are also lots of sound reasons to build global development teams.</p>
<h3><span style="font-size: 13pt; text-decoration: underline;">Pros and Con </span></h3>
<p>Why bother to build global development team?<span style="font-family: 宋体;font-size: 12pt"> </span></p>
<ul>
<li><strong>New talents pool</strong> – Software development needs so many persons with similar attributes. In Microsoft Company wide, top 3 hiring criteria are smart, passion for technology and fit to <a href="http://www.microsoft.com/about/default.mspx">company values</a> such as openness, continual self-improvement and mutual respect, etc. From various studies, <a href="http://www.cioinsight.com/c/a/Trends/The-New-IT-Worker-Shortage/"><span style="color: purple">supply of talented IT staffers isn&#8217;t keeping up with demand. And it won&#8217;t change anytime soon</span></a>. Even when Microsoft is cutting 5000 jobs now, we still have another 2000~3000 job openings there. What to do if enough qualified hires can be not found within US? Go outside.</li>
<li><strong>Lower cost</strong> – let us straightly go to data. Annual pay for Level &#8220;59&#8243; is about <a href="http://www.washtech.org/news/industry/display.php?ID_Content=5041"><span style="color: purple">$74,000</span></a> in US, while same level is paid about <a href="http://www.china.com.cn/info/txt/2007-09/29/content_8980820.htm"><span style="color: purple">$20,000</span></a>(~RMB150K equally) in China. Another slight fact &#8211; <a href="http://kurt.spaces.live.com/blog/cns%21F3843ED65F744FFE%212638.entry">It costs about $1.5 to go most common places in Shanghai</a>…</li>
<li><strong>Close to market</strong> – Most innovative ideas often comes out of interactions with customers. And customers&#8217; requirements vary from country to country. So best way to serve a local market is to be in the market.</li>
<li><strong>Specific knowledge</strong> – Cross-nation acquisition for specific technologies is another reason to build global development. You can&#8217;t(or not able to) move all folks to HQ.</li>
</ul>
<p><img src="http://lh4.ggpht.com/_A9xfBBUVmv4/SbJmolnzv2I/AAAAAAAABhg/XJF_fRIUv5M/s800/map.gif" alt="" /></p>
<p>Like many other things, challenges always go with benefits hand in hand. You can&#8217;t take only part of it. Fair enough.</p>
<ol>
<li><strong>Distance</strong> – People who work on the same software can&#8217;t work alone, they have to exchange information and make decisions. Less than 3 minutes conversation is often enough for slight but frequently arising communication needs, for example, &#8220;Could you show me the bug in your environment?&#8221; Distance makes it impossible to stop by one&#8217;s office. Network bandwidth is another issue introduced by distance. Why it matters? Suppose one team has to copy large file sets from another remote team daily, it would be a problem. The file sets can be growing amazingly big – for example, <a href="http://blogs.msdn.com/sqlcrd/archive/2008/07/28/sql-server-build-system.aspx">daily SQL Server build is about 300GB</a>.</li>
<li><strong>Time zone</strong> – Would communication a real headache since modern technologies such as email and telephone have been there for quite a long time? But the things are no one is there when you are working due to time zone. You have to wait another day to get an email response. When you rush to office to check it, the most frustrating but concise reply could be &#8211; &#8220;What do you mean by &lt;insert anything you assume others should understand&gt;? How can I help you?&#8221;</li>
<li><strong>Culture/Language</strong> – Master level of English is unbalanced in global teams. There are dozens of ways to say &#8220;A beats B&#8221; in English, but only several of them are understandable for general public; dialect is another obstacle. For example, Chinese folks often have hard time pronouncing letter &#8220;L&#8221;, as a result, words like &#8220;girl&#8221; might sound weird sometimes.</li>
<li><strong>Junior team</strong> – In my organization, most hires right come out of college. We are raw smart, but less experienced. It is hard to deny that some key ingredients for great engineers just take time – design skills, debugging techniques, influencing capabilities. This is not a cutting-corner example.</li>
<li><strong>Conflicts between hierarchical management and local branding</strong> – By organization hierarchy definition, many business units have existence in China. STB, Live, Online Service, etc. They functions nearly independently of each other and reports to US. But from the perspective of customers/partners/talents, it looks a bit confusing because there are so many Microsoft&#8217;s.</li>
<li><strong>People development</strong> – folks in remote sites are not equally exposed to development resources such as face-to-face training, library, mentors, etc.</li>
<li><strong>Governing issue</strong> – due to well known concerns, something confidential can&#8217;t be moved out of US.</li>
</ol>
<h2><span style="font-size: 13pt; text-decoration: underline;">How-to </span></h2>
<p>There are several factors playing critical role in deciding appropriate distributed development model. At least you should consider project type, team seniority, team size, team culture, communication cost and history.<span style="font-family: 宋体;font-size: 12pt"> </span></p>
<ul>
<li><strong>Build trust first.</strong> No matter how adaptable a new team is, it always takes time to fit into a specific team culture. So starting with easy jobs to build team moral and credibility is the safest steps before moving forward. Beyond this, the new team can target increased ownership.</li>
<li><strong>Decide on team coupling level.</strong> From highest to lowest, the level could be: pseudo random assignment, same branch same feature/component, same branch different feature/component, different sub branch but same main branch, different main branch &amp; clearly defined data contract. Avoid circular dependency.</li>
<li><strong>Come up with communication plan.</strong> Minimized communication is not always the best, especially for relatively junior teams. The best way to develop people is to work with senior folks on daily basis as much as possible. So you have to make tradeoffs here based on various inputs.</li>
<li><strong>Shared lab if possible.</strong> If you have to copy large files across the ocean frequently, consider doing your job on a lab down in remote team. If you have to do copying, make sure the files meet most critical quality requirements before doing so, for example, a build verification test.</li>
<li><strong>People development plan.</strong> Regular staff exchanging plan such as <a href="http://blogs.msdn.com/stbcblog/archive/2008/03/14/Talent-Management-CRD.aspx">Marco Polo and Silk Road program</a>, getting a mentor, record trainings, etc.</li>
<li><strong>Local brand management.</strong> Externally shown as one image; internally run by functionality as usual.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://libaocun.com/building-global-development-team/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lead Without Authority</title>
		<link>http://libaocun.com/lead-without-authority</link>
		<comments>http://libaocun.com/lead-without-authority#comments</comments>
		<pubDate>Wed, 29 Jul 2009 04:00:16 +0000</pubDate>
		<dc:creator>Bali</dc:creator>
				<category><![CDATA[English - 英文]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[leadership]]></category>
		<category><![CDATA[PM]]></category>
		<category><![CDATA[THINK]]></category>

		<guid isPermaLink="false">http://www.balionweb.com/?p=70</guid>
		<description><![CDATA[As to the complexity level of problems, developers in Microsoft, who deal with coding, are probably taking one of the most challenging jobs in the world. But another engineering role, program manager, is not easier in any sense. Before I explain why, let me illustrate what typical product teams look like.

In the diagram, group manager [...]]]></description>
			<content:encoded><![CDATA[<p>As to the complexity level of problems, developers in Microsoft, who deal with coding, are probably taking one of the most challenging jobs in the world. But another engineering role, program manager, is not easier in any sense. Before I explain why, let me illustrate what typical product teams look like.</p>
<p><img style="width: 659px;height: 530px" src="http://lh6.ggpht.com/_A9xfBBUVmv4/SZ5mUTy6_6I/AAAAAAAABfk/xtVMLlc_LLg/s800/HR%20arch.png" alt="Typical MS Engineering Team Org Chart" width="659" height="530" /></p>
<p>In the diagram, group manager often runs a team owning individual components or feature areas, say, one spell checker DLL in office; a product unit manager owns a product, say Outlook; while a general manager runs a product family, say Office. One compelling advantage Microsoft possesses is that its products are designed to work together seamlessly. For example, in a recent CIO.com article, <a href="http://www.cio.com/article/480011/_Reasons_to_Use_Microsoft_Outlook_for_Your_Company_s_E_mail?source=nlt_cioinsider"><span style="color: purple">10 Reasons to Use Microsoft Outlook for Your Company&#8217;s E-Mail</span></a>, 8 of 10 points is actually about interoperability with other software. <img style="width: 288px;height: 252px" src="http://lh5.ggpht.com/_A9xfBBUVmv4/SZ5krEjuZEI/AAAAAAAABfY/xHJZovLqgJY/s288/brick_wall.jpg" border="1" alt="PM's job" width="288" height="252" align="right" /></p>
<p>Managers define strategy, Developers write code, testers test code, what do PMs do? Well, it is really hard to define &#8211; there is even no consensus within Microsoft. However, one thing is clear – PMs do anything except coding(unless they have to <img src='http://libaocun.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  to drive projects meeting strategic goals. <strong>Enable right things get done right.</strong> <strong>Figure out gaps and fill them. </strong>The role is something like concrete among brick walls.<em> (cartoons on the right)</em></p>
<p>If you take a look at PM&#8217;s position, blocks with black bold border, in the organization hierarchy, you will get the challenges here. PMs are supposed to lead their peers to work towards the right direction.</p>
<p><strong>&#8220;You are not my boss. Why do I have to listen to you?&#8221; </strong></p>
<p>This question gets down the topic of &#8220;Lead without Authority&#8221;. Before you read along, I have to clarify that I am not a PM expert, but I (0) I&#8217;ve been a PM for quite a while, (1) work with great PMs, (2) learn and try most fundamental things which work well, (3) I faced similar situations for many many times, either in schools, or various organizations. Here is my sharing.<span style="font-family: Times New Roman"> </span></p>
<ul>
<li><strong>Charisma</strong>. You might be incredibly raw smart – you can optimize an algorithm from O(N*N*N) down to O(logN), or you might be able to design a system of .9999 availability, extremely secure, and super cheap compared with competitors… That doesn&#8217;t mean you can be a good leader. Instead, many of the best leaders, however, will point to the fact that they were &#8220;C&#8221; students(From <a href="http://www.amazon.com/Minute-Guide-Effective-Leadership-Guides/dp/0028614062">Source</a>).</li>
<li><strong>Credibility</strong>. It is the key to make people follow you. It works like stock value – hard to build, easy to lose. Be careful of it always. Do right things right. Bring something valuable to the team. Your credibility will accumulate gradually. Do what you say, and say what you mean.</li>
<li><strong>Consistency</strong>. People hated to be randomized. Don&#8217;t always change directions. Clear goal.</li>
<li><strong>Partnership mentality. </strong>Low ego. <img style="width: 400px;height: 266px" src="http://lh5.ggpht.com/_A9xfBBUVmv4/SaX5FMDjqPI/AAAAAAAABfs/kIuVuRXnZZ8/s400/Howard.jpg" alt="Help Others Great" width="400" height="266" align="right" /></li>
<li><strong>Help others great</strong>. Most influences are indirect. People often complain about &#8220;over-managed, but less supported&#8221;. <em>(Check out photo on the right)</em></li>
<li><strong>Lead by showing, not lead by talking only</strong>. Get your hands a bit dirty. Leaders should be willing to do anything they tell their reports to do. Show domo, mock UI, prototypes to other when presenting a new way to do things.</li>
<li><strong>Has sense of people</strong>. Most basic thing is <a href="http://www.amazon.com/How-Win-Friends-Influence-People/dp/0671723650">How to Win Friends and Influence People</a>. Learn to inspire people. Always be positive in every aspect.</li>
<li><strong>Communicate. Communicate. Communicate</strong>. Listen. Ask questions. <a href="http://worldofsu.com/philipsu/?p=130"><span style="color: purple">You can be introverts, but have to be proactive</span></a>. Be transparent. Understand your audience – strength, weakness, style, and figure out most effective approaches.</li>
<li><strong>Relationships enhance communication. </strong>Invest time in talking to people interactively. When you need to request advice, an opinion, or a task, you can talk to people from a healthy and positive place.</li>
<li><strong>Sharpen your vision. </strong>Look around. Look ahead. This helps in making sound decisions.</li>
<li>
<div><strong>Start to drive teams with strong pseudo leaders</strong></div>
<ul>
<li>Talk to them especially leaders or submarine leaders, get to know what are their likes/dislikes, Ask: How can I help you guys? Win their support.</li>
<li>Build credibility. Bring something invaluable to the team, for example, build up strong relationships with a partner team, present a competitor research report, improve team visibility</li>
<li>Before making changes, present it to the leaders in private, say 1on1, to reach rough consensus before it goes public.</li>
<li>Help others great. Let them get the credit.</li>
</ul>
</li>
<li>
<div><strong>Conflict Management</strong></div>
<ul>
<li>Focus on goals, not conflicts themselves. Not a question of smart or dumb.</li>
<li>If you can control your emotion well enough, 25% of conflicts will go away.</li>
<li>Overwhelming majority of conflicts is just because of perspectives and different values. Try to figure out stories of other people&#8217;s side. People often come to the same solution when presented same set of information. Use negotiation tips. Keep win-win in mind.</li>
<li>In worst case – when you have to resolve unavoidable conflicts, say 5 pies for 10 kids, make sure put a <strong>fair</strong> decision-making system in place, which is often a engineering way.</li>
</ul>
</li>
<li>
<div><strong>You can reward desired performance even without authority</strong></div>
<ul>
<li>Promotions, raises, bonuses are not in your list, but you can affect them in indirect ways</li>
<li>Fame. Complimenting an employee on a job well done at a staff meeting or in front of company officers can be extremely rewarding</li>
<li>Increased trust. For example, give top performers the freedom to work in a more self-directed manner.</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://libaocun.com/lead-without-authority/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
