mind.

学んだことの記録

『みんなでアジャイル ―変化に対応できる顧客中心組織のつくりかた』を読んで

なぜ読んだのか

昨年の6月に認定スクラムマスター試験に合格してからというものの、会社でスクラムの知識を活かすこともなく過ごしてきたので、リマインドがてら読んでみようかと思いました。

どのような本か

アジャイルの原則として以下の3点を挙げ、それらを軸に章立てされています。

  • 顧客中心主義
  • コラボレーション
  • 変化の許容

いずれも他書で言及されていることと趣旨が大きく異なっているところはありませんでした。
各章では、それぞれの原則に沿ってプロジェクトが行われているかを確認するための項目として「良い兆候」「悪い兆候」という見出しで具体例が書かれています。

スクラムやリーンのようなプロセスに拘らずにアジャイルを説明しつつ、陥りがちな悪癖とその解決策について書かれています。
全体を通してプロセスとしてのアジャイルの説明よりアジャイルの意義「なぜそうするのか」に重点を置いて書かれています。

感想

多少アジャイルの知識がある(と思っている)僕にとっては「あるある」の連続でとても楽しく読めました。
原則を前述の3点にまとめることで、アジャイルに初めて触れる人にとって取り組みやすくしているように感じました。
アジャイルの本ではありますが、組織をより良くしていくための考え方について書かれているので、直近でスクラム等をプロジェクトに導入する予定の人でなくても得られるものはあると思います。
日頃漫然とやっている朝礼や会議に違和感や苛立ちを感じている人におすすめします。

『交渉力 結果が変わる伝え方・考え方』を読んで

なぜ読もうと思ったのか

別の本を買いに本屋に立ち寄ったらかなりの数が平積みされていたのが目についたことと、会社との交渉事に役に立つかと思ったので読みました。

どのような本か

大阪の府知事と市長の両方を経験した橋下徹さんの交渉の経験談を軸に、交渉で必要になる考え方を説いている本です。
交渉には以下の3つの点を知っておけばいい、ということでした。

  1. 利益を与える(譲歩する)
  2. 合法的に脅す
  3. お願いする

利益を与える(譲歩する)

相手に利益を与えることで、自分の利益を得るということです。
また、相手が困る状況をわざと作り出して、それを取り除くことで相手にとっては利益になるように見せる「仮想の利益」ということも書かれています。

合法的に脅す

相手に力を見せつけて脅すことです。
訴訟をちらつかせたり、選挙で対立候補を立てることを予告したりすることです。
これは敵対的交渉では使えるテクニックですが、Win-Winの関係を目指す協調的交渉では逆効果とのことでした。

お願いする

上記2点でも相手が動かない場合の最後の手段です。
橋下さんが大阪府の職員の給与をカットする政策を打ち出したとき、中学時代の恩師に給与を下げないようお願いされたということでした。

この本の構成は、上記の3点を踏まえて、実際に橋下さんが経験した交渉での具体的な行動プロセスを説明しています。
大阪だけでなく、国家間の問題について言及されており、それぞれどのような交渉を行ったかについて書かれています。
結論は、国も地方自治体も個人も力を持たなければ交渉はできないということでした。

感想

実務でその効果が証明された交渉術が完結に纏められた良書だと感じました。
特に、

交渉で一番大事なことは事前の「要望の整理」だ。自分の要望はもちろん、相手の要望も整理の対象だ。

ということは転職にも通じることだと思いました。
給与とか就業時間といったような待遇面も、これができれば後で後悔しないような交渉ができるのでしょうね。

机上の空論で終わらず、具体的な行動にどう結びつけるかを強く訴えています。
後付の理論で批判ばかりする人たちを「インテリ」と表現して、その人たちの言うことが現場で役に立たないと書かれているので読んでいて気持ちが良かったです。
同時に、自分が会社でその「インテリ」のような行動をとっていないか顧みる機会になりました。

また、地元である大阪で起きていたことがこれを読むことで色々と知れました。
橋下さんが府知事に当選した当時は何度もTVで報道されていたので、政治に興味が無かった高校生の僕でも橋下さんが大阪を改革しようとしていることは認識していました。
ただ、その後の具体的な政策については、僕は特に意識していなかったと思います。
高校が無料化されたり、地下鉄が民営化されたといった、自分の目で直接見える範囲のことは理解できていましたが、この本を読んで初めて知った改革が数多くありました。
これを読むと大阪がどれだけ税金を無駄遣いしていたのかって思えてきますね。

