itLinkedInPocketCopy世田谷区が区民に通知した書類の中に日付が「平成3元年」となっていたものがあったそうです。実害はなかったということですが、どうしてそういうことになったのか見ていきたいと思います。原因は?印刷業者のソフトウェアの不具合が原因ということのようです。いう不具合なのでしょうか。実は和暦の1の位が「1」だったら「元」にするという処理が実装されていたそうです。テストに使ったダミーデータでは発覚しなかったということのようです。普通に考えたら和暦が1だったら「元」と表示するという条件の方が実装が楽に思えます。固定長レコードどうもネット上の考察では固定長レコードの文字列に対して置換をおこなっている可能性が指摘されています。元年"4文字目だけをチェックして元にしていたような感じと思われますが、ただそれでも色々な疑問が残ります。暫定対応を10年以上使用の可能性このシステムは平成22年以降に使われだしたシステムだそうです。元号の元年の処理は適当に入れておいた可能性があります。「そこの処理は仕様が無いので取り合えず適当に入れといて」の部分はTODOのまま最後まで放置されることはよくあります。そもそもそのシステムを10年以上使用する想定ではなかったのかもしれません。実装コードのレビュアーもいなかったのかもしれません。コードレビュー時に誰が見てもおかしいとすぐに指摘できますし、その時点で処理を変更することも可能です。仕様通りの可能性もしかしたら仕様の時点で和暦の1の位が「1」だったら「元」にするというものだったのかもしれません。疑問を持ちつつも問い合わせるのが面倒くさいので、その仕様のままプログラマーが実装したということも考えられます。精神的に疲れ切ったプログラマーとか、経験が全くない新人プログラマーが単にやらかしただけという可能性も残されています。その場合でもテストケースがお粗末すぎますし色々と疑問符の付く開発だと言わざるを得ません。まとめ今回の事例に関して言えば、例えプロジェクトにプログラマーとしての能力がないメンバーがいようが、マネージャーがしっかりと管理していればどこかの段階で発覚するミスだと思います。システム開発に限らずチームで行うプロジェクト等は管理者の管理能力が顕著に試されることが多く、チームメンバーの能力が標準よりも低くてもチームを管理する管理者の管理能力が優れていれば上手くいくことが多いのも事実です。プロジェクトで何か問題が起こった場合、犯人捜しをするよりもまずはチームの体制や管理者の管理能力を疑った方が建設的だと思います。今回の事例は滅多にない事だと思いますが、システム開発に携わる人間であれば教訓として新人研修などで紹介するのもいいのかなと思いました。...【プログラマー】エンジニアは英語が出来た方が有利プログラマーなどのエンジニアになると高校レベルの英語が出来た方が有利です。...このアカスブログは全てリンクフリーです。無断リンクして頂いて全く問題ございません。(※転載は禁止)相互リンク希望の方は「お問合せ」かTwitterのDMにご連絡ください。