悩めるSEの雑記です

日々思いつくがままです

物事を小さく収める、それは良いことなのか?

一緒に仕事をしているオールドルーキーの話です。Aさんとしてます。

 

ことのおこり

今初めて単体テストを体験しています。印象としては、沢山障害が出ている感じでした。その内容が「単純なコーディングミス」ではなく、想定漏れによる設計ミスです。既存コード(オリジナルと記します)のアルゴリズムをそのまま複製し、管理情報の内容だけ変えるところから出発しました。それ自体は問題はありませんでした。

しかしもう一つのプログラムが問題でした。複製して設計したものをベースにしたものの、アプリケーション自体の仕様変遷の中で、オリジナルとは使われ方が違ってきたのです。その時点で全体の仕様精査をすればよかったのですが。局所的に一部だけ対応し、想定の変化に対応出来ていませんでした。

 

他にも経験不足からくる問題がありました。些末なことではありますが、文字列をどのように保持するか、です。NULL終端文字列なのか、固定長なのか。またどのような形式で指定されてくるのか。データを通信伝聞が取得するケース、データベースから取得するケースなどで変わってきていました。Aさんは深く考えず、文字列系関数を使ったことにより、NULL終端分バッファオーバーフローを起こしたことで発覚しました。

 

上記2つの問題がほぼ同時に起きました。最初は単純質問をされたのですが、突っ込んで聞いていくとこういうことだとわかりました。彼に対応できる範囲を超えていると感じました。殻が対応している要件に私は絡んでいないため、全体のざっくり要件と局所的な話はわかるものの、細かな仕様や彼が担当しているプログラム全体までは分借りません。そのためできる話も局所的になってしまい、気づくのも遅くなってしまいました。

 

私が考えたこと

この件について、私は責任者に報告し、問題を共有することべきだと判断しました。理由は・・・

  1. 問題解消のためには、これまでと異なる管理方法が必要になる
  2. Aさんだけで十分な品質にたどり着ける道筋が見えなかった

 

1について補足します。オリジナルと同じだよね、というところから設計資料を割愛するなどしており、有識者とのやり取り(レビューなども)の前提となっていました。そこから外れた瞬間に、ここまでの話が意味をなくします。また、類似した処理が複数存在する中で、この1本だけが異なる管理になっているのは、今後このプログラムを担当する人を惑わせます。管理を変えるならば、その点について理解しやすいようコーディング/コメントが必要です。もっと言えば設計書としての記述も必要です。

 

次に2についてです。品質を担保するならば、ユースケースをすべてリストアップし、新たな管理方法で対応できることの確認が必要です。スケジュールも相当に遅れている中では、何度もやり直して時間を取ることは出来ません。腰を据えてしっかりやる必要があります。それには時間もかかります。となれば更に遅れは増します。責任者に断りなくできることではありません。

兎にも角にも、まずは責任者への一報し、現状の問題を認知してもらうことだと伝えました。しかし・・

 

起きたこと

少し割愛しますが・・・プロジェクトの責任者ではなく、直接の指示者(私達が契約しているベンダーさん、Bさんとしましょう)に報告したのです。それ自体はよいことです。しかしここで表題の話になります。

私が彼に示した問題点には触れず、障害と対応策だけを伝えたのです。またユースケースの精査はせず、とりあえずで直して障害が解消されたことの確認のみを実施したのです。Bさんもどちらかと言えば「動いたらよし派」で、先に私が挙げたようなことは考えません。話はスーッと進みます。

 

 

で何が問題なの?

プロダクトに責任を持つものからすれば、Aさんの状況はスルー出来ないことだと私は考えました。設計の大前提が崩れ、障害が多発、スケジュール遅延、キャパオーバー・・・リスクでしかありません。このことが認知できれば、有識者による対策案の精査や、他者による協力など手を打つことが出来ます。またスケジュールについても、何らかの調整もできるでしょう。

しかしAさんは自身の判断により、その道を絶ちました。一体どんな権限を以て選択したのでしょうか。彼は責任を取れるのでしょうか。自身が責任をとれないことは、勝手に判断・決定してはいけないのです。

 

 

身についた処世術なのでしょうか。どうも話をボヤかす人が多いです。責任を持つものからすれば、どんなリスクでも存在するならば認知はしたいものです。「なんで言ってくれなかったの?」ということが良くあります。後の祭り。

物事を小さく収めて良いのは、責任を取れる人がやることなんです。

 

 

 

 

 

 

 

 

昔は分からなかったことが今ならわかる

昔っていつやねん、というのはありますが、最近、なんで当時は分からなかったのかな?と思うことがあります。

 

 

