統合されたワークフロー。 成長するIT企業の問題を​​解決します。 パート1

こんにちは、Habraコミュニティです!

長い間、私は資料を書いていませんでした。 しかし、今は無料の時間がありました( ブナにドライブがないため、ディスクからの結婚式の写真が3つのiMacからマージされます:)が 、ワークフローに関する資料を投稿することにしました。 私たちは日当たりの良いモルドバ出身の若いフルーツウェア企業であり、私自身はコマーシャルディレクターとエグゼクティブディレクターのポジションを兼ね備えていますが、奇妙なことに、Webプログラミングの経験が最も豊富です。



私たちの会社は、5人の「ガレージ」スタジオから40人の真剣な組織へと1年半でかなり長い道のりを歩んできました。

正直に言うと、8倍に増やすことは最も苦痛のないプロセスではなく、私たちは何度も熱中してきました。 しかし、私たちの過ちからもっと学び、見知らぬ人から少し学ぶことで、技術機器からプロジェクト管理まで、作業指示書を作成しました。





レッドマイン







主なツールは、CRMシステムがインストールされたRedmineです。 そこで、プロジェクトを保存し、彼のwikiにそれぞれに関する情報を統合します。 組織ごとに、クライアントごとにカードがあります。 新しい注文はそれぞれ、販売目標到達プロセスのトランザクションによって修正され、各支払いの前に請求書が生成されます。 また、Redmineのマイルストーンを使用して、スプリントの作業を整理し、タスクを予定時間に割り当て、実際の人件費を示します。 同じデータを使用して、従業員の仕事と給与と賞与の計算を検証します。



Git







すべてのコードをGITに保存し、ドイツの専用サーバー(Hertzner)に配置します。 各開発者には、問題を記録するための個別のftpアカウントがあります。

GIT管理インターフェイスについては、現時点ではn98-gitosis-adminインターフェイスでgitosysを使用していますが、 GitLabに注目しています。



IDEと標準







コードを記述するための企業標準、企業IDE(PHP Storm)、および作業のための一連のプラクティスがあります。

本質的に、これにより、通常の作業の標準化、開発者に簡単にアプローチでき、通常どおり、自分のコンピューターまたはラップトップのコードを変更したり、コードのレビューを行ったり、デバッグを支援したりできます。



人員配置







私たちのプロセスで最も重要なことは、すべての公務を伴う人員配置表です。 これは、作業と責任範囲の決定に大いに役立ちます。

階層は非常に単純です-それらはピラミッドの頂点で機能します: エグゼクティブ、コマーシャル、テクニカル、アートディレクター 。 テクニカルディレクターの指揮下には、次のような開発部門があります。

  1. ウェブ開発部
  2. フロントエンド開発部門
  3. 品質保証部
  4. モバイル開発部
  5. 研究開発部


各部門には独自の章があります-マネージャーと技術専門家を組み合わせた人です。

開発部門に加えて、アートディレクター、 サポートおよびカスタマーケア 部門の指揮下で運営されるアートおよびデザイン部門 、商業ディレクターが管理するセールス部門もあります。



作業プロセス







階層を整理したようです。次に、最も重要な階層であるプロジェクトで作業するプロセスに移りましょう。

まず、新しい注文に精通します。私たちの仕事は、クライアントの問題を理解し、広告、デザイン、またはその分野でソリューションを提供することです。 これを行うには、セールスディレクター、アートディレクター、システムアナリスト、およびアカウント(彼はマネージャーでもある)がクライアントと会うか、交渉する必要があります。 私たちは一緒に、問題の明確な説明、クライアントが私たちに期待すること、私たちが彼のために何をする準備ができているかについて、商業的な提案またはプロジェクトのビジョンを形成します。 この文書に基づいて、関連部門の長が作業量を決定し、予算が編成されます。 この段階では、予算は概算または最終予算にすることができます(すべてプロジェクトのサイズとそのXファクターに依存します)。

さらに、主な同意を得た後、プロジェクトの声明が形成されます-機能のより完全な説明。 声明に基づいて、コストは詳細であり、すでに前進を受け取った後、最も重要なことが始まります-仕事の声明の執筆。 TKは、予算を超えないように、部門の長とともにシステムアナリストによって作成されます。







次に、ToRに従って、2つのドキュメントがコンパイルされます。大規模なタスクのリスト( 時間制限なし )と詳細なタスクのリスト(タスクごとに4時間以内 )の見積もりです。

最終幹部、クライアントアカウント、システムアナリスト、および関係部門の責任者( QAを含む )が会議を開き、全員が同じ方法で直面するタスクを理解できるようにプロジェクトについて話し合います。 会議の後、見積もりとタスクのリストの両方が指定されます。

スプリントプランニングのスタンドアップが行われています-すでに執行者、マネージャー、チームリーダー、または必要に応じてシステムアナリストに代わって部門長がいます。 次に、最初のスプリントのマイルストーンがredmineに設定され、最初のバージョンの準備状況の最終的な検証可能なインジケーターが決定され、マイルストーンwikiに記述されます。

その後、すべてが多くの人に馴染みのあるシナリオ(最大15分の日中のスタンドアップ)-昨日やったこと、今日何をする予定、どんな問題が発生したかに従っています。

スプリントは、何が行われたかをレビューするスタンドアップで終了し、結果の製品をマネージャーに見せます。 この会議の前に部門長が必須のコードレビューを行います。 次に、必要に応じて、発生した問題のスプリントと議論について振り返ります。

最初のスプリントの後、プロジェクトが完全に準備できるまで、すべてが繰り返されます。 必要に応じて、中間結果がクライアントに表示されます。



メリット



  1. プロジェクト管理の問題を解決します-可能な締め切りは1日で、最大は1段階です。 そして、通知は最も早いです。
  2. すべての情報は1つの場所-redmineに保存されます。 他の人のプロジェクトをすばやく掘り下げたり、潜水せずにそのステータスを追跡したりする機会は常にあります。
  3. すべてのファイルはバージョン管理されているため、相互にやりすぎたり、編集内容が失われたりする危険はゼロになりがちです。 個別のFTPアクセスにより、不正なファイルをdevにアップロードしたユーザーを確認できます。
  4. 強力なサーバーを使用すると、多くのプロジェクトを同時に操作できます。
  5. 統合開発ツールを使用すると、他の人を助けたり、ペアで作業したり、コードレビューを実施したりするのが簡単になります。
  6. 明確な責任範囲を設けることで、問題を特定し、ミスを犯した人(スイッチマンではなく)を見つけ、再発を防ぐことができます。
  7. 開発プロセスはマネージャに対して透過的であり、必要に応じてクライアントに対して透過的になることができます。




未来



もちろん、私は最終的なパフォーマーのプロセスに負担をかけることなく、あらゆるものを紹介したいと思います。 近い将来:

  1. バージン(カピストランまたは工場)での自動展開の実装
  2. 新しいプロジェクトの作成プロセスの自動化-redmineでプロジェクトのリポジトリを作成することから、g​​itでコミットすることでタスクを閉じるまで。
  3. 特定の従業員の効率係数と特定のプロジェクトの経済効率の自動計算による詳細な分析の実装。




その他。

ご清聴ありがとうございました。ご質問にお答えさせていただきます。



PS "なぜパート1?"、あなたは尋ねるかもしれません。 記事が肯定的な反応を引き起こす場合、カードを開く-スタッフリストを共有し、redmineのセットアップについて話し、PHPStormの設定などを提供するからです。



All Articles