http://chuanstudio.pixnet.net/blog

"我的內心時常住著一個小惡魔,每當一個人獨處時,它常會跑出來在我耳邊對著我說:「以前一直以來都是這麼做,管他那麼多,現在繼續做就對了,反正之前這樣做也沒有甚麼影響,不要管那麼多,日子照著過就好了。」於是有一天,糟糕的人際關係和差勁的績效讓我損失了百萬年薪和出國發展的機會。"

因為人類心理的防衛機轉和成長過程,造就了年輕人經常犯下一些基本的錯誤,這種人常被視為幼稚、沒家教、爛人、智障或濫好人,輕則被社會排擠,重則被霸凌或常吃悶虧。而所謂成熟,就是透過提升自我的視野,反省自己過去的所作所為、目光看重長遠的利益並使用理性思考來加以克服自身先天的脆弱和恐懼。

chuanstudio 發表在 痞客邦 留言(0) 人氣()

[1]   IT Director (Information Technology)    300,000 TWD
[2]   Creative Director (Advertising / Grapic Design / Event Management)    250,000 TWD

chuanstudio 發表在 痞客邦 留言(0) 人氣()

千金萬金難買早知道,後悔也來不及,真的如果剛出社會的時候有人告訴我以下十點就好了:

1.所有行為都必須事先取得授權,不要做任何未經授權的事情,要從老闆的老闆角度來評估老闆下面的自己這個人

chuanstudio 發表在 痞客邦 留言(0) 人氣()

這個組織提出的很多歷史論述是對的,但有一個很明顯的錯誤,就是美國總統、美國國務院及美國參眾議院均從未以任何形式或文件承認或授權台灣民政府執行任何業務,例如(1)收稅,(2)比照「琉球列島美國民政府」轄下「琉球政府」核發「琉球護照」模式核發「無國籍台灣人旅行證件或台灣護照」,(3)核發「台灣民政府身分證」,(4)核發「台灣民政府車輛牌照」。這個組織存在的本身就是個謊言,因為不曾得到任何政府或國際組織授權得以代理進行任何事,這些授權完全是由這一群人中的某個人胡謅的,這群人中的某些人再用一些與美國政府機關的來往文件來佐證自己的存在和適法性來誤導大眾,堪稱二十一世紀的台灣太平天國。

再次強調,台灣民政府的很多歷史論述是對的,但有一個嚴重的問題,就是歧視外省人及其後代。有參政權的台灣民政府「公民」的身分證申請原則是「能證明自己是日治時代的人或後裔,並無染到1945年9月2日後隨中華民國流亡政府來台灣之中國難民人士國籍及後裔。」能把如此族群歧視的字眼列入行政法規,堪稱二十一世紀的台灣種姓制度。台灣都已經走過了那麼多坎坷的民主演進過程,居然有人還意圖區分占領者和被占領者的後裔,這也是為什麼民進黨政府樂見國民黨立院黨團應盡快提出防止族群歧視的具體法案內容。

chuanstudio 發表在 痞客邦 留言(1) 人氣()

仰賴大陸法制化的共犯結構和對於自己國家的模糊定位來保障自身的安全,就是台灣每天面臨的外交現實,檢討別人以前先檢討自己,首先來談談台灣法理獨立建國而又不會被瞬間滅國的主要障礙。

國民黨的理想,是建立中華民國,但因為資本取向導致貪腐嚴重,被共產黨趕到台灣去,當初留著中華民國,是希望哪天可以反攻大陸,而現在留著中華民國,是希望大陸不要反攻台灣,在經濟上能保持一定的往來並從中受益

chuanstudio 發表在 痞客邦 留言(3) 人氣()

Given _ , When _ , Then _  And _,

Scenario: The name of the scenario

chuanstudio 發表在 痞客邦 留言(0) 人氣()

As a _ , I want to _ so that _

敏捷開發中分解使用者故事的幾種模式

用戶故事是敏捷開發中流行的需求表達手段,各種敏捷流派中都提倡將大型需求進行化整為零,減少顆粒度,提高靈活性,實現儘早交付價值和揭示風險,優秀的使用者故事需要滿足的3C特徵及INVEST原則。

各種分解的招式

1 Functional Requirements 功能性需求

1.1. Take a thin slice through the workflow; or do beginning and end of the workflow first and then the middle of the flow. 先從工作流中剝離出薄薄的一層進行開發;或者先完成工作流的頭尾部分,然後再完成中間步驟。

As an Amazon user, I can buy a book online so that I can buy book everywhere.

· As a Amazon user, I can search for a book so that I can buy it

· As a Amazon user, I can pick book into shopping cart so that I can pay for it later

· As a Amazon user, I can review my shopping cart so that I can change my mind

· As a Amazon user, I can check out shopping cart so that I can ask for delivery

· As a Amazon user, I can pay with PayPal so that I can easily transfer my money to Amazon

