ちぎっては投げるブログ

Programming, Android, RaspberryPi, Digital Devices, Kinkuma Hamster...

2018年の振り返り日記

日記のつもりで、今年に思ったことを書いてみる。

f:id:mczh:20181231233408p:plain

これは反省ではなくて、いつかのときに、そういえばそんな年だったなと思い返すための記録である。

仕事の話

さて、2018年だが、勤務先の変更や業務変更や異動などいろいろあった。

会社のことなので細かくは書けないが、

  • 仕様書の必要性
  • 品質担保の難しさ
  • UC記述の粒度の難しさ
  • UIの試作はWEBベースで作ると楽

が学びである。

仕様書と品質の話

当然だが、仕様書がないものはテストケースも規定できない。 これまでの私の担当していたプロジェクトは仕様書をまず書き、その後詳細設計に入り実装という流れであった。そのため、仕様書がないという場合がそもそもなかった。 だが、今回、諸事情により、仕様書がない(作らない…)プロジェクトに参加したが、絶望的な品質だった。

そもそも何が正しい動きだかわからないのだから、動くままが仕様であり、つまりバグなどないのだ。 …などと言うわけにもいかず、これはおかしいからバグだ、おかしくないバグじゃない、を各人の判断で行う羽目になる。

しかし各人の判断などという曖昧なものに頼れば当然ぶれる。各人の脳内にオレオレ仕様書が出来上がるのだ。しかも記憶ベースだから途中から整合性が取れなくなる。そもそも存在にすら気が付けない機能もある。

かくして、絶望的な品質の製品が出来上がっていた。 辞めていった某同期が、俺のチームは仕様書がないから無限にバグを直し続けている、と言っていたことを思い出した。 当時は、これがバグドリブン開発だ!(意訳)などと言って笑い飛ばしていたが、いざやるとなるとまさしくこの世の地獄だった。

どうすればいいかは悩ましい。いや、私の気持ちははっきりしている、今の製品開発を止めて、一度仕様書を起こすべきである。 ただ、そうはいかないのが会社である。

UC記述の話

その前のプロジェクトでは、仕様書をUC記述で書こう、ということになっていた。 これはテストケースを起こすのが楽だから、というのが理由の一つである。 だが、テストケースを起こせるようにするべく、粒度を細かくして巨大な仕様を書こうとした結果、途中で破綻した。

UI試作の話

HTML+CSSで作ると早い。 Ruby on Rails と PythonのFlaskを試したが、Flaskはちょっと凝ったことをすると面倒だったので、簡単なものならFlaskで、基本はRailsのほうがいいかなと思った。

そのほか

  • Cookieを使ってみて、基本を少し学んだ。ド基本だが、ドメインそろっていないとダメとか、文字列はエンコードしないといけないとか。
    オブジェクトをJsonでシリアライズ/デシリアライズするのって何に使うんだろ?と前に思ったことがあったが、Cookieに入れるときには便利。
    WEBアプリケーションで、後々のページで再利用するデータを保持するのはどこが定石なのだろう、Cookie?DB?パラメータでずっと渡し続けるのはイケてないだろうなというのは思ったが…。
  • 言語は型付きのほうが好き
  • GoogleHomeを買ったがまだ開封出来ていない。

買った物

  • Surface Pro6
    今このブログを書いている。軽さと性能に満足。
  • 自作PC
  • Ryzen, Radeon
  • AntecのPCケース
    メンテナンス性、剛性が高く買ってよかった。
  • YAMAHAのスピーカーとスピーカー台と中華アンプ
  • Sony XPERIA XZs
    今年のワーストバイ。電池持ちが異常に悪い。突然の発熱で性能が落ちる。さっさと買い換えたい。
  • キャンプ道具
    毎年キャンプしていたが、今年は椅子やマットや焚き火台などを買った。焚き火台は特にお気に入り。
  • ゼノブレイド2 黄金の国イーラ
    DLCとは思えない新作ゲームだった
  • 星のカービィ スターアライズ
    クリアしていない
  • リディー&スールのアトリエ
    switchで出ているから買ったらまさかの3部作の3作目だった…。面白かったが、switchでいきなり3作目だけ出すのは不親切だと思った。
  • スマブラSP ぜんぜん勝てない