「結合テスト」を含む日記 RSS

はてなキーワード: 結合テストとは

2024-05-15

anond:20240515130736

女性テストしたいとか、単体テストしたいとか、性的解析ツールを使いたいとか、結合テストしたいとか…

あー、結合したい…😔

良くない体制はずっと治らない

組織体制を変えるのは難しいことなんだなと思った。

IT業界で、昔はSESで働いていて、大手によく客先常駐していた。どこも大手ばかりでノウハウはしっかり蓄積され、設計書なども充実していた。

SESを脱退し、そこそこ大手IT企業正社員になれた。しかし、そこはこれまでのSES客先常駐していたような企業とは違い、あまり体制的には良くはなかった。

工数管理

工数管理は基本中の基本であり、やらないIT企業はなかなかないだろう。しかし、当社は違った。

工数管理をしなかったのである

1日に何をしたのか、報告の義務はなく、ただ作業していればよかった。

工数管理とは、案件ごとに工数管理のための番号(工数番号)を振り、さらにその工数番号ごとに要件定義、基本設計、詳細設計実装/単体テスト結合テスト総合テスト、などのサブ番号に分割して、工数登録することである

さらセキュリティ教育などは個々の案件無関係なことが多いので、維持管理用の工数番号が振られていることもある。

リリース後のトラブル対応なども工数を消費するので、それ専用の工数番号などもあったりする。

さらに、日々の工数を詳細に記載する日報のようなものも導入しているところが多く、どの作業に何時間作業たかを15分単位などで記載する。

工数管理のいいところは、作業サボりにくくなることだ。作業効率客観的に見えてしまうため、現実を突きつけられ、もっと頑張らなきゃ、と思う。

工数管理のだめなところは、とにかく面倒くさいことだ。当然だが、工数管理を行うための工数、は工数管理には入力できる枠はない。が、確実に無視できないレベル工数を消費する。あとトイレなどにつける工数などもない。

当社の工数管理

工数管理はないと言ったが、実はある。

しかし、活用されておらず、形式上だけ数字さえ入っていればそれでいい、というものだ。

その形式上すら煩わしいらしく、若手の意見バリバリ言う人から

工数管理は全く意味がない。適当工数入力していても誰もチェックしていないのか、何も言ってこない。

工数管理をしっかりすれば、1日に働いた時間がわかるのだから、勤怠システム不要である工数管理システムと勤怠システムを一本化すべきだ。

などの意見が出ていた。

月末にテキトー工数入力することすら煩わしいらしい。

そりゃあ工数管理根付いてない企業工数管理を行えばそうなるでしょう。

工数管理業務に結びつくものではなく導入メリットは明確には測れない。しかし、めんどくささは圧倒的だ。

結果、工数管理システムは完全に廃れ、入力すらしなくても誰も何も言わなくなった。

まり、当社はよく言えば従業員意見が通りやすい、悪く言えば従業員わがままが通ってしま企業なのだ

従業員意見尊重し、押し付けをせず、それぞれのルールを重んじる。良いことであるが、それでは業務改善できない。

これまでもそこそこやれてるのだから、それを無視して新ルールを導入しても、組織が壊滅する可能性が出てくるだけだ。

工数管理は基本中の基本だ。どこもやっている。それすらも当社は従業員わがままが通ってしまうのだ。

(まあ当社の工数管理はテキトーからダメだったのであって、もっと厳密に管理して、日報なども義務化すれば、これまでサボってた社員もサボれなくなり、結果的業務改善していたと思うが。)

当社はPDCAを回さな

PDCAはPlan, Do, Check, Action頭文字を連ねたもので、つまり、まずは予定(Plan)ありき。予定がないと実行(Do)はしてはいけない。

実行した後は必ず振り返り(Check)を行いなさい。

それらをした上で次の作業を行いなさい(Action)。

という意味である

当社もPDCA概念はあるし、週報という形でそれを実現している。

しかしその概念根付いておらず、週報以外ではPDCA無視している。

まり当社は、まずは実行があり、計画は立てることは必須ではない。多くの人は計画を立てない。

振り返りも当然実施しない。実行のみがある。Do, Do, Doである

これは作業レベルでそうであるし、案件レベルでもそうだ。案件はたしか最後には振り返りの資料作成する必要がある。しかし、これは単に作成しなきゃいけないか作成してるだけで、綺麗事をまとめた振り返りである

本来は、まずは理想を語り、次に現実を語る。しかし当社は、過去グダグダ言っても仕方ない、と理想を一切語らず、現実のみを語る。しかし振り返り資料には上司受けするような荒唐無稽対策記載される。

当社は、作業の前には計画ありき、などの文化は全く根付いていない。優秀な人間でも根付いていない。

私はただの平社員なので、それらについて指摘はできない。指摘したところで「じゃあどうするの?」と詰められて終わりだ。指摘するなら十分な資料作成と具体的な対応策の準備、そして責任人を動かすカリスマ性が必要だ。私にはそれらを準備してまで無駄に頑張る気はない。

当社はマニュアルを作らない。

驚いたのが部の方針説明会の時だ。

業務改善必要だ。

個々のチームで業務改善に取り組んでほしい。」

と書かれていた。

本来は、業務改善は個々のチームだけの問題ではないので、上層部マニュアル化してルール化すべきではないのか?

アイデアは個々のチームから出してもらっても良いだろうが、それを取りまとめて全体で取り組ませるのは上層部の役目ではないのか?

