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

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

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種類以上も要らない。整合性を保つための手間が増えるだけなので。

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

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

2016-02-16

SEの多いはてな民達に色々教えて欲しい入社4年目のワイ

入社して4年目である

まりコミニュケーションが得意ではないのもあって、入社直後は非常に苦労した。

正直人見知りだったのでわけのわからないことをのたまっていた時期もあった。

はいえもう4年目であり色々と手馴れてきて精神的にも余裕ができてきた。

しかも、最近現場は9時-5時で帰宅できるようになり肉体的にも余裕がでてきた。


と、ここらでレベルアップを図りたいと思っており色んな設計書の問題点を指摘した記事とかを読み漁ってきたわけだが

どうも、いまいち記事を読んでいてもしっくりこない。


アジャイルだの詳細設計書がゴミだのいろいろ指摘しているのは見かけるのだが今の自分現場環境があまりにも違いすぎてピンとこないのだ。

なんせ、入社してからやったのがガチガチのウォータフォール型の開発でアジャイルだのなんだのをまったくやったこともないからだ。


Gitなんて使ったこともないし、eclipseSVNソース管理し、古いシステムならCVSだって未だに現役がちがちだ。

幸いにもドキュメントはがっちり作ってあって過去システムがどういうものなのかはよくわかるようになっているが。


もちろん転職しちゃえとか色々まぁ考えようはあるが別に今の会社に大きく不満があるというわけではない。

そこでSE経験の長いお歴々に色々尋ねたいことがある。

機能設計書とか詳細設計書の具体例がぜんぜんわからん

http://nantonaku-shiawase.hatenablog.com/entry/2014/05/18/012107

↑上記のサイトウォーターフォール型開発の例を逐一説明してくれているがこんな一文がある。

ネット検索すると、みんなが批判している。私も作ったことがない。というか時代遅れと言われがちなSIerの私ですら書いたことが無いのに、書かせる企業 is 何。

詳細設計書という名のゴミ | Gm7add9

詳細設計書ってよくわからない - 未来のいつか/hyoshiokの日記

詳細設計書に何を書くべきか? - Sacrificed & Exploited

EXCEL設計書 Vol.1 怪文書大公開 | Same Old Lucky Day

詳しすぎる詳細設計書 - SiroKuro Page

設計書の非常識1.設計書には詳細な実装方法を書く - Sacrificed & Exploited

職業PGにわかFizzBuzz - 日々常々

ネット検索すると、みんなが批判している。私も作ったことがない。

なんだって!!!

俺は入社してからずっとガチガチに詳細設計書を書いていたし、先輩も皆書いてる。

一体どこの世界の話なんだ。

いくつかの現場にも出向したがそこでも普通に詳細設計書を書いていたぞ?


どういうことなんだこれは。

俺の想像している設計書とは実は違うものなのか?

だいたい、機能設計書なんて書いたことがない。


でもよくよく考えたら、なんだか説明されている詳細設計書と機能設計書は俺が書いている「詳細設計書」ではひとつにまとまっている気がする。

まり俺は業界標準がぜんぜん良くわかっていないのだ。

そもそもそんなのないかも知れないが。


そこで尋ねたいのは事例として機能設計書や詳細設計書の具体例が欲しい。

文章説明してるだけだとよくわからんのだ。

書籍でもWEBページでもなんでもいい。

そうじゃないとなんだかそもそも話に付いていけない。

あと、詳細設計書がかけなくなりそうだ(切実)。


テストが良くわからない

JUnitとかで機械的テストをするというのは良く聞く。

ところが俺の住んでいるところではExcelテスト項目を俺が書いて俺が単体テストを手動でやって、結合テストも俺が手やる。


結果列に○だの×だの書いて失敗したらまたやり直しだ!

延々とこれを繰り返す。


別にそれがいやだといってるわけじゃなくて(嫌だけど)、皆テストとかどうやってんの。

テストとかそもそもやってんの?

いや、テスト仕様書がないだけでテストしてんのか?



アジャイルだの何だのに手を出すのもいいのかもしれないがそもそもウォータフォールなV字モデルをぜんぜん理解し切れてない。

誰か教えてくれ。

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