直近だとSQL Serverについてのこと。今の作業で少し突っ込んで設定や権限のことをネットで調べて試行錯誤しています。MS社のサイトには詳しい情報が記載されていますが、必ずしも自身の持つ「質問」にバッチリ当てはまる記述がされているわけではありません。

 

SQL Server自体は、DMLの範囲では何度も使ったことがありますし、学習もしていました。主にプログラミングの範疇での利用だけで、本番環境の構築や性能改善などに及ぶことはありませんでした。それも有ってか、権限まわりとかしっくりこないままでした。しかし、いま調べてやってみると・・何故か、あまり詰まることもなく理解が出来ます。

 

 

私は長らくギター(とくにエレキギター)を弄んでいます。始めた頃から、音作り、ギター自体の調整などチャンレンジしてきたのですが思ったように出来ず。少しブランクを挟み、ウクレレやアコギを経由して戻ってきたら・・音作り、本体のセットアップ・・こういうことか!?というのが沢山ありました。当時もそれなりに考えてやっていたはずなのに、全く出来ていなかった。不思議で仕方がありません。自分の特性として、適当・・はなく、それなりに理屈に則ってやっていたと思うのですが・・。

 

 

ネット上の情報が充実して来ていることも有るとは思いますが、私自身の普段の思考の積み重ねが大きいと考えています。PLとして従事することが多く、人の話を沢山聴くようになりました。図示しつつ論理的に組み立てていく習慣が付きました。今ではすぐに矛盾や論理として問題に気付きます。よくあるのは、異なる問題をごちゃ混ぜにすることとか、そもそもの問題点がわかってないことかでしょうか。歳を重ねて体力・器量は確実に落ちていますが、思考能力自体は年々研ぎ澄まされていく感じがしています。

 

ただ良いことばかりでもありません。とても粗に目がいってしまうのです。その粗より大切なことがあるのに・・・全くつまらないことです。それが近年のメンタル不調にも関係している気がします。

仕事と関係ないけど良いことが有った

たまには良い話をします。仕事とは何も関係ないですが・・・

 

1.娘とデート

普段学校も行かない引きこもり状態ですが、ロフトのグミイベントへ一緒に出かけました。暑い中、痛い足を引きずって沢山歩きました。大変だったけどの死んでくれて良かった。

 

2.エアコンが壊れたけれど無償対応になった

嫁の部屋のエアコンが冷えなくなりました。メーカーさんに見ていただいたところ、熱交換器の交換が必要だとのことでした。この部品は5年保証で。部品代だけでなく、すべての費用を含めて無償対応してくださるとのこと。とても助かります。

 

3.完全に壊れたと思ったFireTV Stickが復活

この2日ほど前から、FireTV StickがWi-Fiに繋がらなくなりました。再起動や電源断などするも変化なし。少し前からYoutubeアプリもおかしくて、まともに閲覧出来ない状態でした。ソフトのバージョンが購入時から何度か上がりましたが、どんどん遅く重くなってきていました。最終的にこの故障で、設定画面も開けなくなったので、もしかして工場出荷状態に戻せば、(ネットワークの)設定画面くらいは見れるかも?と思いやってみました。それにしてもスマホを使ってセットアップすると、アカウント設定も瞬殺だし、過去の状態を復元してくれたりで簡単にセットアップ出来ました。驚いたことに何もなかったようにWi-Fiに繋がり、また使えるようになりました。それも全体の動作もかなり快適になりました。購入時はこんな感じだったのかもしれません。それにしても何が悪かったのでしょう?フラッシュメモリに破損でも有ったのでしょうか??

 

 

日々あまり楽しいこともなく、不安であったり、モヤッとすることばかりです。それを補うことがないなあ・・・とよく考えています。足るを知る、こうやって入れること自体がとても幸せなことではありますが、普段はその有り難さでは満足できず。

メンタルの調子がわるくて・・

メンタルの調子が悪くて昨日は休みました。

 

8月は元々休みが多いうえ、嫁の怪我で2日休み、そして昨日。割り込みのタスクも発生していて、本来のタスクが遅れが出てきました。そんなことも影響しているのか、ちょっと調子がよくありません。

 

今思うと、このところ「無心」になれていない。インナーゲームでいうところの、セルフ1がずっとザワツイている。ふーーーーーーー。ふーーーーーーーー。ふーーーーーーー。深呼吸。ふーーーーーー。ふーーーーーーー。

 

やれることしか出来ない。焦っても仕方ないし、焦る必要もない。

 

今日はテレワークとさせてもらう。

何を恐れているのか

今の会社に転職して8ヶ月、今のプロジェクトに参画して3ヶ月半になりました。前職では長く請負開発に従事していました。前前職ではSESで客先で作業していましたが、プロジェクト自体は請負開発でした。ヘルプでSESプロジェクトに短期間参加したことはありましたが、ガッツリ従事したのが今のプロジェクトが初めてです。