それをなぜ、個々のチームに依頼する?

業務改善といえばマニュアル作成設計フォーマット作成だ。

マニュアルがなぜ必要か?

それは能力の低い人でもマニュアル通りに作業することで能力の高い人と同等の仕事をできるようにするためである

それすなわち業務改善である

しかし、当社はマニュアルを作る習慣はない。自分用のメモは作るが、維持管理に使えるマニュアルは誰も作らない。

また、当社には設計書のフォーマットはない。

フォーマットがあるだけで記載漏れがかなり減る。考慮漏れも減る。作業が具体化されるからタスクも細分化して記載できる。

当社には推奨するプログラミング言語はなく、推奨のフレームワークもない。

これらが共通化されていれば、開発者がいろいろなチームに参加しやすくなるし、別のチームの有識者相談やすくもなる。

こういった業務改善本来上層部が率先して枠組みを作るべきだ。しかしやらない。

上層部知識がなく、やるとしたら雑な仕事しかしないから、やられると逆に困るのだが。

まとめ

当社はとにかく従業員の声が大きい。強い。

業務改善などの施策を出しても、従業員が納得しないと続かない。

そういう組織文化なのだと思う。

そういう文化を変えるのは並大抵のことでは出来ない。

環境が変われば人は変わるだろうが、そもそも環境を変えるには人を変えないといけない。だから変わらない。

仕事が回らなくなり死にかければ変わるかと思ったが、たぶん変わらない。

仕事の仕方を変えるくらいならきっと死を選ぶだろう。それくらい変わらない。

追記

2024/05/15 10:48

工数管理の是非について:

実装者は成果物作成する側だからサボりにくいのよね。

工数管理すべきなのは成果物ではなくサービス提供する人なのかもしれない。例えばPMなど。

当社の開発チームは、開発者PM以外にも、君必要なの?何やってる人なの?打ち合わせには参加してるけど、ただの工数食い虫じゃね?みたいな人もいるのです。

あと外注さんにも何の工数管理しないのはやばいと思う。外注さんリモートワークだから案件掛け持ちされてる疑惑も出てたし。

2023-07-13

anond:20230713123053

テストって自動テストのことだよね?

DBはともかくAPIはそこまでしなくていい派だな。

APIについては提供側がテストすることであって、利用側がテストするのは結合テストとかブラックボックステストフェーズでいい。

自動テストAPIテストやりだすと開発規模が膨らむに連れてテストの実行時間が開発のリードタイムに影響してくる。

2023-06-22

いい加減、セックスのことを「結合テスト」って言うのやめませんか?

僕は単体テスト専門でってわかましいわ

2023-03-03

anond:20230302235855

俺は時給(換算)1500円でサーバー構築、業務システムRPAの基本設計UI設計データベース設計セキュリティ対策からプログラミング単体テスト結合テスト運用試験、導入、データ移行作業データベースチューニング運用サポートなど一通りやってるけど、さすがにそれは、ない。

いくらExcelマクロといえども、時給1000円ぐらいは出さなきゃやってられないよ!

2023-02-28

anond:20230228150745

結合テスト

個別に開発されたモジュール同士が、夜の共同作業問題無く行えるかどうかテストすること。

2022-09-11

仕事目的が『上司との答え合わせ』になってる時の閉塞感は異常…「期待してる模範解答あるならそれ出せって言いたくなる」

最初から模範解答を出してあげるのは単体テスト

やらせてみて答え合わせをするのは結合テスト

