2018年3月24日土曜日

「小さなチーム、大きな仕事」を読みました

概要

DHH 先生の Rework を読みました

メモがてら書き留めていたことを紹介しようと思います
「うーんまぁその通りだね」という点については特に触れていません
大きく共感した点や自分はこう思うという点についてのみ記載しています
書籍の内容を細かく説明しているわけではないので既に同書籍読んだ人向けの内容になっています

Remote も過去に読んでいます

環境

  • Kindle App on iPhone

見直す

「失敗から学ぶこと」は過大評価されている

失敗しても成功しても何を得てそれを今後にどう活かすか考えることが重要だと思う
得られるものが結局一緒であれば成功し続けることに越したことはない
失敗しても何も得ず活かさない人は次もまた結局失敗するだけだと思う
自分の経験値になるのであれば失敗でも成功でもどっちでも良いのだと思う (もちろん成功のほうがいいが)

会社の規模なんて気にしない

日本でということになるが大きな会社が悪いということは決して無いと思う
単純に安定した生活を送りたいという人には大きな会社で働くほうが安定はすると思う (福利厚生や保険など)
ただ、小さな会社というか小さな組織であればあるほど単純にフットワークは軽くなるだろう
多くの日本企業では業務にフローがあり申請や承認がないと先に進めないことが多いと思う
小さな組織であればそのあたりのフローが極めて最低限で構成されており、無駄な時間やコストを消費しないで済むと思う
そういった意味で気にしたくはないんだけど、気にしないと前に進めないケースが存在してしまっている、そういう文化があるというのが問題だと思う

先に進む

あなたに必要なものをつくる

非常に大事な考えだと思う
特に技術力がありパッと作って試せるのであれば尚更だと思う
そしてそれがビジネスにつながれば最高だ
ただ、一歩引いて考えるのもいいと思う
自分がほしいと思っているものをいきなり作らないで探してみると良いと思う
なぜなら大抵な場合はすでに誰かが作ってくれている時代だからだ
そしてそのアプリやツールを触ってみよう
サードパーティのアプリやツールを触ることはエンジニアにとって非常に大事なことだと思う
新しい発見やアイデアの発見につながると自分は考えている
なので、開発する以上とは言わないが既存のサービスやツールを試す機会も非常に大事だと思うので探すクセをつけておくと良いと思う
数分探してもないなら諦めて開発する方向にしよう

必要なものは思ったより少ない

書籍内ではお金に関わる項目を上げていたがそれ以外にも単純に「業務」や「会議」などもあると思う
そしてそれらの不必要だと判断したものたちを捨てるという行動こそが本当に重要だと思う

売却するつもりのビジネスは廃却されることになる

これは個人的にはありかなーと思う
最初から売却目的で行くというのは良くないと思うが最終的にもしくは成り行きで売却の方向に行くのはビジネス的にはありだと思う
ただ、自分が愛したサービスであれば話は別で売却の方向には持っていかないほうが良いと思う
逆にまた次に新しく初めたいアイデアなどがある状態であれば売ってしまって綺麗さっぱりゼロにしてから再スタートするというはありだと思う

進展

制約を受け入れる

ここは全体的なコンテキストからは少し矛盾を感じた
自分たちをあえて制約下に置くことが良い方向になるという主張だと思うが自分は制約は少なければ少ないほうが良いと思う
もしかしたら自分の「制約」の捉え方が若干違っていたのかもしれないが

副産物を売る

個人的にこの考え方は非常に好きな考え方である
何をやるにも無駄なことはないと思うことができる考え方だと思っている
人生無駄なことや辛いことは非常に多いと思うが何か副産物が生まれていると考えるだけで個人的には何とかやっていける
辛いことや無駄なことの「体験」だけでも副産物になると思う
少しポジティブすぎるかもしれないがこの考えを持つことは個人的にもおすすめしたい

生産性

邪魔が入る環境では生産性は上がらない