SES=〇〇と一度の体験ですべてのSESを一纏めにして語ることは出来ません。しかし、やはり意識の違いは感じます。というかリーダーとメンバーの違いなのかな??

 

最初に違和感を覚えたのは朝会での進捗および作業予定の報告です。あー、もう少しちゃんと考えると、??と思ったのは自分がSES契約しているベンダーチームだけだったかもしれません。(マイチーム、と表記しますね)

で何が有ったのかと言いますと、報告を聞いても何も分からない、ということです。

「〇〇やってました。今日も引き続きやります」

「今週末での完了は難しいです」

「来週末にはできるかと」

だいたいこんな感じです。一応別途WBSがありますが、その予定に進むこともありません。上の報告を聞かされたら、色々と気になることがありませんか?

・何が、どんな理由で、どれくらい遅れているの?

・その理由に対して、どんな対策をとるの?

・その上で見込は?

・作成済みの計画(WBS)、他に影響ないの?見積もり通りいっていないってことは、作った計画も見直さないと危険じゃない?

とか。単純に考えて、上手くいっていない→そのままだと遅れが募るばかり、じゃないですか。そこに突っ込まにPLさんにも幾分問題が有るのですが、この報告はいくらなんでも酷くないですか。

 

少し話がそれるかもしれませんが、いやむしろ本題ですね。みんな・・・誤魔化すというか、濁すというか、ぼやかすんですよ。何を伝える、そうすると祖霊に対しての反応が生まれる(≒突っ込まれる)。それを警戒しているように感じました。予防線を引くような発言がおおいのも気になります。ガンガン詰めてくるようなプロジェクトだったら、まだ理解も出来ます。しかしまったくそんなことはないのに、どんな特があるのか理解ができません。これがSES、責任回避行動なのか??と独り得心しています。

 

オールドルーキーにはこんなことを伝えました。

・勝手に日程を変更する権限はない。

・日程、スコープ、品質、コスト・・どこを変えるのか、それはPLさんが決めること。報告より前に「遅れる」を勝手に選択していないか?

・また日程を最優先して無理する責任もない。出来ないものは出来ない。ただ事実を正確に伝える責任がある。その事実を踏まえて、PLさんが判断・指示をするのだから。

・PLさんは何か協力できないか、打てる手がないかと考えている。作業する人はそのためのネタを提供しないといけない。何も伝えずいたら、PLさんは何も出来ない。

・握ったら駄目。握った瞬間、問題が生まれる。

 

マイチームは遅れているのに、残業指示などもない。計画を守る意識もないし、そもそも管理されていない(私からすれば)。それを勝手にやって「遅れます」と報告する人の気がしれない。他の仕事に置き換えてみたらどうでしょうか。いきなりお客さんに「遅れます、以上」って言いますか。ありえないです。

 

閑話休題。それで表題なのですが、何を恐れているのでしょう?人はできることしか出来ません。事実をあるがまま伝えれば良いのではないでしょうか。それがSESだと私は考えています。請負はそういうわけには行きません。たとえ赤字になろうとも、成果物を作り上げないといけませんから。

 

コミュニケーションの責任

今週は嫌な出来事がありました。

 

初見の方向けに、いま参画しているプロジェクトの説明をします。

◯体制

 元請け-二次請け(SES)ー私とオールドルーキー(SES)

 

◯登場人物

 ・Aさん 元請け プロジェクトリーダー

 ・Bさん 元請け 別プロジェクト参画中 開発対象プロジェクトの有識者

 ・Cさん 二次請け責任者

 

◯システムと進め方

 ・元請けさんは別サイト

 ・かなり特殊な業界のシステムで20年以上の歴史あり

 ・仕様書は長い間、都度差分を作り続けている

 ・詳しい人がBさんしかいない

 ・Bさんは詳しいだけなく、とてもスキルの高い切れ者

 ・Bさんが質問、相談、レビューに対応することで品質を担保

  →10人近いメンバーの成果物に、かなり詳細・精緻に対応して下っている

 

◯その他

 ・私は独り別要件をAさん、Bさんと進めている

 

上記を踏まえて、このプロジェクトでよく見かけることがあります。

それはBさんの言っていることが理解できないということです。コンテキストの違いも有ってか、Bさんのコメントは一歩二歩先を行っている感じでしょうか。それ自体は仕方ないことだと思います。問題なのはCさんの反応。

 