大企業内勤デスクワーク場合仕事ベストプラクティスはたいがい正解があるので、細かい指示をしなくても部下が上司と同じように機能することが期待される(メンバーシップ正社員場合

個性wとか創造性wとかいうのはベストプラクティスができるようになってから先の段階

2022-08-27

センスの無い未経験年収300万強のプログラマとして就職して必要だったこ

学歴がよくなくて、就職が困難だったので中小 SIer で働いていた。 (プライム案件を取ってこれる分マシらしい)

レキサルティレクサプロデパスのお世話になって続けてたけど、結局は薬でどうにかできず、辞めてしまった。

参考程度だけど、未経験の人が 300万 をもらうために、どのようなスキル必要かを、まとめておく。

ちなみにどれくらいプログラムが書けなかったかというと、競技プログラミング努力しても AtCoder黄色になれず青色のままってくらい。

AtCoder でいう、初心者から抜け出せないという、要するにセンスがないということなのだけど、そういう人も居そうなので、参考までに。

要するに

経験プログラマに対して、これだけ要求されるのだから、未経験の人は覚悟するようにという指針を提供したいので書いた。

入社時に覚悟しておかなければならない事

誓約書

基本的に、損害を与えた場合には、それを作業者補填するという誓約書を結ぶ。

要するに、捨て駒として扱って、失敗したら賠償しろ、という事になる。

このことを認識して、失敗しないように振舞ないと、連帯保証人含めて迷惑をかける事になる。

要するに、低賃金で未経験プログラマ案件にノーリスクで送りこんで、稼ぐための手段です。

必要だったスキル

ディレクション

基本的に PL (夢想家) → PM (御用聞き) → プログラマ という環境なので、プログラマ自分ディレクションして意思決定する必要がある。

例えば、下請け場合は、PM の御用聞きの結果の WBS に合わせないと、顧客から DM瑕疵担保責任がどうとか言われる。

社内開発の場合は、PL の方から直接、長時間の叱責を受けなくてはならない。

そういう不幸を防ぐためにも自分ディレクションして、PM の決めた実態を反映していない WBS に合わせて作業するスキル要求される。

基本的に手戻りは個人の過失になってしまうため、手戻りしないように考え抜いて意思決定をする、というのが重要になる。

これこそ、ガクチカと呼ばれる、頑張れますというスキルなので、学生時代に頑張っておけばよかったなぁ。

デザイン

こう見せたい、こう表現したい、という事を伝えるには、必然的デザイン知識必要になる。

創造思考デザインは切っても切り離せない概念で、デザインとは創造なのだから、当たり前である

ソフトウェアアーキテクチャも、ソフトウェア設計も、コーディングデザインと言えるかもしれない。

言語技術 (言語能力)

顧客と 1:1 で話す事が DM でもボイチャでも突発的に発生するので、いつ、いかなる時でも論理武装していなければならない。

まぁ、顧客であったり PL であったりはキレるのが仕事なので、それに対して理路整然と説明する必要がある。

なんとなく、では納得しないし、すぐ損害賠償請求とかそういう話にいくので、答えられないと持ち帰りますお茶を濁して、エマージェンシーになる。

後述する設計能力においても、課題を把握するための言語技術(言語能力)は重要ファクターだと思う。

ソフトウェア設計

C/C++システムプログラムフレームワーク基本的に無いので、自分概念を整理して、どのような変更、拡張があるかを考えて設計する必要がある。

この能力が弱いと、手戻りが発生しやすくなり、瑕疵担保責任を問われることになる。

読んだ本の中だと、ボブおじさんの本が、やっぱりしっくりくるなという個人的な感想がある。

ネットワークプログラム (C)

UDP で送ってくるデータを受けて 24/365 で停止しない WebAPI への繋ぎ込みという簡単作業があって、振られた。

リークしてはいけないという事で malloc禁止で、グローバル変数を利用するという変なルールがあった。

Rust で書けばいいんじゃないかなと思ったけど、Rust 書くのもシンドイし、C/C++ で、しんどくて読みづらいコードを書いた。

あとで保守する人が大変そうだけど、そういうルールを決めたのは PL だしね。

システムプログラム (C++)

なんか、特殊PCI Expressカードからベンダーが用意している SDKデータ引っこ抜いて Web API へつなぎ込む部分をやった。

データの中の特殊信号を取りたかったらしい。

一応、SDK の使い方をパラ見して 1 日で作ったので、別に負担じゃなかったけど、素人やらせるんなとは思った。

Webバックエンド (Express/Fastify + PostgreSQL)

当たり前だが、DB 作って RestAPI を生やすのは現代プログラマにとって自然にできなければならない。

なので、新規開発のサブモジュールバックエンドを任せられた。

だが、ORM の癖を把握したり、発行されるクエリ確認したりするのは、疲れる。 SQL を直書きするのはシンドイ。

結局 SQL を直書きすることにしたけど、あまりいい決断ではなかったと思っている。

それ以外は フレームワーク に乗ってしまっていいので、書き捨てる分には楽だった。

最近だと、TypeScriptPrisma 使うのが、型安全でよさそうだなと思っている。

Nest.js個人的には好み。

Linux操作 (EC2 とか)

デプロイEC2 直でやったり ECS にしたりとしていたので、ベアメタル知識必要になった。

要するに systemd のいじり方とか、死活監視の仕方とか。

個人的には、クラウド嫌いなので、ベアメタルの方が安心できる。

Bind権威DNS管理して、postfix絶対止めてはいけないメールサーバ管理するとかもあったけど、出来て当然ではある事だし。

Webフロントエンド (React/Vue)

会社Webアプリ案件を取ってきたので突っ込まれた。

経験プログラマでも、月単価 100 万以上で顧客請求してるんだから会社はそりゃ儲けるだろうと思った。

会社が一人前の経験N年のプログラマといったら、その通りに振舞う必要がある。顧客責任はないのだから

当たり前だが、WebディレクションWebデザインWebプログラミング, Webマークアップ は、全て作業者であるプログラマ仕事になる。

個人的には、これが分かれている理由が良く分からないけど、分けたい人がいるんだろう。

デザインで、CSSフレームワークを使うと、その色が出るという事で、全部 CSS手書きしていた。

tailwind が出た現在では使っていればよかったなと思う。

結局、全く分からない中、手探りでデザインし、コードを書いて、顧客に 1 日 5 ~ 10リリースするという行為をした。

顧客大手企業だったので、自社のエンジニアならもっと出来る、と叱責されまくったけど、だったら自社でやればいいじゃんと思った。

一応、今でもサービスは生きていて、ユニークユーザ数は上がっているらしい。

そして、焼き付け刃だったので、 WAI-ARIA を知らず、アクセシビリティへの配慮が足りない事が問題になってしまった。

これはなんとか保守対応ねじ込めたのでトラブルにならなかったけど、瑕疵担保責任と綱渡りだなと思った。

CI/CD 構築 (Azure Pipelines)

当たり前だが、リリースサイクルを短くしないと顧客はキレてしまうので、CI/CD を整えないといけない。

今は Github Actions とかあるけど、昔は無くて Bitrise が高いからみたいな理由Azure Pipelines で CI/CD フローを構築した。

もう Multi Stage Pipeline になってるだろうけど、Release Pipeline が GUI からしか設定できないのが辛みだった。

IaC (Terraform)

当然だが、デプロイするためには IaC を整える必要がある。

これを知らずに、コンソールポチポチしていたので、 IaC 出来てない事がバレた時に色々怒られてしまった。

今は CDK とか便利なものが出来てるんだなぁ。

自動テスト

本来テスト自動テストを整えて、質保証をしてバグを減らさなければならない。

だが、テストを書くという手間を払えなかったので、人力テストしかできなかった。

一応、リグレッションテストを人力でやりまくったので、バグ発見曲線が結合テストでの IF 不一致しかない、という結果にはなったけど

自動化できれば費用必要じゃなかったから、怠慢だと、責められてしまった。

同じような未経験の人へ

経験でも誓約書を盾に、振られた事全部を出来なくてはならない慣習があるので、プログラマはそんなに良い職業じゃないよ。

甘い考えで、プログラマになろうと思っているのなら、考え直した方がいいです。

2022-02-06

ぶつかりオジサンとは衝突判定テストのためのNPCなのではないだろうか

この世界結合テストなのではないだろうか

2022-01-11

anond:20220111114453

単体テストOKだけど結合テストで出るタイプバグっぽい

民主主義自体財務省とか特定組織意思決定コントロールする機能はあるのだが

高齢化社会による老人の既得権益日本人の隣人への冷淡さなどなど

様々な条件が揃って発生するバグなので、モジュール保守担当者は誰も直したがらない感じ

2021-03-01

anond:20210301122944

SES世界から離れてもうかなり久しいが基本設計書と元に詳細設計書作ってコーディングもして単体テスト(テスト仕様書作成込み 場合によって結合テストも)まではPGの責務ってとこが多いんじゃない?

詳細設計書を見ながらコーディングだけする職種ってのはキーパンチャーがいたような頃の大昔の話じゃないの?

まぁそもそも設計書・仕様書自体がない現場もあるみたいだけどね。

2021-02-23

anond:20210222191518

別に詳細設計まで決まってなくていいけど、そもそも仕様が上の人間の間で固まってないし、ドキュメントもない

開発完了部分のドキュメントもそろい切らないし、テストも疎らでやってないコードもザラ

そして結合テストに入ったら仕様検討漏れ不具合チケット大量発生して収束しない

そらそうよみたいな気持ちになるワケ

2021-01-13

初心者プログラマをなかなか脱却できない

念願叶ってプログラマとして生計を立てるようになって、はや8ヶ月。

アラフォーでの思い切ったキャリアチェンジを後悔したことはないし、毎日楽しいことの連続だけれど、俺はいプログラマとしての伸び悩みを猛烈に実感している。

具体的には、オブジェクト指向とかデザインパターンとか単体・結合テストとか適切なエラーハンドリングとかアルゴリズムとか、納品物としてプログラム一定品質担保するスキルが圧倒的に不足している気がする。

一応日々勉強はしているものの、納期に追われているとどうしても手癖でコードを書くようになってしまうし、社内にコードレビュー文化がまだ根付いていないので添削してもらう機会もなく、なかなかスキルが身に付いていかない。

プログラマのみんなはどこでそういった知識を得て、どうコードに活かすのだろう?

とにかく毎日書きまくって手癖を克服あるいはブラッシュアップして、あとはコードレビューしてもらえるように社内環境を整えるしかないんだろうか。

2020-08-10

経歴書を書くのが苦手だ。

私は糞無能である。どれぐらい無能かというと

30歳で転職を5回実行したぐらいには無能である。(そのうち正社員は二つ)

もっと正確にいえば、パソコンタカタやっているのだが、派遣先から切られたことも多いので

多分会社を9社ぐらいを転々としている(概ね相手先都合で切られる)

そうなるたびに経歴書を書かねばいけないのだが

経歴書に書くことが何も思い浮かばないのである

もちろん世の中にはこういったものサンプルにはこと欠かさないのは知っている。

知っているが使い物にはならない

例えばネット検索して一番上の経歴書はこれである

------------------------------------------------------------------------------------------

20xx年xx月~現在 / 保険業界 営業支援システム開発 開発環境 規模

プロジェクト概要

保険業大手営業業務の実績、予算顧客などを一元管理する営業支援システムの開発をプロジェクト提案から実施

担当フェーズ

要件定義、基本設計、詳細設計結合テスト運用保守

業務内容】

クライアントへのヒアリング仕様書作成

営業支援システム設計、開発、導入、テスト

運用保守メンテナンス

【実績・取り組み】

・導入後も顧客へのヒアリング継続し、随時システム改善。また、改修を想定し、ソースコードを書き換えやすいように設計

言語

PHP

Java

OS

AIX

Windows

DB

SQL Server

Oracle

全xx名

リーダー

------------------------------------------------------------------------

こんな(私から見たらご大層)経歴は何も持っていない。

直近の作業も上から出された通りの設定を打ち込んでいくという作業だけである

誰か無能社員の経歴書の書き方とか増田でもNoteでもいいので書いてくれないか

私も知っていたら書くのだが、なにせやり方が知らないのだ。

2020-06-16

オワコンSIerについて①

今朝、某ブックマークサイトにて大手SIerにおけるクソ設計書について少しばかり話題が盛り上がった。

SIerシステム開発方法や、所謂炎上案件」というのは具体的にどういうことなのか、できる限り思い出して書いてみたいと思う。

ちなみに、私は通称SE」で、SE歴は3年。

所属したプロジェクトは3件で、1つ前に所属したプロジェクトコロナ騒動の直前の2020年1月である

これを読んでいる人の中には、私よりも玄人SE、もしくはPMいるかもしれない。

手持ちのサンプルが少ない故に「ちげーよ!」ということもあるかもしれないが、そこは大目に見ていただけると幸いだ。

まず、ITに携わるシステムとはいえSIerベンチャーWeb系は規模と客層も違うし、開発手法も違うと思われる。

開発手法というのは、「ウォーターフォール(各工程最初から着実に終わらせる手法)」、「アジャイル(短い機能追加を繰り返していく手法)」が一般的にも有名だと思う。

開発手法には「ウォーターフォール」のさらに上の「メテオフォール」というのがある。本気の炎上アジャイルのようにウォーターフォールする開発という意味だ。

(何を言っているのかわからいかもしれないが、私も何を言ってるのかわからない。https://eiki.hatenablog.jp/entry/meteo_fall

多重下請け所属しているSEが「メテオフォール」をかけられたら、もう刃傷沙汰にでもならないと逃げられないと思っていい。

炎上案件SIerの客層は、金融系・公共インフラ系がほとんどだ、7割そうだろう。(※適当

自社開発系はさておき、受託Web系やパッケージベンダ系の客層は、小規模案件プロジェクトもある程度あると思う。

金融公共インフラ系はべらぼうに規模がデカい。馬鹿みたいな工数が掛かる。

基本的計算式は以下の通り。

要件定義設計開発UT結合テストシステムテストユーザー受け入れテストシステム移行】 +追加要件開発(保守運用)。

大雑把に言うと、「ちょっと顧客情報DBを参照してWebに表示させるシステムが欲しい」として受注した場合、約4000万円がお会計となる。

現行システムリプレイスだとしても、2000~3000万円はかかる。高い(※謎仕様の現行システムだと炎上不可避案件となりさらに膨れ上がる)

当然、数千万案件となるとプロパー社員では人手が足らなくなる。

すると登場するのが「派遣社員SES)」あるいは「下請け」というシステムだ。

会社によって異なるが、だいたい4~9割が「派遣」や「下請け」の割合となっている。

それでも工数不足になってしまったプロジェクトは、そこから鬼出勤をカマす。

納期を過ぎたらさあ大変、開発経費・損害賠償SIerの自腹になってしまう。

というのが、ここまでがSIer説明

それで最初に書いた「ウォーターフォール」ってのは何なのか?ってことになる。

ウォーターフォール」=「各工程要件定義設計テスト)で客の承認を得て合意を握った上で着実にマイルストーンを固めていく」

「何のために固めるのか?」=「手戻りを起こさないため(白目)、責任押し付けられないようにするために」

じゃあどんな手法で?なぜ工数が膨らむのか?

と、ここまで前置きを書いて疲れてしまったので、続く。

駄文失礼。

anond:20200615195109

2019-08-17

考え方を変えたほうが幸せになれる。

エンジニアをしているが、

テスト仕様書を書きますねって言ってくれるディレクターがいる。

インフラからアプリケーションまで一人でやっているからか、自分仕事を奪われたようでちょっと悔しくなった。

これではシステム屋ではなくて、ただのプログラマーでは無いか…。

そこまで手が回らないって情けなくなってしまう。

ただ、

ディレクターがやってくれるのはあくま総合テストの事であって、

単体テスト結合テストエンジニアがしなければいけない。

それに、時間がないから「実際に使ってみて変な所があったら教えて?」

って言うつもりだったのを前もって準備してくれるのだから想定どおりでありがたいこと。

自分だってディレクターをした時は、エンジニアの為に色々補助や書類周りの作成してたっけ…。

そこで優越をつけてもしょうがないし、

素直にありがとうって言ってもいいよね。

自分嫉妬深さが嫌になる。

2019-08-12

設計書を読んでプログラムを書くにも、その設計の前提知識理解がないと進まない

なので業務仕様説明理解のための時間は予め取られていた

しかにその期間で業務仕様はある程度頭に入った、けれど理解には程遠い

その後は自分担当機能実装必要知識を、その場その場で掻き集めるといった感じ、全体の仕様理解なんてカケラもできない

その後の結合テストシステムテストユーザーテストの補佐、そしてリリース後の運用フォローときて、ようやく何を使っていたか業務仕様全体像想像する程度にはなった

1年と少しかかった

振り返って思う

近々の自分仕事に関わらない情報説明されても頭にとどめて置くのは難しい

業務仕様についての2週間のトレーニングを1カ月、3カ月と増やしてもたぶん理解が大きく増えることはなかった

すぐに必要でない知識を大量に与えられても一定以上のものは受け取れないのだ

得た知識からなんらかのアクションを起こし(詳細設計実装テスト)、そのフィードバックがあることで、業務仕様理解が進むんだと感じている

2018-08-11

http://blogos.com/article/317015/

例えば次の一文を取ってもこの人がシステムというものを何も理解できていないことが分かる。

コンピュータは考え得る限りの状況をテストしてから製品となり、日時を扱うシステムなら「2100年に2月29日はあるか」という処理までチェックするものです。」

テスト実施には、時間費用人材などのリソース必要だ。

リソース無限にあるなら「考え得る限りの状況をテスト」することが可能だが、実際のリソースは有限だ。

極論すれば、1万年後、10万年後までのテストをするのか、考えてみるとよい。

また、テストには局面というものがある。

「日時を扱う」処理はライブラリにするのが普通だ。

ライブラリ単体テストでは、「2100年に2月29日はあるか」というテストを行うかもしれない。

しかし、結合テストシステムテストテスト局面が進むたびに、いちいち「2100年に2月29日はあるか」というテストを行うと、テストケースが爆発的に増えてしまい、これも現実的ではない。

「2100年に2月29日はあるか」というケースは、ライブラリ単位では保証されるかもしれないが、システム全体として保証されることはまずありえない。

2018-06-04

ここもちろぐ

生産性志向SEが、IT業界での奮闘記や仕事生活で学んだことをはきだします。

 2018-05-15

みずほ銀行炎上プロジェクト支援に行ってきた話|問題

プロジェクト

gizeh-2272008_640

こんにちは。もちです。本日は、みずほ銀行プロジェクトで2か月限定支援に行った時のことを話したいと思います

あの頃は、ちょうどポケモンGOリリースされた時期でした。 プロジェクトのお昼休みに、わくわくしながらアプリを立ち上げて、メンバーの方と遊んだものです。

そんな次期システムが、いよいよ、2018年6月9日から徐々に移行開始されるそうです。

みずほ銀、9日からシステム移行 「世界最大級プロジェクト」 ATMネットバンク臨時休止日 (1/2)

みずほ銀行みずほ信託銀行は、入出金や口座管理などを担う勘定系システム統合した次期システムへの移行作業を9日から始める。4000億円超の資金を投じて進めてきた世界最大級プロジェクトが、最後のヤマ場を迎える。

www.itmedia.co.jp www.itmedia.co.jp

www.itmedia.co.jp

移行が発表されてから、「あの頃が懐かしい」と感じたため、せっかく浮かんだいろいろな想いを残そうと思って記事しました。

記事では問題点のみ扱い、

▼次記事で学んだことを記載します。

ここもちろぐ

ここもちろぐ

id:cocoamocchi

みずほ銀行炎上プロジェクト支援に行ってきた話|まなび編

みずほ銀行プロジェクトで2か月限定支援に行った時の話、まなび編です。 ▼前記事問題編はコチラ www.cocoamocchi.com 古参メンバー仕事を奪う デキる古参メンバーはとにかく忙しいです!! 新規参入者でもやり方さえ一度知れば、できそうな仕事もありそうだということで、積極的仕事を奪いにいきました。 たとえば…

2018-05-17 22:53

www.cocoamocchi.com

職場的に嫌だったこ

毎朝エレベータに長蛇の列

人気アトラクションかな?と思わせるほどの大行列タイミングが悪いと10分以上待たされました。

現場10Fくらいの階層だったので、階段も諦めました。。

スマホは鍵付きロッカーで集中管理

テストフェーズがちょうど一個上の段階に進んだためか、チーム内のスマホは鍵付きロッカーでしっかりと管理されるようになりました。

カバンも窓際に追いやられ、セキュリティ面が厳重でした。

荷物取りに行くだけで時間がかかりました。

インターネットが使えない

security-265130_640 これが一番厄介でした!!!

新入社員であれば、まずはググり力を鍛えろ!と先輩に教わるも方もいるのではないでしょうか。

わたしみたいなIT業界で働く方々は特にインターネットで調べまくる生き物です!

なのに使えないので厄介でした。

・・・はいっても、わたし場合は、こっそり休憩スペースにスマホを持ち出して調べてました。

他には、書籍にもお世話になりました。

ここで 「ネットが当たり前だと思うな、腕を磨こう」という教訓を得ました。

ありがとう執筆者の方々。

改めて書籍を生み出す方々に感謝です。

印刷用紙が真っ赤で読みづらすぎ

持ち出し抑止のために、プリンタ用紙が赤くなっておりました。

(特に持ち物チェックがあるわけではないので、悪意のある人なら持ち出せたかと思います。)

印刷してみるとまあ~わかりづらい。 気持ち的にもなんか落ち着かない。

でも一定の効果はきっとあったのだろう。。

残業前提の雰囲気

ただでさえ生産性の低い環境なのに、働き方もやっぱり残業ばかりされている方だらけでした。

特に既存メンバー古参者は大量に仕事を抱えているので、いつもヘトヘトです。

他の人へのレビューも、当然荒い。

また最終退館者名簿を見ると、お客さまサイドも負けずと毎日23時台まで残っているようでした。

※ちなみに

ごめんなさい、わたしは最長でも21時には帰りました!寝不足すぎると生産性ダダ下がり逆効果なので苦笑。

単体開発 バグ改修

私の場合、残念ながら新規開発部分は残ってなく、仕様取り込みやバグ改修をちょこっとやったくらいです。

開発ではなく、ほとんど仕様整理やJP1いじっている時間が多かったです。

命名規則がつらい

短い単語アルファベット1文字表現する文化があったため、それらをつなげて作成されるDBテーブル名やカラム名新規参入者にとってはしぬほど分かり辛かったです。

銀行システムなのに単体テストが荒い

1箇所の修正で5個もケースはないし、誰も見ないのではないかなというくらい、ゆるふわテスト結果が置いてあったりと、とてもじゃないけどもお金を扱うシステムだとは思いませんでした。

これ、結合テスト以降、バグ爆発するのでは?という印象だった。

今度、どなたか生き残った戦士に聞いてみたい。

構成管理がずたぼろ

the-1865639_640

ファイルサーバジャングル

階層がとにかく深く、無秩序に置かれた何千のフォルダ群はまさにジャングル

既存古参メンバーであったとしても、過去単体テスト仕様書の在り処を探すだけで10分以上かかっていました。

IDEなど開発に使用するツールも、各チーム持っている情報が異なっていて、結局、既存メンバーの持っているものを丸ごとコピーして使ってました。

テスト環境へのプログラム配置申請が3日ほどかかる

個々の期限がタイトにも関わらず、申請日時を厳守しなければならないのはつらかったです。

この申請は、数チームで1つのエクセルファイルにまとめて申請します。

プログラムファイル1つ1つのパス記載していくのですが、 誰かが1ファイル既述を誤るだけで、

申請した全チームのスケジュールが3日遅れます

どこぞやのチームのせいで2連続申請ミスされたこともあり、こちらとしてはたまったものではありませんでした。

しかしたら、誰かが休みたいがために、わざとミスしてるのではと疑いたくなるくらい大変でした。

まあ、とはいっても緊急リリースみたいな1~2日でできる裏技も時に使うことができたため、そこまでではなかったのかもしれません。

プロジェクトマネジメント

child-waving-goodbye-595429_640

メンバーが急に離脱する

うちの会社だけかもしれないけど、メンバー離脱が、作業指示を出しているチームリーダーまでなかなか届かない印象でした。

「来週からこの作業お願いするね」と言っていた矢先に、彼らがいなくなることを知らされる。

リーダーは大変です。多大なる無駄です。

作業工数ほとんど見積もられていない

これは、どこの炎上プロジェクトもですが、各タスクの期限だけ決まっていて、工数考慮されていない事案です。

この事案は仕方ない場面もありますので、メンバー側がリーダープロマネに少々寄り添って、自分仕事を考えていればOKです。

親切なプロジェクトじゃないのは分かっていることなので、他責にせず、ざっくりと工数を伝え、助けていきましょう。

新規参入者の実力が怪しい

少し言語知っている程度(for、if文はできるけど・・)で意思疎通の難しいプログラマー国籍わず、たくさんおりました。

猫の手も借りたいくらい忙しいプロジェクトだったので、自分主体的仕事を考え、動き、古参メンバーを助ける必要があります

しかし、

古参メンバーに何から何まですべて聞く

進捗が良くないことをごまかす

理解できていない部分をごまかす

よく分からないけど、なにかやばい

など、この中のどれか1つ該当ではなく、複数持ちのプロジェクトキラーが何人かいました。

特に進捗ごまかす人はひどかった。

他の人も急に想定外残業フォローをしなければならなくなるし、本人は無駄に悩み続ける時間増えるし、誰も幸せにならない感じでした。

まとめ

炎上プロジェクトには人的問題がつきものです。

特に銀行プロジェクトは、生産性の低い現場やずたぼろな構成管理など、環境問題も多いことがわかりました。

同時に他責にせず、主体的に行動すれば、新規参入者でもそれなりに活躍できることもわかりました。

しかし、わたし場合、2か月限定が配属前から決まっていたこともあり、

心までしんどくならずになんとか戦えたことが大きいかもしれません。

正直、炎上案件には参画したくない笑。

もし炎上案件出会っても、 心や身体をやられるようなことがあれば即刻辞退をおすすめします。

残業による残業という負のスパイラルが、もし嫌なら、早く抜け出すほうがこれから人生豊かです!

断言できます!!

一時的な損はあるかもしれませんが、長い人生においてそんなもの一瞬です。 ではでは、良き人生を!

2017-01-10

エビデンスって何のために取るの?

転職して参画した案件PHPWeb業務システム構築)が、ネットで聞いてた「SIerあるある」まんまだった。

