チームリードインタビューからの質問:プロジェクトの資金を受け取って使い果たし、プロジェクトの準備ができていない場合の対処方法

実際のインタビューからの質問(6年前)



役職:Webおよびモバイルアプリケーション用のソフトウェアの開発に携わる会社の開発チーム長、チームリーダー、技術リーダー。



状況:チームはかなり長い時間プロジェクトを受け取ります。 委託条件、顧客との実施スケジュールを作成し、作業に対する段階的な支払いに同意しました。 年の計画を考えてみましょう。顧客は四半期ごとに4回支払いを行います。



1年が経過しました。 支払いはすべて、100%受け取りました。 そして、これらのタスクは80%完了しています。 さらに20%を行う必要があります。 プロジェクトアーキテクトが主張する最も重要なことは、これらの20%がモデルに収まらないため、再度書き直す必要があるということです。 私は、開発マネージャーの候補者として、状況を分析し、決定を下し、顧客と調整する必要があります。



6年前、私は混乱していました。 そして今、私は100%の答えもありません。 そのとき、私の答えは合わなかった。 今かどうかはわかりません。



画像



フィナーレが最初です。 80%の準備が整っているプロジェクトのアーキテクチャが貧弱であるために完了できない場合、アーキテクトはこのプロジェクトから解雇または削除する必要があります。 しかし、発射する方が良いです。 残念ながら。 しかし、彼はコードの美しさに固執していました。 しかし、それは柔軟に機能しませんでした。 彼には時間がありましたが、試しましたが、これは状況です。 解任し、別の人を指名します。 プロジェクトが遅れたことを顧客に知らせるには、追加の時間とお金が必要です。 また1年後に書き直します。 顧客は拒否します。 返金できません。 会社の評判は台無しです。 悪いレビュー。 またはお金を返しますが、私たちは逮捕されています。 f ** eのすべて 顧客との最終的な会話の開始時に、このフィルムでカセットを巻き戻します。



最後の秒。 プロジェクトの準備は80%、残り20%で、顧客からのお金はもうありません。 残りの20%を無料で行うようチームに伝えます。 チームの一部は、おそらく同じ日に終了します。 または、建築家の保証にもかかわらず、彼らは緊張して行います。 彼らは黒く固まり、恐ろしい恐ろしい決定、最も悪臭を放つg ****コードを書くでしょう。 顧客は3か月遅れて決定を受け取ります。 評価が保存されました。 会社が保存されました。 チームとチーム精神の一部を失った。 続行できますが、フィナーレをもう一度巻き戻します。



最後の3番目。 20%を解決できない理由をチームで調べてください。 20%を実現できないことをお客様に通知します。 私たちは真実を語り、頭に灰を振りかけます。 「彼らは最後まで努力しましたが、何も起こりません。 タスクはプログラムで解決されません。 彼らは一年探しましたが、見つけることができませんでした。 他のソリューションが必要です。 これらの20%をオフラインにして、再定式化して、別の方法で試してみましょう。 彼はすでに支払ったものとすでに使用しているものを放棄したくないでしょう。 彼は、要件を反転し、「反転」、再定式化、続行することに同意します。 評価が保存されました。 コマンドが保存されました。 建築家はコートをstrokeでられますが、救われます。 私たちは状況から抜け出たようですが、... 1年前にカセットを巻き戻します。



前編。 実際、顧客はそのような状況に対して常に過払いをします。 会社には常に在庫があるため、支払額にはリスクが含まれます。 この顧客が支払わない場合、彼は別のプロジェクトで別の支払をします。 時間を評価するとき、特に1年間は特に、チームは常に嘘をつくからです。 彼らが毎日評価した場合、3日間があります。 彼らが毎年評価したところ、3年があります。 そして、人々は常に自分の強さを過大評価しているからです。 落とし穴は前もって見えないからです。 プログラミングに加えて、設計、テスト、および操作が必要になるため、事前に計算できない大きなオーバーヘッドコストがかかるためです。 別のチームがすべてに関与しているわけではありませんが、一部は仕事なしで座ることがあります。 彼らも食べたいが、今のところ何の関係もない。 予備が必要です。 新年の贈り物には準備が必要です。 クリーナーが必要です。