ひとりきりモードは時間で制約するのもいいが個人的には「行動」というか「儀式」を決めると良いと思う
要するにやる気スイッチ的なものを作るようにする
これをやったら、これを付けたら、これが終わったら必ずひとりきりモードになり集中して作業を進めるという感じ
というのも個人的な問題で時間だとどうしても決められた時間を設けることが難しいというケースが多いかなーと思っているだけです

会議は有害

「Outlook で 7 分の会議を設定した人は見たことがない」確かにと思った
ということは会議が有害に思われているのは Outlook などスケジュール管理ツールが 15 or 30 分単位でしか会議を入れられないことが原因だったりするのだろうか
たぶんそんなことは全くないと思うが
「会議」という言い方も良くないのだと思う
「会議」はダラダラとお話するイメージがそもそも付いてしまっている、なので会議ではなく「決断の場」として決めることだけ決めて解散する場にすれば少しは有意義になるかもしれない
まぁそれにしたとしても人を集めてお話する必要はまったくないと思いますが

小さな勝利を手に入れる

これも好きな考えです
ちょびちょび出して小さな成果が毎日得られるほうが最終的には良いものに繋がると考えています

あなたの見積もりは最悪だ

この次で多すぎる TODO について言及しているが、細かくタスクを分割して見積もると多すぎる TODO 問題に繋がってしまうのではと感じた
あとその後で述べている長いリストは終わらないという話にも繋がるが TODO はできるだけ細かく残したほうが良いと思う
長すぎると終わらないと指摘している点には同意だが終わらない場合は一定期間などで見直しをしてフラグなどを付与して一度クローズするようにすれば良いと思う
その場で長くなることを恐れてリストにしないと後で思い出せないこともあると思う (思い出せないくらいの重要さならやらなくても良いことだとは思うが)

競合相手

ケンカを売る

気持ちはわからなくはないがやりすぎは良くないと思うw
そしてこの後で「相手は気にしない」という結論になっているので結果ケンカも売らなくて良いんだと思う

競合相手以下のことしかしない

たぶん意味合いとしては「何事も上を目指していろいろと機能を追加すれば良いというわけではない、シンプルに行く路線もある」ということだと思う

進化

基本的に「ノー」と言おう

この章の中で「自分たちのサービスに顧客が満足しなければ競合他社を薦める」という説明がある
自分はその意見には賛成なのだが、実際営業の世界でその表現を聞いたことはほとんどない
思い返してみるとなぜだろうという気持ちになるが自分たちの製品ではなく他社の製品を薦めるということ自体冷静に考えればおかしなことである

プロモーション

特になし

人を雇う

まずは自分自身から

まず先に自分でやってみる習慣をつけることは非常に大事だと思う
コーディングするにもインフラを構築するにも結果的には一番始めにやっていた人が詳しくなる
詳しくなるし結局それがビジネスを進める上でも一番貴重な情報となると思う

経験年数は意味がない

「どれくらい質の高いことをしていたか」を定量的に計れる指標があると良いと思った
たとえば OSS の Contribute 数や公開しているアプリの数などだろうか

ダメージ・コントロール

文句は放っておく

当然だが障害レベルの文句はしっかりと対応するべき

文化

特になし

総括

Remote とのときもそうでしたが全体的には肯定する意見が多いです
というか Rework と Remote で内容が結構被っているなーと再認識しました

「こうするべきだ」「こうしたほうがいい」という言い回しがほとんどで、そこまでのやり方や道標がないのが少し残念な点かなと思います
まぁやり方なんて無いんだと思いますが、、、
大事なのはやり方ではなく現場一人一人の意識が変わらないと難しいと思います

2018年3月10日土曜日

The support page for _99Taps_ Game App

The support page for _99Taps_ Game App

common_icon.png

About this page

This page is supporting for “99Taps” game app.
If you have questions or found a bug, please contact me using Twitter or below the comment.

App URL

iOS 版・・・https://apple.co/2oXupSN