その中でも結合テストが謎。

1000項目以上あるテストケースの一つ一つ、心を込めてエビデンスを取っている。

・WinShotでログインから動作ずつキャプチャとる(ボタンのところにカーソル合わせて「ここ押す」感まで出す)

Apacheログアプリログ試験前後DBdumpをとる

これ、誰が見るんだ。何のために取るんだ。

お客に対して「ちゃんとテストしたよ!証拠もあるよ!」くらいの意味しか見出せない(お客だってマリーくらいしか見ないだろう)。

メンバー曰く、「不具合があった時にどういう状況でテストたか確認するため」とのこと。

どういうテストたか、なんてテスターの不備を追求してる暇があるなら、さっさとバグを直せばいいじゃん。

そんなに吊るし上げしたいのか。

一番怖いのは誰も文句わず黙々とキャプチャとってること(自分もだけど)。

キャプチャとる方が試験するよりも時間かかる。

その時間テストコード書くなり、モンキーテストでもした方がよっぽど品質高まると思うのだが。

これだからSIerは(ブツブツ...)

有意義理由存在するなら教えてほしい。

2016-12-18

EXCEL使いとしてこのまま沈没していく

はてブでよく見る意識高いIT系記事では、EXCELとにらめっこするだけが仕事技術力のないSEは今後淘汰されていくという話をよく見る