1.2. Split multiple operations in the story into separate stories. (e.g. story about managing or configuring or CRUD) 按照多個操作分離成不同的用戶故事(例如,關於”管理”、”配置”或”CRUD”(Create / Read / Update / Delete)的故事)

As a iPhone user, I can manage my contacts so that I can keep in touch with my friends.

· As a iPhone user, I can browse my contacts so that I can see who are in my contacts

· As a iPhone user, I can delete a contact so that I can shorten the list

· As a iPhone user, I can create a contact so that I can remember my friend’s phone number

· As a iPhone user, I can edit my contacts so that I can remember my friend’s new phone number

· As a iPhone user, I can share my contacts so that others can get this information easily

1.3. Do a subset of the business rules first and enhance with additional rules later. (e.g. a domain term in the story like flexible dates that suggest several variations?) 先完成業務規則的一部分,然後再進一步增添其他規則(例如,包含的領域術語”彈性日期”的故事暗示著多種變化)

As a Aeroplane Chess player, I can move my spawn in order to play

· As a Aeroplane Chess player, I can only start moving my spawn when roll a 6

· As a Aeroplane Chess player, I can move my spawn according to the roll

· As a Aeroplane Chess player, I can move my spawn thru shortcut when it stop at the teleporter

· As a Aeroplane Chess player, I should move my spawn backward when meet the end point

As a JIRA admin, I can see permission of all users

· As a JIRA admin, I can see permission of individual so that I can join him to a project

· As a JIRA admin, I can see permission of project member so that I can ensure proper authorization for projects

· As a JIRA admin, I can see visitor permission so that I can release temporary access in time

1.4. Process one kind of data first and then the other variations later with same operations. 先處理一類資料,然後再處理基於相同操作的其他類型的資料。

As a online banking user, I want to transfer my money so that I can make transactions everywhere

· As a online bank user, I can transfer money to my own accounts

· As a online bank user, I can transfer money to other bank account

· As a online bank user, I can make international transfer

· As a online bank user, I can pay bills

1.5. Handle data from one I/O channel first and enhance with the others that handle the same kind of data later. 先處理來自某一個管道的資料,然後再關注處理同質資料的其他管道。

As a citizen, I can view PM2.5 rating from all the data publishers so that I can get an average assessment.

· As a citizen, I can view PM2.5 rating from U.S. Embassy.

· As a citizen, I can view PM2.5 rating from National Meteorological Centre.

1.6. Split for different roles. 按照不同的角色來分解。

As a WebEx user, I can schedule a meeting so that I can connect to my colleagues

· As a mobile WebEx user, I can schedule a meeting with iPhone so that I can take a walk during the meeting

· As a desktop WebEx user, I can schedule a meeting with desktop browser so that I can get full features of a meeting

As a user, I can login to the online store

· As consumer user, I can login to go shopping.

· As admin user, I can login to manage the big data.

1.7. Strip low priority from high priority. 將低優先順序與高優先順序需求分離。

As a user, I’m required to log into the system so that I can access the system.

· As a user, I can login into system with correct username and password so that I can access the system

· As a user, I want to be frozen access for logging in with invalid password three times.

· As a frozen user, I want to be sent an email notifying a malicious attempt was made.

2 Non-Functional Requirements 非功能性需求

2.1. Make it work first and cross-cutting concerns to reduce the complexity. Such as Performance, Conceptual Integrity, Reusability, Availability, Interoperability, Manageability, Scalability, Security, Supportability, Testability, Usability, Maintainability, Auditability and Reliability. 使軟體先工作起來,推遲跨領域的關注點,包括性能、概念完整性、再使用性、可用性、互通性、可管理性、可伸縮性、安全性、可支援性、可測性、易用性、可維護性、可審計性、可靠性。

[Performance] As a new user, I want to be able to login to the system and join the meeting quickly when I use it first time so that others don’t need to wait for me.

· As a new user, I want to be able to login to the system and join the meeting.

· As a new user, I should complete application downloading within 20 seconds.

[Manageability] As a privileged user, I can see restricted search results so that I can make sure information confidential

· As a privileged user, I can see all search results.

· As a privileged user, I can see restricted search results that authorized to me

[Security] As an online bank user, I want to add payee so that I can pay to it.

· As an online bank user, I want to get current payee list

· As an online bank user, I want to add a payee

· As an online bank user, I want to conduct RSA token authentication before adding a payee

[Security] As an attacker, I must not be able to inject SQL with malicious statement.

[Availability] As an operator, I want the system switch over automatically when alarm 1234 raised so that I can continue my business.

[Interoperability] As a user, I want to log in to system with my account.

· As a user, I can sign up to acquire an application account.

· As a user, I can login with my application account.

· As a user, I want to use OpenID as my user identity to login to system, so that I can use my existing accounts of OpenID service provider and don’t need register a new proprietary user account.

[Usability] As a user, I want to start a Webex meeting.

· As a user, I want to start a Webex meeting.

· As a user, I want to start a Webex meeting via a one-click-start tool.

3 Technical Constraints 技術約束