したがって、1時間あたりのレートは3倍になる場合があります。 価格を下げてダンピングするチームは、説明された状況で生き残れず、何らかの問題が発生した場合、一部の反転プロジェクトの終了後に死亡する可能性があります。 または休暇シーズンを生き延びません。 または新年の贈り物をしないでください。 または掃除婦を解雇します。 そのため、最初にこのオーバーヘッドすべて、さらにはこのファイルまでもを支払うようにお客様に最初に依頼します。 そして、ある時点で在庫を取り、余分な時間を費やして、ある種の皮下脂肪チームによる20%の問題を解決します。 終了に失敗した場合、顧客は時間を失い、ゴキブリを落ち着かせ、パニックを止めてこのコードを終了するまで待つだけです。 ただし、顧客は追加料金を支払う必要がなく、チームは無料で働く必要はありません。



リメイク 次に、アーキテクトのファイルについて説明します。 はい これは彼の個人的なファイルです。 彼にウォッカを飲ませて悲しませてください。 1年で、プロジェクトが反転した場合、解雇された場合、チームが崩壊した場合、会社が破産した場合 しかし、私たちはこの状況にさえ到達しません! 私たちはチームだからです。



私が今正しい決断を下しているという事実を受け入れてください。 そのインタビューから6年が経過しました。 今、私は私の経験を共有し、私は間違っていません。



読む 受け入れましたか? 信じましたか? そして今、私はあなたが間違っていたと言います。 私はあなたに嘘をついたからです。 私は嘘をついたとは言いませんが、嘘をつきました、そしてあなたは信じました。 思考の流れを再構築し、今では正しいと判断しました。 しかし、彼は正しくありません。 そして、この一連の思考を使用すると、あなたは誤解されるでしょう。 しかし、これは感情を呼び起こすような文学的な動きです。 すべてが簡単です。 もっと普通。



私は間違っている可能性があります。 あなたは間違っている可能性があります。 顧客は、技術仕様を設定するときに間違えた可能性があります。 アーキテクトは、アーキテクチャとテクノロジーの選択を間違える可能性があります。 必要のないものを考え出す。 必要なものを思い付かないでください。 そして、開発チームは間違いを犯す可能性があります-すべてをランダムに、ひどく、そしてバグで行うことです。 用語の推定と間違えられる可能性があります。 アルゴリズムの選択を間違える可能性があります。 誰もが間違っています。 「世紀を生きる-世紀を学ぶ」というルールが関連しています。 OpenMindの原則が関連しています。 人々は間違っており、そこから学びます。 最高のプログラマーは何十回もミスを犯しました。 理想的なアーキテクチャーの背後には、多数の曲がったソリューションがあります。 主要な開発者とアーキテクトの経験の慎重に隠されたリストには、データベースのないファイル、テーブルレイアウト上のサイト、「セグメンテーションフォールト」を伴うアプリケーション「Hello、World!」に関するゲストブックがあります。



しかし、誰よりも賢い人は一人もいません。 チーム間でも賢くありません。 もう少し経験があります。 彼は自分自身を燃やし、他人を燃やさないでくださいとIFは尋ねました。 彼は勝ち、IFが尋ねた勝利戦略についてアドバイスを与えることができます。 これを行うには、尋ねる必要があります。 より経験を積んだ人が建築家であるという事実ではなく、つまり、彼は決定を下します。 彼は、ソリューションのこの部分が非常に誤動作していると言うテスターかもしれません。過去にテストを書くことができなかったからです。 これは検索エンジン最適化の専門家である可能性があります。過去のこのようなアーキテクチャアプローチのため、プロジェクトにはオーガニックトラフィックがまったくなく、検索エンジンはRIA、SPA、およびブラウザー側のみであるため、すべての美しささえ見ていませんでした。 これは、このパッケージはお客様のサーバーにあるDebian 5 + Python 2.27でまったく構築されないと言う管理者である可能性があります。そのため、既製のパッケージを使用せずにすべてのアルゴリズムを記述する必要があります。



私がすぐに浪費したカセットの最初と最後の間にある映画のその部分には、チームが一緒に決定を下せるような何かがなければなりません。これらの未解決の20%の状況を予見してください。 そこで建築家は勉強しています。 誰もがそこで勉強します。 そこで、チームは互いに助け合っています。 そこで、チームはより経験豊富になります。 彼女のスキルは成長しています。



しかし、私はこれがどのように行われるか正確にはわかりません。 私は自分のスキルをどのように高めているかを知っています。 特定の技術について助けを求める人を助ける方法を知っています。 しかし、100%正しい決定はありません。 特に、技術の選択方法やスキル向上の分野で。