まさに俺のことだ。

入社して10年、EclipseもVisualStidioもロクに触っていない。

流行りのテキストエディタには触るけどやることは構築手順書の執筆だ。メモ帳でもできる。

 

日々やってる業務といえば要は代筆業。

営業が色んな客から仕事を取ってくる。仕事内容については、客によって方言がある。

あっちの客が要件定義と呼んでるやつはこっちの客は基本設計だ。そっちの客が機能テストと呼んでるやつはうちでは結合テスト単体テストの一部を指す。

こういうのをいちいち内情に合わせて翻訳し、うちのエンジニアに伝える。

エンジニアは単にアウトプットを出せばいいだけなじゃく、うちの会社品質保証チームのルールに合わせて物をつくらないといけない。そうでないと会社名前リリースできない。

そんな内向きのルールで作った物をまたそれぞれの客向けに再翻訳してリリースする。チェックの結果足りないものは俺が書く。

 

品質保チームの言ってることは間違ってはいない。

世の中はアジャイルカンバンリーンだ。彼らの提唱した業務改善に従っているお陰で、一時期のように無駄な後戻りも属人的作業もだいぶなくなった。

タスクカンバンレベルで分割したことで、エンジニアの手が足りなくなった時にも技術力のない俺が手助けできるようになった。

