apeescape2.com
  • メイン
  • リモートの台頭
  • ブランドデザイン
  • ライフスタイル
  • Webフロントエンド
プロジェクト管理

かんばんとTrelloを使用してソフトウェア開発を管理するための初心者向けガイド

誰もがプロジェクトマネージャーです。新しいアプリケーションの開発を管理してスタートアップを成長させたり、新しい10億ドル規模のエンタープライズプロジェクトに取り組んだり、DIYの造園で庭を盛り上げようとしたりする場合でも、常にプロジェクトを管理しています。

プロジェクトの成功は多くの要因に依存しますが、プロジェクトが失敗する最も一般的な理由の1つは、管理の欠如または完全なものです。 悪い プロジェクト管理。チームがどれほど小さくても、または要件がどれほど明確に文書化されていても、チームを適切に管理しないと、プロジェクトは必ず失敗します。

プロジェクトの管理に費やす毎分は、十分に費やされた時間です。それはあなたのプロジェクトの成功に近づくでしょう。

アジャイルプロジェクト管理は、現代のソフトウェア開発プロジェクトにアプローチするための広く受け入れられている方法です。しかし、何をしますか アジャイル 本当に意味?



アジャイルプロジェクトは、プロセスの不可欠な部分として、スコープと要件の頻繁な変更を受け入れます。

アジャイルの原則をさらに深く掘り下げるには、 アジャイルプロジェクトへの究極のガイド 管理。

この投稿では、かんばんを使ったアジャイルプロジェクト管理の基本について説明します。

アジャイルの原則を内外で理解している経験豊富なプロジェクトマネージャーであっても、記憶をリフレッシュし、コアコンセプトを思い出す必要があります。イノベーションサイクル ソフトウェア開発 は絶えずスピードアップしており、反復ごとにプロジェクト管理がより複雑になっています。アジャイルの基本原則に戻り、コア原則を固めることは常に重要です。結局のところ、繰り返しはすべての知識の母です。

かんばんは、アジャイルソフトウェア開発プロジェクトを管理する最も簡単な方法の1つです。同じオフィスまたは分散したチームから、複数のタイムゾーンに分散して作業するローカル開発チームを簡単に処理できます。

かんばんはプロセスではありません。これは、チームの確立された運用活動への最小限の変更でプロセスを管理する方法です。

かんばんの原則を作業に適用するには、次の2つの簡単なルールを適用する必要があります。

  1. プロセスを視覚化します。
  2. 進行中の作業を制限します。

プロセスを視覚化する

データの視覚化は、普遍的で理解しやすい方法で情報を伝えるための迅速で簡単な方法です。写真を見るとき、人間の脳は複数の情報を同時に処理することができます。一部の研究によると、これはテキストを読むよりも最大60,000倍速くなる可能性があります。

私たちの視覚のための脳ニューロンは 30パーセント 脳の灰白質の

プロセスを視覚化する最も一般的な方法は、かんばんボードです。かんばんボードは、垂直方向に複数の列に分割されたボードであり、各列はプロセスの1つの状態を表します。

単純なソフトウェア開発ボードがどのように見えるかを見てみましょう。まず、開発機能の状態を定義する必要があります。

  1. やること -機能は開発を待っています
  2. 開発 -機能は開発者に割り当てられており、開発者はそれに取り組んでいます
  3. 品質保証 -機能はレビュー中です
  4. 展開 -機能が受け入れられ、アプリケーションリリースに含まれます

これに基づいて、ボードのレイアウトは次のようになります。

To-Do、Development、Quality Assurance、Deployedの4つの列を持つTrelloボード。

個々のタスクの視覚化は、実行する必要のある作業を表す単純なカード(ポストイットのようなもの)を作成するのと同じくらい簡単です。タスクに名前を付けたり、割り当てられた開発者の名前、期日、およびその他の関連情報をこのカードに追加したりできます。

ソフトウェア設計文書の書き方

そのカードをかんばんボードの列に追加すると、たとえば、特定の開発者が特定の日付に期限があり、現在開発中の特定のタスクに取り組んでいることが視覚化されます。

Trelloカードのクローズアップ。ラベルには、タスクの色のラベル、タスクのタイトル、タスクの期日、タスクの説明のプレゼンスインジケーター、コメントカウンター、添付ファイルカウンター、チェックリストアイテムの合計の割合、および割り当てられた人のインジケーターが強調表示されています。

仕掛品の制限(WIP)

人間のマルチタスクは妄想です。 1つまたは2つのことに同時に注意を払う代わりに、私たちの脳はそれらを非常に迅速に切り替えています。