まずあったのが・・Bさんには聞きづらい、というものです。その結果、質問をエクセルで管理し、Aさんが変わって質問してもらうという話になりました。ただ、その後このエクセルが使われているのは見たことがありません。多忙なPLさんになにをさせるねん、とこの時もだいぶイラッとしたものです。

 

そして今回。Cさん成果物へのBさんレビュー指摘のやり取りの中でのことです。

Bさん:指摘の意味はそういうことではない。~ということがないかという質問。

Cさん:具体的に~とは、どのようなケースですか。

Cさんがコメントを返したその日、Aさんに

「Bさんの言うことがわからない。質問返しても答えがないし。面倒くさい

と話しているのが聞こえてきたのです。

 

面倒くさい!?もう色んな思いが走りましたね。

客様に対して言う言葉じゃない。一体どういう立場で言ってるの?自身のプロジェクトが有るのに、遅くまで残業してコメントしてくださっているのに・・・(因みに私も盛んにAさん、Bさんとやり取りしていますが、何も問題はありません。Bさんのフィードバックは「やり過ぎ」というぐらい出てきます。自分も同じようなタイプだから相性が良いのかもしれませんが)

 

答えが返ってこないというのも、朝に質問を返してそんなにすぐ返ってくるわけがないんです。自分のプロジェクトが有るのですから。どうしてこんな反応になるのでしょう?これだけじゃなく、WEB会議が終わったあとに、皆の前でグダグダ言うわけですよ。こんなこと言ってるはCさんだけ。むしろ自身が恥ずかしくならないのかな?不思議です。

 

書いているとモヤモヤが蘇ってきました。これ以上はやめておくことにします。

この週末から夏休みに入っています

夏休みに入って退屈しています。

嫁があまり元気じゃないので、昨日は2食作りました。どちらもいママに作ったことのないような創作。早く食べないと駄目な肉が2集有ったのでやってみました。出来はまずまずというところでしょうか。

あとはゲーム三昧。久しぶりにAPEXを頑張っています。APEXだけは全く上手くならないんですよね・・・カジュアルはチームワークが悪いから、ランクリーグをメインしだしました。それでもやはり低ランクだと、そもそもルールを理解してる?というような行動や、単独行動に走る方が多くてモヤモヤします。スプラなんかも同じだけど、勝てるかわからない勝負に挑むのは意味がないです。ハア。

 

ここからは仕事の話。

夏休み前の一週間は設計作業でした。現場での名称使うとばれるので・・・機能設計というところでしょうか。

1週間で作り切る線を自分で引きました。初現場なのでやり方とか分からずなのですが、PLさんと別プロジェクト参画中の有識者と進める都合、都度都度チェックしてもらったり、指示してもらったり、を期待するべきではないと考えました。自分で方針・計画を作って、これで行きます、何かあればコメントしてください、ということにしました。

 

進め方の方針はアウトプット優先、とまらない、としました。

もう一つ報告に関しては、握らない、です。

 

1.アウトプットの効果

・他者に進捗、理解状況、課題が見える。

・フィードバックを貰える。(成果→フィードバック→成果・・)

 

2.止まらずアウトプットを優先することの効果(ナルハヤ)

・リスクを早く見つけられる

・遅れが生じづらい

 →無駄なバッファを計画しない

 →無駄にバッファを消費しない

・アウトプットが自分へのインプットになりエネルギーになる

 

3.握らない理由

握るということは、自分がそれにして責任をとるから、他者は何も言うな、ということです。今の立場上、そんなものはほぼありません。

また握る(隠す・見せない)ことは、認識のズレを起こしたり、他方がモヤモヤしたりしがちです。一言で言って何も良いことはありません。握る人の多くは、目的や価値が自身にフォーカスされていて、突っ込まれたくない、言い辛いとかそんな理由ではないでしょうか。

 

 

少し話がそれますが、「思考の垂れ流し」というキーワードをネットで見かけました。またいい感じのプロジェクトでは「思考の垂れ流し」が多い、というものもありました。アウトプット&フィードバック&握らないの話に近しいことだと思います。

朝会での報告、イケてない人ほどぼやかし勝ち。ふと思ったけど、こういう人達は自分自身にもぼやかし勝ちなんですよね。しっかりとした計画を立てたり、自身の考えを筋立てて検証したり・・問題に対して事実収集・分析したりもせずモヤモヤしてたり・・不安が先に立つのでしょうか?自分も不安症なので気持は良くわかります。でも、そんなときだからこそ、こういったことが大切なのだと思います。自分の思いとは別のものだから、感情を切り離して判断出来るものでもあります。私もいつも不安と戦っています。ガルウェイ氏いうところのセルフ1を黙らせて、セルフ2に頑張ってもらっています。この一週間の成果は、その結果でもありました。ものすごく疲れましたけどね。