私は最近、まだ自分自身をセットアップしている若いハッカースペースに参加しました。幸いなことに、このスペースには作業が必要な内部プロジェクトがいくつかあり、作業を行うボランティアが不足していません。
これらのプロジェクトを整理する方法についていくつかの議論がありました。私の最近の専門的な経験はスクラムであったため、ソフトウェアプロジェクトにスクラムアプローチを提案することを検討していますが、それが適切かどうかはわかりません。
スクラムはフルタイムの小規模なチームでうまく機能しますが、この組織の性質は異なります。
- メンバーはボランティアです。一部はフルタイムの学生です。他の仕事はフルタイムで仕事をしています。実際の生活が優先されるため、誰からも一定レベルの貢献は期待できません。
- ほとんどすべての人がソフトウェアを作成する長年の経験を持っていますが、専門家やチームでこれほど多くのメンバーはそうしていません。
- プロダクトオーナーはいません。これらのプロジェクトの要件は、委員会によって決定されます。この委員会のメンバーも実装に取り組んでいます。つまり、専任の専任のプロダクトオーナーはいません。
- 期限はありません(ソフトまたはハード)。プロジェクトは完了すると完了します。
これらはかなり重要な違いですが、私は彼らがスクラムを適用するためのブロッカーになるとは確信していません。ちょっとした微調整でこのハードルを克服できると思います。
- スプリントを固定してストーリーポイントサイズを固定するが、継続時間(時間)が流動的である場合、ボランティア開発者に非現実的な配信のプレッシャーをかけることなく、繰り返しのリリースから利益を得ることができます。
- バーンダウンチャートと速度計算を捨てることができます。私が正しく理解していれば、これらは開発チームと経営陣の間の橋渡しとして機能するツールと指標です。開発者と利害関係者の両方にとって意味のある形式で進捗状況を報告するのに役立ちます。報告する人がいない(プロジェクトマネージャー、プロダクトオーナー、外部関係者がいない)ことを考えると、これを完全に削除できると思います。
微調整を必要としないメリットがあると思います。
- 要件収集会議(複数可)。全員がテーブルの周りに座って、ユーザーストーリーについて議論し、UIモックをスケッチし、製品バックログを作成します。
- スプリントの回顧展。これは、ボランティアチームとして機能する開発プロセスに集中するための興味深い方法です。
よくわからないこと:
- 毎日のスタンドアップはどのように扱われるべきですか?私たちの環境では、彼らは非常に価値があるのでしょうか。スタンドアップ式の儀式についての私の理解は、チーム全体に自然に情報を広めることでコミュニケーションを支援することです。私たちのスプリントはおそらく平均的なスプリントよりもはるかに少ない複雑さを提供する可能性があるという事実を考慮すると、他のすべてのチームメンバーの進捗状況/開発に遅れをとる必要が少なくなる可能性があります。
- 継続的インテグレーション、コードレビュー、TDDなどのXPを推進すべきですか?私はこれが多くを求めているのではないかと心配しています。人々がスクラムに精通し、チームとして働くようになれば、将来のプロジェクトでこれらの概念を取り入れたいと思うでしょう。
私の質問:
スクラムはボランティアベースの環境に適応できますか?
そして、私の計画したアプローチはこれまで正しい方向に向かっていますか?