Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
87
Help us understand the problem. What is going on with this article?
@e99h2121

なぜ開発チームは私の起票した要望をなかなか実装してくれないの?への苦悩

はじめに

対象読者は以下です。

  • 開発チームが日常何をやってるかわからんという方。
  • 開発チームが日常何をやってるかわからんという方が周りにいる開発チームの方。

以下に答えるのが目標です。

  • 誤解1: 「こんなの一瞬で直せるでしょー」
  • 誤解2: 「優先順位付け独特すぎて困るー」
  • 誤解3: 「開発チームって複数のタスク同時進行して切り替えて作業しててスゴイです!」

「なぜ開発チームは私の起票した要望をなかなか実装してくれないのか」と疑問を他部署から受けている。案件精査バトル(何)なる野蛮な闘いが開発チーム内では日々起こりそれが顧客要望を裁いているという噂。いやそれそんな単純じゃあないんすわ…とおもったので、物語式にこの理解され難い葛藤と異常な日常業務をまとめた。一般的なものもあるかもしれないし、私の周りに独特すぎることもあるかもしれない。でももし再利用いただけたら嬉しい。

開発チームが毎月繰り広げているというバトルそのフィールドには一体何があるのか?謎を解明するため、調査隊はアマゾンの奥地へと向かった――。

物語

ここはアマゾンの奥地。ではなくてただの開発チームのフロアだよ。カタカタカタ。カタカタカタ。ッターン!最近はフルリモートで助かってるけどね。

これはね、Redmine 1と言いますよ。不具合、機能強化案件をこのチケットという形で我々は管理して見積もりしています。見て下さいこの数。あ、ちょっと失礼、インシデントです2 フムフム...なるほど、「何もしていないのに弊プロダクトが起動しなくなりました」。やれやれ。こちらのFAQを皆さんご存じないのかな... 3

image.png

Slackにある、開発チームへのヘルプチャンネルに投稿するとBotか?という速さでレスが付く。反面、いつも同じ人が返答してくるなとおもうことがあるでしょう。そうです。我々保守開発はインシデントを始め全メジャーバージョン不具合修正から機能強化問合せ対応日々の小さなプロジェクト進捗確認まで、全てを担う。チーム人員はたった5人。少数精鋭?そう言えば聞こえは良いかもしれないがどうなのか。

image.png

たとえばこんな要望が来ます。「このワーニングメッセージ、句読点(、。)がカンマ・ピリオド(,. )になっていてなんというか、イケてないというかダサイです。サクっと直してくれませんか4

なるほど、イケてないのかそうではないのかというのはイケているという事実の定義から議論の余地が多分にありますのでそこからまず精査が必要ですが今回はスタイルガイドに則るという意味ではそれなりの優先度で対応してみましょう。リテラル を変えればすぐに直りそうには見えますね。しかし意外とそうはいかない事情もあります。お気づきだろうか。

その要望、直すのは一瞬なんだけど、調べるのに結構、時間がかかる――

image.png

たとえばあなたが指摘くださったその「削除します, よろしいですか.」というワーニングメッセージ。

  1. それを確認するためにまずデータベースを覗く。
  2. 当然その文言がすぐ見つかるだろうと思いきや意外とそんなことはない。
  3. あれ、関係するテーブルどれとどれだっけ。(ここだけの話我々は1000を超えるテーブルを扱っているのだ!)
  4. おかしいぞ?ソースをgrepします
  5. むむむ出てこない。ソースの言語の種類も多すぎる。
  6. なぜだ。
  7. おっと、このサブシステムではなぜかメッセージはかなり動的に構築されているようだ...誰だよこれ考えた奴(これ大概は、退職した先輩の最高傑作である)5

image.png