これは、ソフトウェア開発において他のどこよりも顕著です。開発者は一度に1つのコードでしか作業できず、別の機能に切り替えると遅延が発生し、集中力とパフォーマンスに影響します。

これは、割り当ての数を一度に1つに制限する必要があるという意味ではありません。開発は複雑で創造的な作業であり、一部のタスクは完了するのに時間がかかり、他のタスクは完了するのに時間がかかりません。開発者が何かまたは誰かを待っている間は常に遅延があります。重要なことは、割り当てられたタスクを、混乱を引き起こさない妥当な数に制限することです(これは通常、一度に3〜5回の割り当てです)。

開発チームが2人の開発者と1人のQAエンジニアで構成されているとすると、ボードには次のWIP制限がある可能性があります。

  • To-Do-無制限
  • 開発-6枚のカードの制限(2人の開発者はそれぞれ最大3つのタスクに制限されています)
  • 品質保証-3枚のカードの制限(1人のQAエンジニアは最大3枚のカードに制限されています)
  • 展開済み-無制限
開発者が賢明であると期待しないでください、そして彼ら自身で彼らのWIPを制限してください。 To-Doリストから開発者にすべてを投げると、子供にたくさんのおもちゃを与えるようなものになります。 1つのおもちゃで遊ぶ代わりに、彼らはただそれらを投げて、あなたのきちんとした家に混乱を引き起こします、そしてそれでも、彼らは幸せではなく、あなたはかんしゃくを期待することができます。

プロジェクトマネージャーとしてのあなたの仕事は、To Doリストに適切な優先順位が付けられ、タスクが必要なときにすぐに開発者に割り当てられるようにすることです。

最初のボードと似ていますが、2番目の列がWIPと呼ばれ、赤い線が

適切に管理されたかんばんボードは、プロジェクトのステータスを一目で明確に示します。開発者には十分な作業があり、割り当てが完了したら引き継ぐことができる新しいタスクを準備し、QAエンジニアが新しいタスクのレビューを待っていることがわかります。

Trelloを使用してかんばんボードを管理する

Trello Webベースのかんばんプロジェクト管理アプリケーションです。これにより、チームメンバー間、さらには複数のチームやプロジェクト間での簡単なリアルタイムコラボレーションが可能になります。

Trelloでボードを作成するには、[Create new board…]メニュー項目をクリックして、ボードのタイトルを設定します。

Trelloでボードを作成するスクリーンショット。そこ

空のボードから始めます。 「リストの追加…」ボックスを使用して、かんばんカードの列を作成します。

Trelloにタスク列を追加するスクリーンショット。新しい列

リストの下部にある[カードを追加...]をクリックすると、タスクを簡単に作成できます。作成する各カードは、チームメンバーによって実行されるタスクを表す必要があります。

Trelloのカードは、さまざまな方法でカスタマイズできます。

  • タスクの実行を担当するチームメンバーを割り当てます
  • 追加したい特定のグループに応じて色分けします
  • 期日を設定する
  • 添付ファイルを追加する
  • タスクを構成する小さな要素の進行状況を追跡できるチェックリストなどのカスタムフィールドを追加します
  • チームメンバーはカードにコメントすることができ、変更が加えられた場合は全員に通知されます。

Trelloカードのスクリーンショット

かんばんでは視覚化がすべてなので、ボード上でのカードの外観は次のとおりです。

Trelloボードレベルで表示した前のカードのスクリーンショット。前に説明したものと同じ要素がありますが、最新のカードと一致しています。

カードを見るだけで、詳細ビューを開かなくても、次のことがわかります。

  1. GitHubコードリポジトリを設定するタスクは、To-Doリストで実行されるのを待っています。
  2. タスクの期限は1月27日です。
  3. タスクには説明があります。
  4. タスクに関するコメントが1つあります。
  5. 2つの項目のチェックリストがあり、これらの項目は現在完了していません。
  6. タスクはユーザーDSに割り当てられ、ユーザーDSが次にタスクを取得します。
  7. タスクは緑色のカードのグループに属しています。つまり、プロジェクトを開始する前にタスクが必要です。

開発作業の時間と複​​雑さを見積もる

プロジェクトの計画と管理は、特定のタスクを完了するために必要な労力と時間を理解しないと不可能です。ただし、ソフトウェア開発で行うのが最も難しいことの1つは、新しいソフトウェア製品または機能を提供するのにかかる時間を決定することです。

スクラム 最も人気のあるアジャイル原則の1つである、は、時間に基づいているか「複雑さのポイント」に基づいているかにかかわらず、見積もりに大きく依存しています。

ラズベリーパイ3Linuxサーバー

チームは、タスクの調査にかなりの時間を費やす必要があります。

