2014年11月21日 星期五

20141115-1116 錐麓古道(600-700m)之旅

日期:2014/11/15 06:50 - 2014/11/16 20:00 
氣候:陰涼,第一天陰雨,溫度19-23度; 第二天晴,溫度20-25度。
參與成員共約23名北市恆青隊山友,嚮導福來兄,主辦麗蓮姊
路線:

  1. 第一天(11/15)  06:50台北車站東三門→10:53崇德步道(清水斷崖)→11:45花蓮午餐→13:00知卡宣森林公園→14:40雲山水→17:00七星潭→18:00晚餐→19:00夜宿花蓮民宿
  2. 第二天(11/16)  07:30花蓮民宿出發→08:25燕子口(錐麓古道起點)→11:06 3.1K斷崖駐在所→12:53回燕子口→16:35南澳武塔休息站(莎韻之鐘)→17:30宜蘭晚餐→20:00返回台北車站東三門

序曲

錐麓古道是我期待很久想參與的山岳行程,今年初原本同事也有辦此行程,但由於人數額滿,所以沒有機會參加;幸好,10月12日與恆青山友在走完崙子山後,在捷運上阿蓮姊的邀約下,參加期待己久的錐麓古道之行;

11月15日

清晨6點50於台北車站東三門集合,一行23人搭乘中巴前往花蓮參加錐麓古道2日行程。
今日領隊福來大哥
07:00 出發
10:53 崇德隧道(清水斷崖)下車走走;
 回想今年07/26與同事來此地,清水斷崖划獨木舟,一晃眼就4個月了。


(2014/07/26)今年清水斷崖獨木舟之行
11:45 於花蓮光隆民俗文化村午餐休息

13:00 抵達知卡宣森林公園,這是花蓮最大的森林公園,佔地18公頃;










在此停留約1個多小時後,一行人驅車前往下一站「雲山水」。
14:40 抵達雲山水,此處號稱是台灣的九寨溝風景,當中心有無限疑問時,看到美麗的風景,令人覺得今天來此地,不虛此行。


















在此停留30分鐘後,便前往今天最後地點-七星潭。
17:00 抵達七星潭,由於下雨不便下,在此並未停留太久,我買了百元地瓜及玉米當明天早餐後,便返回遊覽車上,等待前往吃晚餐。
19:00 回今晚入住民宿

11月16日

06:00 起床;
06:30 出門散步在7-11喝咖啡吃早餐
07:30 出發前往燕子口-錐麓古道登山口
08:25 抵達燕 子口(錐麓古道起點), 在此需檢查入山許可,所以每人都需要拿出身份證來驗明身份;不巧的是一行23人,只有18人允許入山,有5人因為後補來不及,因此無法入山進入古道。

08:35 出發,起點就是一個近百公尺的吊橋。
 橋上拍的河床景色十分美麗;
09:18 巴達岡駐在所遺址


 18條好漢於此巴達岡合影。
 這好像是錐麓山,這是合歡越嶺古道的行走路線。
09:40 過巴達岡2號橋
 橋下美景
10:47 過了這小木橋就進入錐麓斷崖區

 錐麓斷崖


11:06 抵斷崖駐在所,由於九月份颱風造成3.1K後的古道無法繼續向前,所以在此為今日錐麓古道的終點;大夥在此休息吃中飯。



11:45 用餐完畢後,便立即準備折回燕子口
12:53 在不到70分鐘時間便回到今天早上出發的燕子口-錐麓古道起點。
13:10 陸陸續續伙伴回到燕子口。
13:40 回程,準備離開此地,往台北前進
16:35 在南澳武塔休息站休息,武塔就是莎韻古道的起點,附近有莎韻之鐘



17:30 宜蘭晚餐
20:00 返回台北車站東三門
20:40 回家


總結

本次行程要感謝嚮導福來兄及主辦麗蓮姊安排這次很棒的行程,大家帶著快樂心情回家;以下是這次行程的相關GPS記錄;