How to play

  1. Create new a room.
  2. Share room ID to other players.
  3. When you are ready tap the Ready button.
  4. Start the multiplayer’s game.

You try to tap enemies 99 times as quickly as anyone else.
By tapping the player’s number you can bother other player (8 times) !

Privacy Policy

About Advertising ID

IoT Gateway for BLE uses Admob to deliver advertisements. Therefore, identification information called advertising ID is used. In this app, the ad ID is mainly used for delivering ads and collecting information with Analytics using Firebase. It is not used as the main function of this application. Collected data is collected in the cloud and strictly managed. It is not collected by personally managed databases or servers. Please see the following for the privacy policy of each cloud service.

Learn more about Admob’s privacy policy.
Learn more about Firebase Analytics’ privacy policy.

Release Note

v1.11

Updated features and fixed bugs.

v1.10

Disabled the splash screen.

v1.9

Update game user interfaces.

v1.8

Bug fixed.

v1.7

  • Set a giveup button.
  • End the game after 60 seconds.
  • An indicator is displayed when creating a room.

v1.6

Optimized display size for iPhoneX, Xs, XsMax, XR.

v1.5

Bug fixed.

v1.4

I improved UXs in game.

  1. Target color changes when tapping.
  2. I increased the font of score and time.

v1.3

A new feature.

  1. You can join the random room from “Join” button.

v1.2

Three new features.

  1. You can receive push notifications when Random match starts.
  2. You can also toggle ON/OFF whether received push notifications.
  3. Sounds when the player joins the room.

v1.1

Five new features.

  1. Random match now available.
  2. Modified a logic of room creation.
  3. You can’t join a room during playing the game.
  4. During the game, the name label color will be changed according to the score.
  5. You can show the game history in chronological order.

v1.0

Released App !

2018年3月9日金曜日

The support page for "IoT Gateway for BLE" App

The support page for "IoT Gateway for BLE" App

gateway_icon.png

About this page

This page is supporting for “IoT Gateway for BLE” app.
If you have questions or found a bug, please contact me using Twitter or below the comment.

App URL

iOS 版・・・http://apple.co/1Ytn48L
Android 版・・・No support

Getting Started

How to use it (Documents)

Same, but English only ver. (Github)

How to use it (Demo Videos)

  • With SensorTag CC2650 + MQTT Channel
  • With BLESerial2 + MQTT Channel

Privacy Policy

About Advertising ID

IoT Gateway for BLE uses Admob to deliver advertisements. Therefore, identification information called advertising ID is used. In this app, the ad ID is mainly used for delivering ads and collecting information with Analytics using Firebase. It is not used as the main function of this application. Collected data is collected in the cloud and strictly managed. It is not collected by personally managed databases or servers. Please see the following for the privacy policy of each cloud service.

Learn more about Admob’s privacy policy.
Learn more about Firebase Analytics’ privacy policy.

Release Note

v1.18

Update libraries and UI tweaks.

v1.17

Fixed the contents of the debug log when starting the gateway. Don’t show duplicate advertisement uuids.

v1.16

Updated an app privacy policy.

v1.15

Updated dependency packages.

v1.14

I added dark mode feature and fixed bugs and adjusted ui details.

v1.13

Changed app title on your phone.
Convert to swift4.

v1.12

Simple brushed up.

v1.11

Deleted unused library.

v1.10

Could be advertised in a part of pages.

v1.9

Could be shown the password in MQTT channel.
Any features brushed up and bug fixed.

v1.8

Update features for MQTT channel.

  1. Could be send a raw value which is formed hex string value.
  2. Could be send first bytes when connected to the MQTT broker.

v1.7

Added a function of copy mode for existing channels.
Fix bugs.

v1.6

Added a link of Documents.

v1.5

Added a new channel type of MODE and Webhook

v1.4

Added a new device mode “Non Device”

v1.3

Add a channel type of Slack

v1.2

Fix a logic to decide whether notify
Fix bugs

v1.1

Show the type of properties in characteristics list

v1.0

Released App !