• 2020年6月19日金曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-21T00:52:00-07:00&max-results=7

ぼかし表現

一応、第一フェーズの仮実装完了の目標日。
かつ、後追いで仕様書も作られているので、その読み合わせを行った。

その仕様書も完成していなんだけど、一応の区切りの段階だということで見せて貰ったが……。
やっぱ、特に明確に拠り所となる資料が不足した空中戦だから人に依って理解度に差が出てるね。(´・ω・`)

同じ間違いでも、


  • そこそこ理解した上で間違えている
  • そもそも理解不足を放置したまま資料を書いている


これって全然違うもので、文面から伝わってくるんだよね。(;´・ω・`)

前者、「そこそこ理解した上で間違えている」のパターンだと、少なくともドキュメントの日本語は明確だし、本人の意識も鮮明なのよ。
だから、


( ゚Д゚)「ここでこういう条件でテーブルを検索します」
(´・ω・`)「あれ? その条件だと一意にならんような?」
( ゚Д゚)「えっ? そうでしたっけ?」
(´・ω・`)「ステータスが1であること、を条件に追加しないといけないような」
( ゚Д゚)「確かに、修正します」


って感じに、凸凹しつつも議論が進んでいくのよね。
修正箇所が多いか少ないか、程度の問題でしか無い。
無論、間違いは少ないに越したことは無いけど、間違いが2倍あれば2倍修正すれば終わる。
叩き台なんだから、どれだけ間違っていても構わん。
ゴールまでの道筋は見えている。

ヤバいのは後者「そもそも理解不足を放置したまま資料を書いている」で、


( ゚Д゚)「ここで取得します」
(´・ω・`)「何を取得するんでしょう?
( ゚Д゚)「データベースを」
(´・ω・`)「テーブルはどれでしょう?
( ゚Д゚)「えっと……。契約テーブル?」
(´・ω・`)「契約テーブルをどういう条件で検索するのでしょう?」
( ゚Д゚)「会員ID?」
(´・ω・`)「その会員IDはどこから出てきたものですか?」
( ゚Д゚)「えっと……」
(´・ω・`)「この処理は会員IDで検索するものではなく、ステータスが1であるものを全件取得するものだと思うんですよ」
( ゚Д゚)「確かに」
(´・ω・`)「だから、以降の処理はループ処理です。また、この処理は大量件数になる可能性があるので、負荷についても考慮しておく必要があって……」


って感じ。


本人の意識が混濁してるのよね。

だから資料も「取得する」とは書いているけど、「何をどこからどういう条件で取得する」とは書いてない。
混濁している部分は省略したり、ぼやかした表現にして、次の作業へ。
だからドキュメントの数は揃ってるんだけど、中身はどこから直せば良いのやら、という状況。
これは「間違っている」のではなく、何も書いていないのと同じ
遭難している。これでは丸1日会議やっても何も進まない。


「間違い」と「意識混濁」は次元が違うのよ。
なかなか厳しいなぁ。(;´・ω・`)

まあ、進めようと思えば、


(´・ω・`)「貴方はこういうことが言いたいんですよね」


と僕からフォローすることで進めることも可能なんだけど、こんなことを繰り返しておっては相手の顔が潰れるでな。(;´・ω・`)

会議の場まで出てきちゃう前に気付いてフォローしてあげたいんだけど、
この手のドキュメントは「執筆途中」にも見えるのよね。
執筆中のドキュメントを指してNGを出すのは失礼だし。

相手の脳内を読むのが難しい。(;´・ω・`)
  • 2020年6月16日火曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-21T00:52:00-07:00&max-results=7

余力