(本文照片除了自 己拍攝外,也有來自於永福兄照片及山友的網誌分享

2014年11月2日 星期日

[隨堂筆記]20141101-1109 Agile Project Management PMI - ACP (R) 認證班-敏捷式專案管理

地點:財團法人資訊工業策進會 - 台北市復興南路一段390號2樓
講師:徐柏峰


前言

原本該在暑假前就該來上課,不想周末爬山好時光被上課給奪走,硬生生拖了近2季時光,到11月份才心不甘情不願地去上課。


11月1日(六) 08:40-17:00

開場就直說,Agile Project Management 敏捷開發重點:應用精實管理原則,帶領敏捷開發團隊,駕馭充滿變數的專案
  • Use Agile Development with Lean Management
  • Mindset on Ever-change Projects.
還沒知細節時,聽了模模糊糊的;接著又說敏捷開發的態度4個重點:
  • Individuals and interactions over processes and tools 個人與互動重於流程與工具
  • Working product over comprehensive documentation 可用的軟體重於詳細的文件
  • Customer collaboration over contract negotiation 與客戶合作重於合約協商
  • Responding to change over following a plan 回應變化重於遵循計畫

看似了解同意,卻尚未了解更細部內容;接著就說明什麼樣的專案是適合用敏捷開發,那就是Value-driven (New Product Development)較為合適;而建築土木/航大的大型建案或是政府思想古板流程皆不太合適使用,而只能用傳統的Waterfall管理方法。

接著說一些Agile簡介說不一一說明,只列出一些覺得不錯的重點與想法:


Project & Project Management

  • A project is "a temporary endeavor undertaken to create a unique product, service, or result".
  • Project Management is "to turn sponsors' resources(cost) into works with specific time frame".

另外提及敏捷有Golden Circle,思考是從Need出發,而非是傳統Waterfall 由Scope出發;

專案管理上,敏捷與傳統Waterfall不同點在於:


  • 敏捷重點在於WP (Work Product/Packages)上的管理,而非是Waterfall重點於細項Task上。
  • 敏捷管理專於customers/developers之間的溝通,而非傳統指派細項工作管理。Agile PMs Don't Manage Task.

Agile Approach

  • Driven by value - what's valuable to customers.
  • Customers have a rough idea at the start, they will gain clarity as the project proceeds.
  • Project execution is a process of discovery.
  • Embrace change.

Agile Risk Management

  • High Risk High Value --> Low Risk High Value --> Low Risk Low Value --> High Risk Low Value.


What to do during Iteration 0?

  • Assess Architectural Needs
  • Obtain 3rd Party Services
  • Prepare Environments & Tools
  • Obtain Funding
  • Finalize Team
  • Start Early

What is Interation Hardening?

  • Also called Release Iteration
  • To make the product ready for release (=Done means Done)
  • The team stops building new features, and instead spends their time on stabilizing and packaging the product.

What to do during Iteration Hardening?

  • Removing accrued technical debt.
  • Fixing critical and major defects.
  • Finalizing integrations to other systems
  • Documenting various aspects of the product, including support and user documentation.
  • Significant functional, performance, load, system, integration, user acceptance, and integration testing
  • Training support personnel and end users
  • Drafting an Implementation Plan and/or Deployment Plan.

Scrum



  • A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.
    • Lightweight 文件少
    • Simple to understand 易了解
    • Extremely difficult to master 很難掌握
  • Scrum Pillars
    • Transparency (Visibility) 凡事透明
      • Common Language
      • Common definition of 'Done'
    • Inspection (Check) 定期檢查及進度管理
      • Frequently validate artifacts and progress toward a goal to detect undesirable variances.
    • Adaption (Change) 調整改變
      • If artifacts or processes deviates from what is acceptable, an adjustment must be made.
  • Scrum Stakeholders
    • Product Owner (Voice of Customer) - Why, What & When
    • Scrum Master
    • Development Team - How & Who


  • Scrum Events
    • The Sprint
      • Sprint Planning Meeting
      • Daily Scrum
      • Sprint Review
      • Sprint Retrospective




  • Definition of 'Done': Shared understanding of what it means for work to be complete - Defined by TEAM.


11月2日(日) 09:00-16:00

eXtreme Programming

  • 5 Values
    • Communication
      • Most problems and errors are caused by lack of communication
    • Simplicity
      • Do the simplest thing that could possibly work
      • Simple <> Simplistic
      • Do not plan future possible reuse.
    • Feedback
      • Always measure the works to know how far it is from the needed features
    • Courage
      • The more fear we have for a project, the bigger and heavier the methodologies we need.
    • Respect
      • Be respectful
        • to your colleagues and their contributions
        • to your organization
        • to people who will use product you are working.
  • 12 Core Practices
    • System Metaphor (Vision 願景)
      • An easy to understand description that explains product design to stakeholders without resorting to dumping huge documents on them.
    • Onsite Customer
      • A dedicated and empowered person who determines requirements, sets priorities, answer questions and verifies what have been delivered.
    • The Planning Game
      • Customer defines the business value of desired features using cost estimates provided by the developers.
    • Simple Design
      • Less is more
      • Keep It Simple and Stupid, KISS
    • Coding Standards
      • Rules for team members to do work in the same way
    • Pair Programming
      • Do all tasks in pairs, 2 developers working together at one machine.
    • Collective Code
      • All the work belongs to all the developers - we built it together!
    • Continuous Testing
      • Validate work at all times
      • Write test first

    • Refactoring 重構
      • Restructuring an existing body of work, altering its internal structure without changing its external behavior.
      • Keep work clean:
        • Without duplication
        • High communication
        • Simple yet complete
    • Continuous Integration
      • Integrate and build work multiple times a day
        • Pair writes up unit test cases and code for a task
        • Pair unit tests code to 100%
        • Pair integrates new code
        • Pair runs ALL unit test cases to 100%
    • 40 Hour Work Week
      • Tired people make more mistakes, which slow down more in the long run
      • Work smart
    • Small Releases
      • Implement a concept into reality early and update it frequently on a short cycle.

XP2

  • new 12 Core Practices
    • Sit Together New
      • Develop in open space big enough for everyone
      • Have small, private space nearby.



    • Whole Team New
      • Have a cross-functional team with the suitable number of members - Tipping Point, 7+-2 = 5~9.
    • Informative Workspace New

    • Energized Work - Was "40-Hour Week"
    • Pair Programming
    • Stories - Was "Planning Game"
    • Weekly Cycle - Was "Planning Game"
    • Quarterly Cycle - Was "Small Releases"
    • Slack New
      • In every iteration, plan some lower-priority tasks that can be dropped if you get behind
    • Ten-Minute Build New
      • Automatically build the entire system and run all tests in 10 minutes
      • Feedback, feedback!
    • Continuous Integration
    • Test-first Programming - Was "Continuous Testing"

Lean Agile

  • A systematic approach to identifying and eliminating waste (non-value-added activities) through continuous improvement by flowing the product at the pull of the customer in pursuit of perfection.
  • An approach to Agile Product development using Lean mindset for guidance
    • Agile practices are manifestations of Lean principles.
  • Optimize the Whole
    • Organization - Integrating enterprise, team, and individuals to work best together
    • Time - Not just now, but in the future. We want sustainable ROI from our effort.
    • Product - Not just its development, but also it maintenance and integration.
  • Value Stream
    • Sequence of actions that flows from customer input requirements to product deployment, and along which information, materials, and value flows.
    • Shortening value stream duration is one key to reducing the time to market.
  • Value Stream Mapping
    • A Lean tool that practitioners use to
      • Analyze the value stream
      • Get the root cause.
  • Lean Believes
    • Most errors are due to the system within which people work than to the individuals themselves
    • People doing the work are the best ones to understand how to improve the system
    • Ad hoc is not an acceptable process
    • Looking at when things are done in a process is a more useful guide than trying to make sure that every step at the way is as efficient as possible
    • Our measure for success must be related to the amount of time between when ideas come in and when they are manifested as value to our customers.
    • Management must work with the team to improve the way it works to improve its own efficiency.
    • Teams are most efficient when the amount of work is limited to their capacity
    • Team efficiency improves by minimizing the amount of work in progress at any one time
    • When evaluating actions, we must optimize the whole, not merely improved individual steps in the process
    • The are principles to reduce waste
  • Lean Principle
    • Respect People
      • It is the team not the management that has the right to define 'process'
      • Process is about "how to build the thing right within constraints they are given"
      • When constraints change, process is changed.
    • Eliminate Waste
      • 7 Forms of Waste
        • Inventory
        • Defects & Rework
        • Over Processing
        • Motion & Double handling
        • Waiting & Searching
        • Overproduction
        • Transportation
    • Defer Commitment
      • Decide as late as possible. Wait until "the last responsible moment, LRM" to make a decision
      • We either don't work on something until we need to or we set it up so that we can make decisions that can be reversed later when we get more information.
    • Create Knowledge
      • To mitigate market and technical risks
    • Deliver Fast
      • Deliver as soon as possible
      • Deliver early and often
      • Focus on adding value to the customer without delay to get
        • Better market penetration
        • Greater credibility
        • Strong loyalty
        • Earlier revenue
        • Fail Fast
    • Build Quality In
      • Built Integrity in "Define acceptance test before developing".
    • Optimize the Whole
      • Fast Flex Flow
        • Get an idea into the development pipeline and out to the customer as fast as possible
      • Focus on Time
        • Mass production looks at machine utilization. Lean focuses on time
      • Just in Time
        • Work only on those parts that we need to, and then only just before they are needed.

Lean Startup

  • What is a Startup?
    • A startup is a deliver a new product or service conditions of human institution extreme uncertainty
    • Nothing to do with size of company, sector of the economy, or industry
    • Startup = Experiment
  • Priniciples
    • Entrepreneurs are everywhere
    • Entrepreneurship is management
    • Validated Learning
    • Build - Measure - Learn
    • Innovation Accounting
  • Pivot (Change)
    • Change directions but stay grounded in what we've learned
    • Speed wins!
      • If we can reduce the time between pivots
      • We can increase our odds of success
      • Before we run out of money
  • MVP
    • Minimum Viable Product
    • Helps test our assumptions while minimizing the work we put into unproven ideas.
  • Prototype MVPs
  • Non-prototype MVPs
  • Retrospective


    1. Set the Stage
      • Help people focus on the meeting
        • Start with brief welcome and appreciation
        • Outline the meeting
        • Ask everyone to speak
      • NOT skipable
    2. Gather Data
      • Create a shared picture of what happened in the past iteration
        • Start with the 'HARD' data: events, metrics, features completed...
      • Visual depiction is helpful
    3. Generate Insights
      • Ask why and thing about what to do differently - Find the root cause. 5 Whys
    4. Decide What to Do
      • Pick up the top items and plan what to experiment for the next iteration
        • Be sure that people sign up and commit to actions.
        • S: Specific
        • M: Measurable
        • A: Achievable
        • R: Realistic
        • T: Time-bound
    5. Close the Retrospective
      • Decide how to document the experience and plan for follow up. (生活公約)

Agile in a Flash

  • Values & Practices
    • A set of values that leave it to the practitioners to decide how to apply them
    • A set of practices that are suggested to manifest good results

Agile Manifesto 敏捷宣言

  • Individuals and interactions over processes and tools 個人與互動重於流程與工具
  • Working product over comprehensive documentation  可用的軟體重於詳細的文件
  • Customer collaboration over contract negotiation 與客戶合作重於合約協商
  • Responding to change over following a plan 回應變化重於遵循計畫

Agile Principles

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software (product).
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
  3. Deliver working software (product) frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software (product) is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity - the art of maximizing the amount of work not done - is essential. (anti-gold-plating) KISS: Keep It Simple and Stupid!
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Agile Mindset

  • Barely Sufficient
    • Just Enough!
    • Minimize the time spent on anything that doesn't actually form part of the end product.
  • Less Is More
    • Deliver the minimum necessary to meet the business goal within business constraints.
  • Fail Fast
    • Get bad news early either to avoid wasting more money or gain more time to mitigate the impact.
  • Just in Time
    • Invest the time to implement a feature only when we know for sure we'll need it.
  • Time Box & Velocity
    • Time Box
      • Segment of time with a defined start and end; often refers to an "iteration."
    • Velocity
      • How "fast" can team deliver within a time box?

11月8日(六) 09:00-17:00

The Essence of a User Story

專案開頭先談Who (人),不同關係人(stakeholders),其需求也有所不同
Who =C P U
針對最近的食安事件,進行 "食安APP" 軟體開發。
C (Chicken) : Manager, Stakeholders

P (Pig) : Devs, QA, PO (BA), UX, UI, Agile PM
U (Users) : 主婦、上班族、小吃店、餐廳、食品廠、政府、藥局、診所。
用3個人物角色(Boss, 貴婦, 雞妹),來說明不同的User Story;
紅卡是針對食安議題缺失或弱點的User Story
綠卡反之,而是對此議題有正面方法的User Story
黃卡則是紅/綠卡的建議解決方案。

而食安議題APP的Vision在套用功式的結果,如下:

針對  貴婦、小吃店  客戶群,有  買的安心/用的便宜  的需求下,除了  列出問題產品  以外,還有可用  照妖鏡、團購、比價  等功能。
  • Why (Vision)
    • Every stakeholder has a different need
    • Formal requirement document tend to become a goal itself
    • As customers see what have been working, they come up with new ideas.
    • We need to make information sharing and decision making effective.
  • What (Project: Cost, Scope, Time)
    • A user story is a short description of user-valued or customer-valued function.
    • Use stories are composed of 3 aspects
      • Card: For planning and as a reminder
        • Example: As a librarian, I want to be search for books by publication year, so that....
      • Conversation: To flesh out details
      • Confirmation: To determine when a story has been completed.
        • How to Demo / Acceptance Criteria
  • How (Management)
    • How is a user story formatted?
      • Front
        • General version: As an estimator, I want to see the item we're estimating so that I know what I'm giving an estimate for
        • Shorter version: As an estimator, I want to see the item we're estimating
        • Even shorter version: An estimator can see the item he / she is estimating
      • Back
        • Acceptance Criteria Conditions against "SMART" criteria.
  • Who (Needs) - Ensure there is only one customer voice!!!
    • The customer should write user stories, because:-
      • Each story must be written in business language, not in technical jargon.
      • As the primary product visionaries, the custom is in the best position to describe the product behavior.
    • If getting a single person as the customer is too much hope for, the customer team consisting of a product manager, BA, QA, Dev Lead, interaction designer and real users can be established instead.
  • When - Acceptance Criteria (AC)
    • The customer is allowed to write a user story any time, but
      • The acceptance tests must be written before developing begins
      • All acceptance tests must be executed at the end of each iteration.

Types of Benefits


  • New Revenue 新收益
    • Whoever is requesting the theme should be able to quantify the reasons for building it
    • It's difficult to get solid data
    • Sales projections would be helpful
    • New customer
  • Incremental Revenue 增加收益
    • Additional revenue we can get from existing customers. A product brings forth additional revenue because it:
      • Encourages existing customers to purchase more licenses
      • Includes optional, add-on modules that can be sold separately
      • Includes features that allow charging a higher price
      • Encourages the use of consulting services (e.g. to integrate with a separate third party application).
  • Retained Revenue 續保收益
    • The revenue an organization will lose if the project is not performed.
    • It's what an organization will no longer lose
  • Operation Efficiencies 效能改善
    • Anything that takes a long time or that would take a long time if the company grew
    • Better integration or communication between departments
    • Reduced employee turnover
    • Shorter training time for new employees
    • Any time-sensitive process
    • Combining multiple processes
    • Anything that improves accuracy and reduces rework

INVEST in User Stories

A valid user story is:-
  • Independent 獨立
    • Avoid dependencies between stories
  • Negotiable 可談
    • Avoid details because they will be worked out through conversation
  • Valuable to Purchasers or Users 對採買人及使用者有用
    • Avoid stories only value by developers
      • "All connections to the database are conducted through a connection pool"
      • "All error-handling is done through a set of classes"
    • The best way is to have customer write the stories. 請PO或BA來寫,而非是Developer來寫
  • Estimable 可測/評估
    • Avoid stories whose sizes are inestimable 
      • The reasons why developers are not able to estimate a story
        • The lack of domain knowledge
        • The lack of technical knowledge
        • The size of the story (being too big)
      • Way to make an inestimable story estimable
        • Spike 針對技術證明其可行性
          • Have an experiment to learn about it in one iteration (time-boxed)
          • Re-estimated it in subsequent iterations
        • Split 切割
          • Disaggregate it into smaller, constituent stories.
  • Small
  • Testable



2014年10月19日 星期日

20141019 歐都納健行台北劍潭山(153m)暖身場

日期:2014/10/19 07:50 - 10:15 (從起登算起,約不到2個半小時完走)
氣候:多雲到晴早晚稍涼,溫度23-29度(超適合爬山)-0%下雨機率
參與成員: 上千位山友,趨勢約12位同事參加;
承辦單位:歐都納 (http://www.leave-no-trace.com.tw)
路線:大佳河濱公園八號水門出發,經林安泰古厝、新生公園、中山美術公園、圓山花博公園、北安公園、圓山飯店、登頂劍潭山(153m)、老地方觀機平台、通北街、大直橋,返回大佳河濱公園結束行程。總行程約9.5公里,屬於半日輕鬆行。

上升總高度:341 公尺  
下降總高度:338 公尺


序曲

一年一度無痕山林全民登小百岳活動從8/25開始報名,原本以為那是秒殺的賽程,所以8/25當天11:00am,就盯在螢幕上準備搶名額,如所料整個報名系統11:00am開始塞車,根本無法報名,原本以為沒希望,結果1小時過後,系統不但沒塞車,還剩很多名額;

於是選擇首場10/19劍潭山暖身場來當做這次我參加的報名目標,原因是這場有5000名額,當然就很輕易地報名了。

大佳河濱公園八號水門

05:20 起床,準備早餐及登山用具
06:00 出發
06:30 抵達大佳河濱公園八號水門的活動會場

07:30 本次參與活動的公司同事全員到齊,來個大合照留做紀念。 


07:50 出發前往劍潭山(153m)。


劍潭山

一出發就開始後悔參加這個活動,人數實在太多了;5000人 有如紅衫軍把整個河濱公園塞得滿滿,這樣的活動品質,實在感覺很不好;擠擠擠。。。
沿途景色被滿滿人潮擠到根本不想拍了....這個活動若主辦單位不控制人數的話, 我會把它 列入拒絕往來的活動了;
從大佳河濱公園,經林安泰古厝、新生公園、中山美術公園、圓山花博公園、北安公園、圓山飯店,原來登山口就在圓山飯店旁。

08:40 圓山飯店旁登山口 
09:00 登頂劍潭山(153m)
實在很無言,身體都還沒熱起來,這登頂活動就完成了。。。這種小土丘 竟然稱為小百岳(9),實在太扯蛋了,這是我走過最鳥的山岳活動,太輕鬆了。

 我不認為它有二等三角點的景色。。 山上景色也是普普,只是看見醜醜風水泥森林,沒什麼好看的view。。。
登頂後,也沒有太多心思想多留於此,決定立即下山結束此行程。
10:07 回到大佳河濱公園八號水門
10:15 離開,結束本次活動。
10:50 陪內人去迪化街逛逛,順便吃永樂米苔目;令人驚豔,這是今日行程中最令我滿意的,太好吃了,給100個讚。尤其嘴邊肉超好吃,強力推薦。值得一提米苔目己經從20元漲至30元了。



總結

這次活動是很失望,是一個很擠沒品質的山岳活動。列為不建議參 加的活動。
GPS相關訊息如下:
值得一提的是劍潭山並不是本次活動最高點,實在令人有點意外。