あと、トランプ大統領の交渉術をべた褒めだったのが印象的でした。

交渉力 結果が変わる伝え方・考え方 (PHP新書) 橋下 徹
https://www.amazon.co.jp/dp/4569846629/ref=cm_sw_r_tw_dp_U_x_aqwMEbNDGXF8W

『短期間で〝よい習慣〟が身につき、人生が思い通りになる! 超習慣術』を読んで

なぜ読もうと思ったのか

前回と同じくYouTubeで見た動画の影響です。
youtu.be

コロナウィルスで外出自粛中ということもあり、これを機にどうにか良い習慣を見に付けたいと思いました。

どのような本か

研究論文を根拠に習慣を身につけるためのテクニックが纏められた本です。
動画でのDaigoさんの話し方と同じような文章で柔らかい表現で書かれているのでとても読みやすいです。

印象に残った箇所

「ビッグエリア」 その習慣を身に着けようとしている先に、本当の大きな目標がある

実際僕も「習慣が身についてきたかな」って思ってても、何のためにやっているのかをふと忘れるときがありました。
そういうときに「ビッグエリア」を思い出すと挫折することは無くなりそうだと思いました。

自分を取り巻く状況を可視化する

習慣を身につけるときに「If~thenプランニング」というテクニックがあります。(もし~したら、[習慣化したいこと]する)
そのIf文を考えるときに、自分を取り巻く状況を可視化すると毎日起こる条件を見つけることができ、良いIf文が設定できるということです。
「~こういう習慣を見に付けたい」と思っていはいても、実際は結構イメージができていないことが多かったりするので、書き出すことで可視化するのは大切ですね。

インターパーソナル・プロセス

ネガティブな感情が湧いたときに、項目別に自分と対話し、その内容を書き出すというテクニックです。
悪い習慣を何とか我慢できていたときでも、仕事のストレスでそれが再発してしまうことがありました。
このテクニックを使えば落ち着いて自分の感情を観察できそうです。

感想

習慣の身につけ方と止め方について具体的で現実的なアプローチが書かれている良い本だと思います。
著者の主観ではなく、研究論文を論拠としているので説得力が感じられます。
随所に書かれている「自分を観察する」ことは『反応しない練習』に書かれていることとも似ていて、より説得力を感じました。
文章はとても読みやすく、シンプルに纏められているので、読み返す意欲が湧きます。
手始めに継続して本を読んでいこうと思います。

『イシューからはじめよ ― 知的生産の「シンプルな本質」』を読んで

なぜ読もうと思ったのか

この動画を見て真子社長が「必読中の必読」と言っていて気になったので読んでみました。
www.youtube.com
僕は日頃イシューを持って仕事をしておらず(イシューってなんやねんレベル)、仕事にやりがいを感じられていないので、少しでも行動を変えるきっかけになればいいと思いました。

どのような本なのか

仕事をするときに、自分の仕事がどのような価値を生み出しているのかを理解していないときはしばしばあります。
そのような状況に陥らないようにするには答えありきで物事を進めるのではなく、イシュー(解くべき問題)を考えることから始めることが正しいということが書かれています。

印象に残った部分

チーム 内 で「 これ は 何 の ため に やる のか」 という 意思 統一 を し、 立ち返 れる 場所 を つくっ て おく。
安宅和人. イシューからはじめよ ― 知的生産の「シンプルな本質」 (Kindle の位置No.435-436). 英治出版株式会社. Kindle 版.

これはスクラムインセプションデッキの意義と同じです。
集団で何かの課題を解決するにはこのような共通の認識が必要なのだと改めて実感しました。

感想

パフォーマンスを高く仕事を行うために必要な考え方が学べる良書だと思います。
真子社長が必読と言うことも理解できます。
日頃漫然としている作業に意味があるのかと疑問を持たせられました。
また、これは読む前からですが、抽象的な経営目標と、それに矛盾した戦術的アプローチを現場に強いる会社の上層部に強い憤りを感じました。
ただ、会社の上層部に文句を言うのは簡単ですが、本当に状況を改善したいと思うなら、社員全員がこの本に書かれていることを実践して上層部の意識を変えることが必要なのだと思います。
もし、自分が会社を経営する立場になったときは、またこの本を読み直してイシューから始めるようにします。