そろそろ余裕が出てきたな~。(´・ω・`)

まだやることは残っているけど、パワーが必要な作業は終わった。

今後は要件定義チームから資料が出され次第、中身をチェックして認識差異を修正していくわけだが、要件定義チームは忙しいみたいだから資料が出てくるのも遅いだろう。

ま、休憩フェーズや。
先週頑張って前倒ししたからな。

16:30だけど、もうハイボール飲んどる。
前半は電撃戦で自作業を前倒しで進め、後半は余力を持って優雅に過ごすのが僕のスタイルや。(´・ω・`)
  • 2020年6月15日月曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-21T00:52:00-07:00&max-results=7

今日から頭脳労働

ふぃ~。(´・ω・`)

先週で肉体労働は終わらせたから、今日から頭脳労働に入れる予定だ。
と言うのも、IT業界にはITドカタという言葉があるくらい、肉体労働的な側面の強い仕事があるのよ。

例えば、このシステムってDBの項目で200~300、CSVの項目も200~300。


  • CSVから値を取得し、DBにセットする。


と、ただそれだけの処理でも、この項目数だと変数を定義したり、ゲットしてセットするだけでも凄い重労働で、手が腱鞘炎になるくらいキツい。(;´・ω・`)

が、そのようなパワー労働は先週で一通り終わったことだし、今日からはもうちょっと知的な頭脳労働に移行し、肉体負担は減らせることを期待したい。

今来ている話だと、日付だな。
僕が荒っぽく作ったバッチは、


  • フラグが1であるものを更新する。


なんだけど、来ている話を見ると、


  • フラグが1であり、かつ日付が過去であるものを更新する。


に修正しなきゃいけないっぽい

「っぽい」ってのは何かって言うと、上の話は値を取得する時の話でしょ?
「その日付項目は、いつどこで値をセットするんだ?」って話が来てない。
つまり、僕の所には情報が50%しか届いていないってことだ。

この話、取得処理の修正はSQLのWhere句を1つ増やすだけだから、修正は2分で終わる。
でも、取得処理だけ修正しても辻褄が合わんし、辻褄が合わんって事に気付いて、整理し、問い合わせしたり、チャットしたり、Web会議したり……、というのに時間を要する。

これが頭脳労働だ。

まあ、システム開発の正論を言えば、本来はその辺の辻褄合わせが終わってから実装に入るべきなんだけど、このプロジェクトはで、とにかく粗方の実装が終わってから、上記みたいな話が増えて修正していく、というスタイル。

とは言え、「修正」とは「Where句を1つ増やすこと」とかそういうレベルの話。
バッチ全体を修正しなきゃいけないような根こそぎの仕様変更にはならない、という程度の見通しがあるから見切り発車してるねん。

何とかなるやろ。

ともかく、肉体負荷は軽減の見通しや。
返事が来るまでの待ち時間も増えてくるだろう。

少しは楽したいのう。(´・ω・`)
  • 2020年6月13日土曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-21T00:52:00-07:00&max-results=7

但し書き

仕様書
  • 契約日:入力必須項目。但し、契約が成立していない時は必須ではない。

バカヤロ~。
それは入力必須項目とは言わんのや。(´・ω・`)

それに、「契約が成立していない時」は契約日なんて入力禁止ちゃうんか?
「入力禁止」と「必須ではない」をゴッチャにすんな。(´・ω・`)

そもそも、「但し」って何や? 「但し」なんて言葉はシステムに存在せんのや。

  • 契約日:①契約済の場合、入力必須とする。②未契約の場合、入力禁止とする。

と書かんかい。

システムはif else if else で成り立ってるってことが骨身で分かってないからこんな日本語を使うことになるんや。
システム抜きでも普通にこの方が分かり易いやろ。
日本語どうなっとるんや。

あと、条件に応じてCSVの構成が微妙に変わるのは、それはフォーマットが2つあるのと同じや。
殆どの項目が重複しているからと言って、2つあるフォーマットを1つの表で書くのはやめろ。(´・ω・`)

  • 2020年6月12日金曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-21T00:52:00-07:00&max-results=7

インターフェース不足