要は仕様書類や評価計画書を代筆したりすればいい。ここは正直認める。

ただ、アウトプットをお納めする先の客はまだまだウォーターフォールのところばかりだ。奴らは○×設計書、△□評価報告書要求する。そのギャップは誰が埋めるの?

 

はじめはエンジニアチームがみんなでやってたり管理者がやってたんだが、次第に俺に集約するようになった。

そのほうが効率がいいからだ。

そうなったきっかけは、同僚よりわずかながら俺ができなかったからだ。その時点で俺が悪かったのは認める。

ただ、分業してるうちに同僚エンジニアたちは最新の技術と開発環境でどんどんスキルを上げるのに、

俺がやってることといえば客のフォーマットに従ったWORDソースから自動生成されたクラス図を貼り付けて説明を書くとか

Redmineバグチケット数をEXCELに集計して提出書類にするとか、そんなの。何の生産性もない。

 

このままこの会社で働き続けるなら問題ないと思う。特に俺だけ負荷が高いというわけでもない。

しかしこの環境がいつまで続くのか、誰も保障はできないだろう。

もし何かあった時、同僚エンジニア達は市場価値も高く、どんな環境でもやっていけるだろう

じゃあ俺は?EXCELWORDしか使えないエンジニアでもない俺はこの会社から放り出されたら何もできない。

 