たとえば、私はAngularJS 1、VUE、js 2、Twitter Bootstrap 3、Semantic UI 2、MEAN、Phalcon 3、Yii 2、Laravel 5、Grunt、SCSSを1年間にわたって研究しました。 私自身の冷静さの感覚から私の頭が回転するように、それはポンピングされました。 しかし、私が働いている会社の決定では、これらの技術は使用されていません。 それは私を誇りに思い切り、チームは私のスキルから冷たくも暑くもありません。 新しいプロジェクトにどの言語またはフレームワークを選択するかを尋ねられるかもしれませんが、選択する必要はありません。同じスタックで3年間取り組んでいるので、書き直しません。 モノプロダクト。 チームが新しいスキルを必要とする分野や状況がありました-私はこの必要性を知らなかったので、それらについては考えませんでした。



なぜこれらの技術を研究したのですか? 欲しくて勉強しました。 経験を積むほど、習得しやすくなります。 私はすでに何かを学ぶ継続的なプロセスを持っています。 他のことを学ぶことができた、私は一般的に知識に開かれている、私は試してみるのが好きだ。 質問:何を試すのですか? 今、私は一年前に私が5月にこれが起こると言われた場合、そして9月にこれが-私は必要に応じて調整し、勉強するだろうことがわかります。 自分で選んだので、チームに尋ねなかったので、ある程度誤解されていました。 5月には準備ができていませんでしたが、9月には準備ができていませんでした。 困難な状況があり、決定はランダムに行われましたが、とにかく、バグを排除し、盲目的に穴をふさぎました。 オーガニック検索から脱落する可能性のある状況をほとんど生き延びませんでした。 どういうわけか、自分自身で成長したDDoSを生き残りました。



もう1つのポイント-個人のスキルは向上しますが、会社の利益は増加しません。 今年の終わりに、私は質問を提起します。どうか、私にもっと給料を上げてください-私はとても賢くなったので、ここでこれとそれをする方法を知っています! しかし、チームが私の貢献を高く評価した場合、彼らは私について一般的に追加のリンクであると私に決定するでしょう。 私は常に何かを教えていますが、それが何かなら、「さらに勉強する必要があります。」 私は何かを知っていますが、特定の状況では何も言えません。 テクノロジーの選択に関する私の間違いは私の負担です。



長い1週間の熟考と自己掘り出し。 チームコミュニケーション。 他のチームとの協議。 同様の状況と解決策を検索してください。 ドラフトスケッチ。 起こったことは次のとおりです。uptlo.com-メインページのすべてのプロジェクトのアイデア。 私はPRしません-ほとんど何も動作しません:)しかし、私はプロジェクトがチームが正しい方向でスキルを共同で改善するのに役立つと思います。 そして、誰かが利益を得るために学びたいと思うなら、彼は現在のトピックの選択をするでしょう。 または、チームが適切なスキルを持つ人を必要としている場合、それを見せて要件を設定できます。 これは、「Phalcon / Flask / Expressでの開発経験」のような技術的なスキルに関するものではありません-チームはしばしばソフトスキルを必要とし、それはクールなスペシャリストのスキルの80%を占めます。 さて、そこでチームと意思決定を修正したり、レポートを作成したり、それらのタスクを実行したりするために、顧客と話をします。 したがって、これはあらゆる分野、あらゆる職業に当てはまります。 そして、年の終わりに、チームがどれだけ経験を積んだか、各個人がどれだけ経験を積んだかを評価します。 特に、彼は昇給に値しますか。



6年前のインタビューに関する私の映画については、「プロジェクトの資金を受け取って使い果たしても、プロジェクトの準備ができていない場合」というトピックに戻ります。



上記に基づいて、最終的なリメイク:



これで、何であるかを示して運用する準備ができました。 そして、ほとんどの場合、すでに稼働しています。 サポートチームは、フィードバック、推奨事項、提案、バグレポートをエンドユーザーから既に収集しています。 テスターはテスト中です。 デザイナーとレイアウトデザイナーは、インターフェイスを改善します。 開発チームはすでにプロジェクトを完了しています。 このプロジェクトには、アーキテクチャ的に互換性のない20%はありません 。 通常、コメントを削除するためにこのプロジェクトに取り組んでおり、元のタスクの要件を閉じるまで、追加費用としてリリースします。 ダウンタイムは発生しません。 これらの割り当て、新機能と一致しない新しい要件のリストを個別に収集します。 プロジェクトの作業を継続するために私たちのチームを選択した場合、これらおよび他の新しい機能のサポートと開発に移りましょう...私たちの映画の続編のスクリプトへ。



デジタルミゲルサントスから借りたアナログスターのカバー画像を殺しました



All Articles