3.1. Evolve architecture design. 進化架構設計

As a client, I can read data from data source.

· As a client, I can connect to JSON file to read data.

· As a client, I can connect to Mysql database to read data.

3.2. Bypass the real external systems first with dummy / fake / stub / mock. 利用仿製品/打樁等先繞過真實的外部系統

As a client, I want to integrated with PayPal interface so that to pay the bill

· As a client, I can pay via a fake PayPal interface that returns “successful”

· As a client, I can pay via a fake PayPal interface that returns “insufficient balance”

· As a client, I can pay via real PayPal interface

4 Spike 尖刺

4.1. Separate simple/complex, do the core first that provides most of the value and/or learning and enhance it with later stories. 區分簡單與複雜,先完成提供最多價值或知識的核心部分,以及解決最嚴重的阻礙,澄清需求和約束,然後再進一步完善。

As a user, I can search for game cards and see result grid in same screen.

· As a user, I can search cards with title and text and see total amount found so that I know searching is done

· As a user, I can see result grid so that I can see detailed result

· As a user, I can search with criteria including sets, types, houses, abilities so that I can make advanced searching

4.2. Setting up infrastructure component can be verified alone. 搭建基礎設施元件的工作可以被獨立驗證。
I want to setup Weblogic environment in order to deploy backend services on that.

4.3. Can you do some trace bullet such as mockup / experiment / simulation / prototype to evaluate the new tool / framework / language/ algorithm within a time-box within a time-box to see what can be achieved? 你是否可以在時間盒內做些端到端的概念驗證,比如模型/實驗/類比/原型等,來評估一下新工具、框架、語言、演算法,並看看所取得的效果?

I want to do a POC with Robot Framework for automation test in 10 days, in order to see whether it suitable for current project and developers’ skills

I want to compare the pros and cons between Maven and Ant in 5 days, so that we can decide which to use in the coming project.

As a client, I want to connect to “component X” which is ported from legacy system to new system in order to keep the interface unchanged

· Collect all messages from/to “component X” monitored on legacy system to understand the behavior first

· Next step…

Evaluate the split 評估分解的成果

· Do each of the stories satisfies INVEST? 每個用戶故事都符合INVEST嗎?

· Are the new stories roughly equal in size? 新的故大小是否基本一致?

· Is each story about 1/10 to 1/6 of your velocity? 每個故事大小都在你的速率的1/10到1/6之間嗎?

· Are there stories you can deprioritize or delete? 這些故事可以被丟棄嗎?

· Is there an obvious story to start with that gets you early value, learning, risk mitigation, etc.? 哪個故事明顯可以先開始,從而帶給你早期價值、學習、緩解風險嗎?

Reference: Good user stories satisfy INVEST 參考: 好的用戶故事滿足INVEST

· Independent: The user story should be self-contained, in a way that there is no inherent dependency on another user story. 獨立的:用戶故事應該是獨立的,沒有對於其他用戶故事的內在依賴。

· Negotiable: User stories, up until they are part of iteration, can always be changed and rewritten. 可協商的:用戶故事在進入反覆運算之前,都可以進行變更和重寫。

· Valuable: A user story must deliver value to the end user. 有價值的:用戶故事必須向最終用戶交付價值。

· Estimable: You must always be able to estimate the size of a user story. 可估算的:用戶故事的大小必須總是可以估算的。

· Small: User stories should not be so big as to become impossible to plan/task/prioritize with a certain level of certainty. 尺寸小:用戶故事不應該過大,以至於無法在一定的確定性下進行計畫、分派和排列優先順序。

· Testable: The user story or its related description must provide the necessary information to make test development possible. 可測試的:使用者故事及其相關的描述必須提供必要資訊,允許對開發進行測試。

Reference: 3C of User Story 參考: 使用者故事的3C特徵

· Card: stories are traditionally written on note cards, and these cards can be annotated with extra details. 卡片:習慣上將故事寫在便條卡片上,這些卡片可以標注額外的細節。

· Conversation: details behind the story come out through conversations with the Product Owner. 交談:與產品負責人的交談中產生故事背後的細節。

· Confirmation: acceptance tests confirm the story is finished and working as intended. 確認:使用接受度測試來確認故事的完成和符合工作要求。


chuanstudio 發表在 痞客邦 留言(0) 人氣()

1.幽默感,好不好笑,懂不懂得讓自己開心 - 四分

2.安全感,有沒有錢,能不能滿足自己持續的物質需求 - 三分

chuanstudio 發表在 痞客邦 留言(0) 人氣()

I. 流程採用麥肯錫 7-step problem solving methodology
Step1 蒐集資訊來確定影響範圍

chuanstudio 發表在 痞客邦 留言(0) 人氣()

學習如何溝通,就是學習要怎麼用別人易懂且願意聆聽的方式表達自己的善意並且滿足別人。

易懂,指的是簡單扼要。相反詞是難懂。

chuanstudio 發表在 痞客邦 留言(0) 人氣()