SESのエンジニアがクライアントとの面接で確認するべき質問 その2
先日投稿した、SESのエンジニアがクライアントとの面接で確認するべき質問の解説の続きを書かせていただきます
その1では下記質問事項リストの支給PCのスペック〜メンバーの中に複数の案件を掛け持ちしている人がいないかについて解説しております
質問事項のリスト(その1と内容は同じです)
支給PCのスペック(遠隔操作の場合は操作先のスペックも)
担当するシステムの画面、モーダル、帳票の合計数
いつまでに何をどこまで終わらせるスケジュールなのか
メンバーの人数とその人の経験年数や経験した技術
メンバーの中に複数の案件を掛け持ちでしている人がいないか
今後、いつ何人くらい採用するのか
常駐先に技術について質問できるか
開発方法の主導権はSES(派遣元)にあるのか
自動テストコードはあるのか(改修せずとも使えるか)
GitHubなどのバージョン管理ツールを使えるか
仕様書は最新になっているのか
途中からリモート可の場合は願い出てから平均どのくらいで可能になるのか
メンバーの残業時間
深夜や休日出勤はあるか
開発環境はすでにあるのか(OSの種類や大体のバージョンも)
案件に遅れが出た場合のリカバリ方法(増員 or 残業)
ChatGPTやCopilotは使用できるか
質問の解説
今後、いつ何人くらい採用するのか
チームメンバーの数が多いのであればあまり関係ないかもしれませんが、少人数や1人(自分のみ)の案件であれば案件期間中に何人採用予定で、いつまでにメンバーを揃える予定なのかを確認しましょう
SIerのような上流工程のみ行うクライアントからの案件であれば、あまり開発についての知識がない方が担当者の方が多く、難易度や開発期間の見積もりが著しく非現実的なことがあります
私がいた案件では客先の予定では開発者が1~2名(経験年数半年)で3ヶ月で技術選定〜システム開発が終了し、その後はエンドユーザーでの動作確認が行える予定だったようですが、200近い画面と帳票で2人目が入ってきたのが私がアサインされてから2ヶ月後だったので、平均1日で1人2画面以上完成させないと終わらない日程です
周りからは1から作り直した方がいいと言われるくらいの案件でした
上記の説明を見てもクライアントの予定で終了すると思われる方の方が少ないのではないでしょうか
常駐先にシステムについて質問できるか
SIerのように開発メンバーをSESで集めている場合、常駐先にシステム開発について知識のない方が担当者の場合があります
また、開発者が1~2名の少人数で常駐先にその技術について知識がない場合はメンバー内で解決できないことがあると詰まってしまい、著しく進捗が遅れたりメンタル的に病んでしまうことがあります
SESの場合は同じ会社に勤めている場合でも、同じ派遣先に派遣されない限りは顔を合わすのも帰社日くらいではないでしょうか
また、情報漏洩の危険性もあるのでSESで強いエンジニアがいたとしても質問ができない場合も多いでしょう
また、客先の担当者が的を得ていない指示や要求をすることがあります
説明してエンジニアの意見が通れば良いのですが、通らないこともあります
その場合は適しているやり方ができず、さらに作業が詰んでしまいます
開発方法の主導権はSES(派遣元)にあるのか
こちらの内容は法律も絡んでくる内容になります
SESはクライアントに常駐することも多く派遣と混合されがちですが、契約方法によって違いがあります
準委任契約: 主導権はSESにある(クライアントが直接作業者に指示はNG)
派遣契約: 主導権はクライアントにある
SESとクライアントの契約が派遣契約であればクライアントが直接作業者に指示するのは問題ないのですが、派遣契約は労働者派遣事業の許可が必要になります
この許可は資本が多くないと取れないなど、条件が多く許可をもらっていないSES企業もあります
なので、基本的には準委任契約をしている案件が多いのではないでしょうか
また、SESは技術者派遣なので、主導権がSESにないと知識のないクライアントの方にやり方などを細かく指示されてもうまくいかないこともあります
エンジニアの業務というのはネットの情報をもとに実装することも多いのでネットに情報がない、適していないやり方を強要されても情報がなければどうしようもないです
開発方法の主導権はどちらにあるのかを確認し、クライアントに主導権がある場合はSESの営業に派遣契約なのか準委任契約なのか確認しましょう
クライアントに主導権があり作業者に直接指示をしてくるのに準委任契約にしている場合は法律違反となりますので注意が必要です
自動テストコードはあるのか(改修せずとも使用できる状態か)
1から開発する場合は問題ないのですが、現在も稼働しており、下手にシステムを止められないようなものであれば尚更、デグレには注意しなければなりません
そのため、少しの修正であっても広い範囲のテストが必要となりますし、動作確認の中で不具合があればその度に1からその範囲のテストが必要となります
自動テストがあれば、手で行うより短時間で全体的な動作確認ができるので開発に専念できますし、ないと言われればテストの期間も考えて案件が現実的な納期かなどを判断する材料になります
また、テストコードがあったとしても開発してから長期間更新されいない、バージョン上げの案件であればそのまま使うことができないなどがありますので改修なしでも自動テストが行える状態なのか確認した方が良いです
今回はここまでとなります