これは、スクラムがタイムボックス化された間隔に基づいており、特定のタスクグループが完了すると予想されるためです。配信を計画するには、そのタイムボックスで計画されているすべての作業を完全に理解する必要があります。

かんばんはタイムボックス配信に依存しておらず、必要に応じて毎日の配信を計画できます。これはフローの最適化に依存しています。つまり、チームの焦点は、できるだけ早くWIP列を完成させて空にすることです。

チームは、事前に作業を見積もるのに時間を費やしていません。開発者はTo-Doから次のアイテムをピックアップします。できるだけ早く完了してください。そして別のタスクをピックアップします。

これは、チームがワークロードの量を見積もるべきではないという意味ではありません。

毎週または毎日の通話を使用して、期日を更新および確認できます。

ただし、小規模なチームの場合、開発者が常に最も優先度の高いタスクに取り組んでおり、ボトルネックがないことを確認して、開発者に作業を一時停止させることがより重要です。

最終的に、プロジェクトは成長し、開発作業の量をより詳細に見積もる必要があります。この状況になったら、ガイドを読んでください。 アジャイルプロジェクト管理におけるソフトウェアコストの見積もり 。

必須の管理慣行

これまで、プロセスを視覚化してWIPを制限することの重要性と、Trelloを使用してプロジェクトを管理する方法について学習しました。

ただし、ソフトウェアプロジェクトは、カードと列だけで管理することはできません。したがって、アジャイルのベストプラクティスも実装することが重要です。

  • 定期的なチームミーティングを開催します。
    これを少なくとも毎週実行して、実行されたことを確認し、必要に応じてバックログ(To-Doリスト)を調整して優先順位を付けます。このようにして、チーム全体が同時に更新を取得し、アイデアを共有できます。これらの会議では、プロジェクトの利害関係者(クライアント、企業のCTO、または決定を下して質問に答えることができる製品チームの誰か)がいて、最終的に非技術的なフィードバックを提供することが重要です。

  • 個々のチームメンバーとの絶え間ないコミュニケーションを確保します。
    これにより、全員の日常業務がはるかに簡単になります。これらの会議や同期は非常に短くシンプルに保ち、お気に入りのチャットプログラムをすばやく更新するだけで十分です。毎日チェックインするのは便利です。これは、チームとの1日15分の会議になる可能性があります。この会議では、すべてのチームメンバーが数秒間次のように話します。

  • 彼らが昨日取り組んだこと。
  • 彼らが今日取り組む予定のこと。
  • 彼らが直面している課題やボトルネック。


通話中にメモを取り、考えられる問題(ブロッカー、タスクへの誤った集中、予期しない技術的課題)を見つけるために注意を払い、チームと協力して作業します。

ソフトウェア開発プロジェクトをブートストラップする

ソフトウェア開発プロジェクトはそれぞれ異なりますが、ほとんどすべてのプロジェクトに特定のタスクがあります。ソフトウェア開発プロジェクトを開始するときに計画する必要のあるタスクのいくつかを次に示します。

  • コードのバージョン管理とリポジトリを設定します。
    変更の追跡とコードの監視は、特に複数の人が同じコードを更新するプロジェクトで共同作業を行う場合に非常に重要です。

    コードバージョニングで最も人気のあるサービスの1つは GitHub 。 GitHubは、Gitのすべての分散バージョン管理およびソースコード管理(SCM)機能を提供するWebベースのGitまたはバージョン管理リポジトリです。

    アクセス制御と、バグトラッキング、機能リクエスト、タスク管理、すべてのプロジェクトのWikiなどのいくつかのコラボレーション機能を提供します。

  • データベースのバックアップポリシーを定義します。
    GitHubなどのサービスを使用すると、コードが定期的にバックアップされることが保証されます。

    通常、データベースはバージョン管理システムの一部ではないため、データベースのバックアップも頻繁に設定する必要があります。

    開発プロセスはエラーが発生しやすく、開発中に間違いを犯したり、間違ったデータを更新したりするのは簡単です。このような問題が発生した場合、バックアップを作成することで問題を回避できます。

  • コラボレーションツールとファイル共有を設定します。
    プロジェクトのドキュメント、機能仕様、設計ファイル、およびプロジェクトの開発中に使用されるその他のドキュメントとファイルは常に更新されているため、チームに配布する必要があります。

    これらのファイルを共有するには、さまざまなサービスを使用できます。 Googleは、この問題に対するシンプルで費用効果の高いソリューションを許可しています。 Googleドライブ、Googleドキュメント、Googleスプレッドシート、その他のGoogleアプリを使用して、ファイルを共有したり共同編集したりできます。

  • 個別の開発サーバーとテストサーバーをセットアップします。
    開発プロセスは常に継続する必要があります。

    開発者は、アプリケーションテストの結果を待つべきではなく、品質保証が完了した機能をレビューしている間、割り当てに取り組み続ける必要があります。

    同時に、クライアントは、開発チームを待たずに、いつでもアプリケーションの現在の状態を確認できる必要があります。定期的に更新される専用のテストサーバーを使用すると、このプロセスのすべてのボトルネックが解消され、チームが中断することなく実行されます。

  • 毎週のチームコールの固定時間を定義し、毎日のチームキャッチアップコールまたはチャットの固定時間を定義します。
    チームメンバー全員に、電話や会議の時間をカレンダーでスケジュールしてもらいます。これにより、作業を中断することなく、チームに安定したスケジュールを提供できます。