じゃあ何したらいいかっていうのも考えられない。日々仕事は積まれていくし、もう決定的な差がついた。

あとは会社が存続することを祈りながらEXCEL使いとしてこのまま沈没していくだけだ。。。

2016-11-05

なぜソースじゃなく詳細設計を欲しがるのか

Javaを始めとするオブジェクト指向言語による開発になると、設計手法も従来とは大きく変わる。

その結果、不要になるドキュメントが出てくる。

詳細設計のことだ。

ここでいう詳細設計とは、本来コード記述する処理を、逐一日本語で書き下したものを指す。

てか、そんな物を読むくらいなら、現物ソース読めよって話だ。

だいたい、ソースに書くレベル粒度記述を、なんでいちいち日本語なんて表記揺れも甚だしいフォーマットで書かにゃならんのだ。

何よりソース修正が入ると、遡って詳細設計も直さないと整合性が取れなくなるので、言うなれば二重に工数を掛けることになる。

「違うよ、設計を直して実装するんだよ」というが、合理性を重んじるSEPGという人種が、実質同じ内容を何度も書きたがるわけがない。

それに、単体テストくらいまでの段階ならともかく、開発要員が縮小される結合テストシステムテスト以降で、そんなことをしている余裕など現場にはない。

結果、実装と合ってないドキュメントけが放置されてしまう。


