見出し画像

最近考えていることを徒然なるままに

目標、そして現在

将来はやっぱりテックリードとか、技術力を駆使して世に価値を届けていくキャリアを選択したい。
そのために、ソフトウェアの品質について考え続ける今の期間は、無駄ではない。

ソフトウェア品質を考える

「品質が良い」とは?をかれこれ9ヶ月考えている。
思うことがたくさんある。
エンジニアなので、

  • 綺麗なコード

  • 仕様が伝わるテストコード

  • SOLID原則に則っている

  • 循環的複雑度が低い

など、コードの品質にまずは目がいく。

チームの施策にも、「テストコードの実装」が常にある。品質改善に取り組むとした対象のチームのテストコードが皆無だったからだ。他にも、テストコードが書けない人がいたら教育したり、テストコードのレビューを常に行なっている。

でも、品質を良くするために必要な行動は、それだけじゃないのはわかっている。僕のドSな上司は、

「で、品質良くなったん?」

と、問いかけてくる。その度に思う。良くなっていない、と。バグの報告は減らない。

だから、今度はバグ報告を振り返る施策を実施した。

と同時に、バグをトラッキングする仕組みを作った。エンジニアから離れていく感じがした焦りから、少しでも技術に触れていなければいけないと感じ。
そしたら、最初にやるべきことは可視化だ、と思った。見える。そしてなんとなく伝わる。
少なくとも、品質が良くない、という状態はこうだ!と言える。

JIRAを可視化する、と意気込んでからは、たくさんのツールがあることに気づいた。
JIRAのダッシュボード機能、GSSとJIRAを連携するアドオン、 JQLを実行できるGitHub Actions。
エンジニアとしての幅はほんの少し広がった。

それでもバグ報告を振り返る施策は、何かテンションが上がらない。
こっちはもうトラッキングする仕組みがある。

お客様にとって、品質が良い、を考えることは、少し毛色が違った。いわゆる外部品質。
今までコード品質ばかり考えていたが、それは内部品質の一種。
外部品質だけが良くても品質が良いとは言えないし、内部品質だけが良くても品質が良いとは言えない。
両方良くしていく必要があり、それぞれどうしたら良い、と言えるのかを考える必要がある。

品質に関する気づきを得た

品質が良い、を考えていく上で大事なことは三つ。

  • 品質が良い、の定義をあらゆる視点で考える

  • 品質は分けて考える

  • 品質は定量データで考える

こうなったら品質良いよね、という認識を揃えないと、良くなった、ということはできないと思う。だから定義付けが大事。

闇雲に「品質良くするには、、、、」を考えていた時は、沼にハマっていた。品質を分けて考えることで、自分の思考を整理することができる。

最後の「定量データで考える」は、良くなった、というための根拠みたいなもの。計測が目的にならないよう注意はしなければいけないが、それでも適切なデータを取得することは、マストだと思う。

正直真新しいことなど何もないし、すでに品質のことを考えてきている人にとっては、なんだこの気付きはってなるかもしれない。けど自分にとっては大事な気づき。

それともう一つ思ったことがある。

結局、品質が良いとは、を定義して、どの指標を追っていくかを設計して、実装する、というプロセスは、エンジニアリング以外の何者でもない。
向き合ってきたことは無駄ではない。

自信を取り戻しつつある

エンジニアとしてやっていけなくなるんじゃないか、という不安に駆られて、棚卸してみたけど、自信につながって良かった、という話。
何でも屋になるんじゃないか、という恐れがあったけど、以下の記事を見て、案外テックリードは何でも屋なのかも、とも思った。

でもアプリケーションを作る楽しさとか、感覚はなくならないので、こっちはこっちで日々時間を作って少しずつ進めていく。

サポートありがとうございます!頂いたサポートは自己啓発のための書籍代に使わせていただきます!!