イシューからはじめよ ― 知的生産の「シンプルな本質」 安宅和人
https://www.amazon.co.jp/dp/B00MTL340G/ref=cm_sw_r_tw_dp_U_x_oHWKEbX18Q43Z

『大学4年間の経営学見るだけノート』を読んで

なぜ読んだのか

仮面ライダーゼロワンでZAIAコーポレーションが飛電インテリジェンスを「TOB」するって展開になったときに、「TOBってなんやねん」と物語についていけなくなりそうになった自分が会社員として恥ずかしくなったのでこれを機に上滑りだけでも覚えておこうかと思いました。

概要

経営学について端的に纏められた本です。
経営学を学ぶ意義から始まり、カフェ経営を目指す大学生を主人公として経営に関わる単語の意味を易しい言葉で解説しています。

感想

経営学を俯瞰するにはとても良い本だと思います。
イラストページの半分以上を占めるので、内容をイメージしやすいです。
ストーリーに沿って単語が登場するので、新しい単語に戸惑うことなく意味をスムーズに理解することができました。
ここから何か経営に関わる行動を起こせる気にはなりませんでしたが、マーケティング等の他の書籍も読んでみたいと思いました。

大学4年間の経営学見るだけノート
https://www.amazon.co.jp/dp/B07YMM2FKM/ref=cm_sw_r_tw_dp_U_x_foDGEbHR6YXJ9

GitLabのProjectに所属しているメンバーの一覧を取得するスクリプト

なぜ

Emails on push機能で送信したいメールアドレスの一覧を取得したかったからです。
送信先は各Projectの「Integration Settings」の「Recipients」で設定することができます。
f:id:cm_kenji:20200317193634p:plain

職場ではProjectのメンバー全員にpush時のメールを送信するというルールになっているため、その一覧を取得できればコピペで設定できます。

スクリプト

get_member_list.py

import os
import sys
import json
import requests


def get_all_user_email_dict():
    headers = {
        'Private-Token': os.environ['ACCESS_TOKEN'],
    }
    params = (
        ('page', '1'),
        ('per_page', '1000'),
    )

    response = requests.get('http://XXXXX/api/v4/users', headers=headers, params=params)
    data = response.json()
    path_dict = dict()
    for row in data:
        username = json.dumps(row["username"], indent=4).replace("\"", "")
        path_dict[username] = json.dumps(row["email"], indent=4).replace("\"", "")

    return path_dict

def get_username_list_by_project(project_id):
    headers = {
        'Private-Token': os.environ['ACCESS_TOKEN'],
    }

    response = requests.get('http://XXXXX/api/v4/projects/{}/users'.format(project_id), headers=headers)
    data = response.json()
    path_list = list()
    for row in data:
        path_list.append(json.dumps(row["username"], indent=4).replace("\"", ""))

    return path_list

args = sys.argv
project_id = args[1]
email_dict = get_all_user_email_dict()
username_list = get_username_list_by_project(project_id)
for username in username_list:
    if username in email_dict.keys() and username != "root":
        print(email_dict[username])

XXXXXはGitLabのホスト名です。環境に応じたものを入力してください。

import requestsは下記コマンドでインストールできます。

pip3 install requests

解説

get_all_user_email_dict()

すべてのユーザーのusernameをキー、emailを値とするディクショナリを返す関数です。

get_username_list_by_project()

引数で指定したProjectに所属しているメンバーのusernameのリストを返す関数です。

get_username_list_by_project()で取得したユーザーのusernameに一致するディクショナリのメンバからメールアドレスを取得する、といった流れです。

使い方

python3 get_member_list.py [Project_id]

Project_idはメンバー一覧を取得したいProjectのIDに置き換えてください。
ProjectのIDはProjectのトップページに表示されています。

Project_id例

f:id:cm_kenji:20200317195127p:plain

感想

メーリングリストを作ろう。

cronでシェルスクリプトを実行するとき環境変数はcrontabに書く必要がある

やってみる

スクリプト

result.log

echo $TEST > /home/vagrant/share/result.log

TESTはユーザー定義の環境変数です。

cronのスケジュール

cronで実行するプログラムはcrontab -eで行います。

失敗例

16 * * * * /home/vagrant/share/cron_test.sh

事前にこの環境変数exportで設定していたとしてもcronでの実行時は何も表示されません。

成功例

TEST=hogehoge
16 * * * * /home/vagrant/share/cron_test.sh