でも、そうなることが目に見えているにも関わらず、欲しがる客や元請が後を絶たない。

負担ばっかり増えて、尚且つ無意味作業やらせるなって感じ。

なんでそんなに「日本語訳」が欲しいの?

ぶっちゃけソースコードレビューでいいじゃん。

もし客がソースを読めないなら、その時に客が読みたい部分だけを元請が訳して説明すればいい(全部読みたがるヒマな客なんてそうそういないだろうし)。

そして元請はITプロなんだからソースなんてスラスラ読めて当然なわけで。英語読めない英語専門家存在しないのと同じ理屈ね。

それこそ読み取り専用でリポジトリアカウントの一つや二つくらいいつでも作れるので、ソース抜き打ちレビューどうぞって話だ。


はいえ、別に何も「真実ソースただ一つ!」なんて言うつもりはない。

ソースに行き着くまでにも考えることは色々あって、その考えた結果は全て形に残さなければならない。

ソースもまた考えた結果の成果物の一形態であり、他の形態が、各フェーズで書くドキュメントなのだと思っている。

そしてドキュメントがあるお陰で、システムがトラブった時もいきなりソース問題箇所を探し回る苦労から解放されるのだ。

ドキュメントを手がかりに「このクラスの、このメソッドが怪しい」まで行き着いてから、そこで初めてソース確認すればいいと。

Javaだったら、ユースケース図、アクティティ図、クラス図、シーケンス図、Javadocによるメソッド説明と読み込んでいってアタリを付け、それから当該メソッドソースを読めばいい。

逆に言えば、記述粒度が同じ成果物は2種類以上も要らない。整合性を保つための手間が増えるだけなので。

詳細設計書は不要というのはそういうことだ。

つーか「ソースが読めないか日本語訳を渡せ」とか甘えんな

ログイン ユーザー登録
ようこそ ゲスト さん