取り除く

プロジェクト管理は複雑で、非常にストレスの多い活動です。それに構造を追加し、プロジェクトのステータスを常に表示して正確にすることで、このストレスの多くが軽減されます。かんばん方式とアジャイル原則を適切なツールと組み合わせて使用​​すると、時間を大幅に節約できます。

そうは言っても、プロジェクトマネージャーとしてプロジェクトの管理に専念しなければならない時間を補うツールや方法論はありません。

また、プロジェクトが小さいからといって、必ずしも時間がかからないというわけではありません。この考え方は、将来の大きな頭痛の種の素晴らしいレシピです。

プロジェクトが適切に管理されているかどうかを確認するのに役立つ簡単なチェックリストを次に示します。

  1. プロセスは適切に視覚化されていますか?
  2. 各チームメンバーのWIPは制限され、最小化されていますか?
  3. あなたのチームは、毎週または毎日、一貫してスケジュールされた会議を持っていますか?
  4. かんばんボードは定期的に更新されていますか?
  5. コードリポジトリはありますか?
  6. データベースのバックアップをスケジュールしましたか?
  7. チームのコミュニケーションおよびコラボレーションツールを設定しましたか?
  8. 開発環境は、テスト、受け入れ、本番から分離されていますか?

このリストは明確ではなく、完了しているわけではないことに注意してください。それはほんの始まりです。

コメントを残し、ソフトウェア開発チームに力を与えるという終わりのない旅を始めたばかりのプロジェクトマネージャーとヒントや実践を共有してください。

シニアRubyonRailsエンジニア

その他

シニアRubyonRailsエンジニア
エンタープライズクライアントサービスディレクター、コミュニケーション、メディア、エンターテインメント、テクノロジー

エンタープライズクライアントサービスディレクター、コミュニケーション、メディア、エンターテインメント、テクノロジー

その他

人気の投稿
AWSを使用した柔軟なA / Bテスト[メール保護]
AWSを使用した柔軟なA / Bテスト[メール保護]
なぜこれほど多くのPythonがあるのですか?
なぜこれほど多くのPythonがあるのですか?
Firebase認証を使用してロールベースのAPIを構築する方法
Firebase認証を使用してロールベースのAPIを構築する方法
適切に構造化されたロジック:GolangOOPチュートリアル
適切に構造化されたロジック:GolangOOPチュートリアル
ApeeScapeは、スタートアップ起業家に低コストでエリートプログラミングの才能を提供します
ApeeScapeは、スタートアップ起業家に低コストでエリートプログラミングの才能を提供します
 
スケッチとルーパーを使ってすぐに心を曲げるイラストを作成する
スケッチとルーパーを使ってすぐに心を曲げるイラストを作成する
ミニチュートリアル–Figmaボタンコンポーネントの操作
ミニチュートリアル–Figmaボタンコンポーネントの操作
Android開発者が犯す最も一般的な間違いトップ10:プログラミングチュートリアル
Android開発者が犯す最も一般的な間違いトップ10:プログラミングチュートリアル
最高のデータ視覚化ツールの完全な概要
最高のデータ視覚化ツールの完全な概要
将来のUIとデザインサンドボックスの終了
将来のUIとデザインサンドボックスの終了
人気の投稿
  • 企業がサプライヤーの力を減らすことができる最も一般的な方法の1つは何ですか?
  • 誰かのクレジットカード情報をオンラインで取得する方法
  • 近接性の原理は次のように述べています
  • eコマースのウェブサイトのデザイン
  • 角度4フォーム検証の例
  • Windows10はどの言語で書かれていますか
カテゴリー
設計プロセス バックエンド 分散チーム 計画と予測 技術 リモートの台頭 収益性と効率性 Kpiと分析 ブランドデザイン 製品の担当者とチーム

© 2021 | 全著作権所有

apeescape2.com