とりあえず出来る範囲でざ~っと作成したが、ここから先は仕様の様子を伺ってみないと作り辛いなぁ。(´・ω・`)

一番痛いのが、連結先システムのインターフェースが空っぽであること。

例えば、この会員の住所をAPI通信で取得する。


  • 都道府県
  • 市区町村
  • 番地
  • ビル名等

これらをAPI通信で取得する。
そういうAPIが存在するってことは資料見れば分かるんだけど、物理名とか全然無いやんけ。

どういう構造のXMLで届くのか、そこが空っぽなのよ。
XMLパラメータが「ken」だったら、こっちのソースの変数名も「ken」、というように物理名を一致させなきゃいけない部分だから、そこが無いと仮実装にも限界がある。

何で無いかと言うと、他チームの方はDBスキーマすら作ってないから。

そりゃ先に会員住所テーブルを定義して、それと一致する命名でAPIを作るに決まってるんだから、DB設計も未着手なのにAPIインターフェースなんか定義出来るわけないわな。(´・ω・`)

とまあ、こんな感じで、ひとまず一端ピークは越えたかな?

仕様が決まるか、他チームの作業が進むか、それが無いと僕もやりようが無いって状況だから、何かあれば作業し、無ければ待ち状態。

少し待ってから「急いでやってくれ!!」みたいな話が来る、の繰り返しで固めていくような進行になりそうである。

ともかく土日はゆっくりするか。(´・ω・`)
  • 2020年6月11日木曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-21T00:52:00-07:00&max-results=7

23時

突貫工事していたらもう23時か。(; ・`д・´)

これ以上は明日の集中力に支障が出る。
明日に備えて寝なければ。(; ・`д・´)
  • 2020年6月10日水曜日
ウズマスターの日々
ウズマスターの日々 https://blog.uzumax.org/search?updated-max=2020-06-21T00:52:00-07:00&max-results=7

仮実装

ひとまず、僕の理解で仮実装を進行中。

「仮実装」って何なのかと言うと、例えば、DBのその項目が一意キーかどうか分かんないんだよね。(; ・`д・´)

そういう時は周囲の雰囲気で推し量る。


(´・ω・`)「知らんけど、ネーミングセンスが『管理ID』なんだから、一意キーとして使われるイメージとちゃうんか?」


くらいの僕の感覚でとりあえず進めていく。
これが「仮実装」だ。

その間にマネージャー率いる仕様策定チームで細かいことを調査して貰って、


( ゚Д゚)「いや、管理IDだけでは一意にならん。『ステータスが有効であること』を付け加えて一意になる」


ということが判明したら、その部分を修正する。
仕様策定チームの調査が間に合った範囲で終わらせるのが6月20日という目標である。

だから、修正する時に修正し易いよう実装しなきゃいけないんだよね。
どこを修正することになるかは分からんけど。

分からんけど、機能を部品化するとか、パラメータを外部定義するとか、そういうのを念入れてやっておけば、大体はカバー出来るんとちゃうか?
みたいな。

まあ、嗅覚として、このシステムは「えっ? そんな仕様があるの!?」みたいな部分は少なそうに見えるから、たぶんそれなりに着地可能なんじゃないかって感じ。
そんな感じで進行。

何だかんだでエンジニアにはってものがあって、「見えてないけど、自分達の勘は概ね正しそうだ」みたいな感覚はチームの総意としてあるのよ。

この勘が成り立つのは、結局は小規模だからだな。
僕と若い衆の2人しかプログラマーがおらん。

ITプロジェクトの難易度って、結局は規模で決まっちゃう所があって、小規模だったらこんな進行でも何とかなるのよ。
マネージメントだの開発モデルだの、そういうのは大きいプロジェクトを何とか纏めようと苦心する話であって、小規模プロジェクトは小手先のマネージメントよりもプログラマーゴリ押しの方が圧倒的に強い。

泥仕合に強いヤツが強いのが現実

勘で冒険してバッタバタで解決。
IT業界のインディ=ジョーンズ。(; ・`д・´)