1時間経過。続き

  1. ううう、とりあえず書き換えて試すぞ。再起動。数分軽くかかるからこの間にお茶を一服します...。
  2. フムフムこれはこれでよさそうだがさて、別のバージョンのソースはどうなっているかな?
  3. アレ?同じ階層に同じClassはなくなっている。関係ないけどJavaのVersionとか使ってるライブラリも違うし開発環境はいくつあるんだ。6 ちなみにこの環境は今月のWindowsUpdateを早く適用しなければならない。
  4. あ、このバージョンからはリテラルはデータベースに移植されたようだ。
  5. 出荷用データベースや評価環境を見る。その環境を起動する合間に昼飯。あーそういえばこのツールの次の期間の稟議そろそろ出しておかないと... (多分コピペで) 7

image.png

途中で別の週次報告対応のための会議。ああまた資料作らなきゃだけどこだわる暇ないからまたGoogle Sheetsにまとめるでヨシ!8 2時間経過。

アレ?直ってる。おかしいなこっちの環境では再現してるけど。あ分かった、どうやら設定オプションが違うらしい...とりあえずUPDATEのSQLを用意するがこれこのオプションがあるということはテストケース軽く5倍だな。くっそ、また本番環境が息絶えて顧客への説明のために緊急ですって呼ばれたけどお前の緊急は私の緊急ではない、えっと今日中?知らんなログの添付もないし、っていうかその前に見るべきは類似処理でやれやれ、とりあえずリテラル管理のテーブルでカンマを検索すると、マジカヨ100件とか出てきた。全部調べる...? あ、またインシデント来た。今日も勉強時間なんてとれてねえええ9

...ますか..
...聞こえますか...聞こえますか...

「このワーニングメッセージ、句読点(、。)がカンマ・ピリオド(,. )になっていてなんというか、イケてないというかダサイです。サクっと直してくれませんか

...
...
( ゚д゚)ハッ!

...要望、冷静によく聞くと 直さなくても業務全体の進行を妨害するほどの支障はないっていう話に聞こえました(何ということだろう、この時点で彼はもうほぼ思考停止しているのだ)。この案件、異議あり!!!

image.png 判決、先送り。

:innocent:

色々非効率すぎるバッドプラクティスが散見されますね...。自業自得と言われたら仕方ない。しかしこの異常な日常の一端をモリモリ入れて説明してみようと書きました。物語はフィクションです。怖。

-誤解1: 「こんなの一瞬で直せるでしょー」

直すのは一瞬なのですが調べるのに1週間強とかかかることもあるのです。我々の勉強不足でもありますがそれに起因して勉強の時間がとれないというジレンマ。まさにアマゾンの奥地。

誤解2: 「優先順位付け独特すぎて困るー」

緊急性の判断材料不足にも起因したりします。正確な情報提供にご協力いただけたら超助かります。イケてるとかイケてないとかはどうイケてないのか書いて下さい。「この配色は視認性が悪い」とかならだけど...いえ何でもありません。

誤解3: 「開発チームって複数のタスク同時進行して切り替えて作業しててスゴイです!」

スゴくないです!そこを褒められてもツラミというか自分で掘った穴に落ちているというか対顧客フロント各位には頭は上がらないのです。しかし少しでも開発チームの日常が伝われば嬉しい。

「言い訳する暇があったら不具合をなおしたい」とおもう開発の誠実さと
結局それを言い訳に言い訳レベルのことすら説明できていない開発の外側から見た現実への誠実さにより
結果として開発の誠実は誠実じゃないことも多いかもしれないですね。反省。

少なくともなにがしか、再利用性のある、説明資料になっていればさいわいです。

以上


  1. Redmineよりもっと良いものもたくさんあるとおもうが。 

  2. この物語では一応昼間に発生しているが24時間問わない。 

  3. 対顧客フロントの教育を何故開発が担うんだという葛藤のようなこと。 

  4. 要望は事実と意見を分けて書いてほしい。 

  5. 当時のARD(Architecture Decision Record) 的なものがあれば良いんだが。 

  6. サポートを切りたい。 

  7. 悪気なくこういう倫理的にどうなんだということになる。 

  8. あるあるな展開。だから退職者の資料がどこに行ったかわからないようなことになる。 

  9. この段落説明省略。 

87
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
87
Help us understand the problem. What is going on with this article?