1. 無料アクセス解析

crossroad's Blog

Javaを中心にした技術ネタなど。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

ソフトウェア開発における人的リソースの使い方

プロジェクト管理において、人的リソースの使い方は大きく二通りあると思います。

1.問題・役割を分担し、各人が並列で動く。
2.1つの問題に対して全員で直列に取り組む。

一般的には、1.が多いと思います。
作業を分担して並列に動いた方が、効率が良いからです。

しかし、アジャイル開発においては2.の指向が強いようです。
例えば、XP(eXtreme Programming)では、個々のタスクこそ担当者
に割り当てますが、基本的には問題を全員でシェアし、成果物である
ソースコードも全員で共有します。
コード共有所有と言うプラクティスが定められている程です。

で、実際のソフトウェア開発にどちらが適しているか。。。
プロジェクトの規模や政治的事情、チーム体制、要員のスキルレベル等の
要因によって一概には言えないと思いますが、個人的には2.のほうが
ソフトウェア開発には適している
と思います。

広く言われていることですが、ソフトウェア開発は高度な知的作業であり、
単純化された作業とは違う
からです。
単純作業であれば並列化することで効率が上がりますが、知的作業では
いかに「考えるか」が重要でその為には分担するより集中的に取り組む方が
より良い解を得られやすい
と思うからです。

1.のように並列化することによるデメリットは、

a.技術者のスキルレベルにバラツキがあるので、成果物の品質も一定しない。
 特に、今のように外注要員に依存したプロジェクトでは、組織的に技術スキルを
 共有することが困難で、より属人的な...つまり、個々の技術者のスキルに
 大きく依存している...ためより顕著な問題です。

b.プロジェクトのスピードが落ちる。
 1つの問題に全員で取り組むと効率が悪そうだが、実は並列化して
 技術者のスキルレベルに依存するほうが効率が悪い
事が多い。

 同じエラーに何人もひっかかって時間を浪費したり、1人で行き詰ってしまったり、
 開発したプログラムの品質が悪すぎて破棄せざるを得なくなったりするからです。

c.より良いか良い決方法が見つからない。
 人間、1人で考えれることはたかが知れています。3人寄れば...で
 複数人で問題に取り組むことでより良い解決方法が見つかります

d.自分さえ良ければ良いと言う発想になりがち。
分担しているので、自分の担当分さえ上手く行けばそれでよく、
 プロジェクト全体を見ようという動機が軽薄になる


 結果、互いに問題を共有したり、指摘しあったり、改善しようとしたり
 と言う活動が行なわれないので、プロジェクト全体の品質が下がる。

e.自分の担当外の部分には口出ししにくい雰囲気になりやすく、
 他の人の担当部分について意見しにくくなる

 これも、改善の活動が行なわれなくなるので、全体の品質低下を招く。

f.共通化・リファクタリングが困難になる。
 並列で動いてしまうので、共通部品化しても「今更変更できない」となったり、
 リファクタリングを拒まれたりする。

 結局、誰もが自分の担当分の手戻りを恐れているわけですが、
 これは「自分の担当」と言う意識があるからこそです。
 プロジェクトの成果物はチーム全体のものであり、プロジェクトの
 問題も全員で取り組むべきだ、と言う意識があればこのような
 ネガティブな考えは発生しないはずです。

g.スキルトランスファーできない。ある問題に対しての解・ノウハウを
 持っている人が限定されてしまうので、その人がプロジェクトを離脱
 すると、とたんに対応できなくなる。

h.ドキュメント駆動にならざるを得ない。
 暗黙値の共有がうまくできないので、いちいち形式値化=ドキュメント化
 せざるを得なくなり、ドキュメント化のオーバーヘッドがかかる
 言葉で話せば数分で済むことがドキュメント化とそのメンテナンス
 によって数十分、数時間を費やしてしまう。

などなど。。。が考えられます。


効率化を追求するあまり、並列化することが多いですが、このような
デメリットがあることも認識する必要があると思います。

関連記事
スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2006/10/15(日) 01:55:21|
  2. ソフトウェア開発 一般
  3. | トラックバック:0
  4. | コメント:0
<<ドキュメント作成...雛形は思考の足かせにもなる | ホーム | Mavenトラブル事例-site+jCoverage+ジェネリクスでユニットテストエラー>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://bagineer.blog59.fc2.com/tb.php/47-63895b19
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

crossroad

Author:crossroad
関西在住。男。
フリーランスのソフトウェアエンジニア。
エレキベース(Rock&Roll)とお酒が好物でございます。

カテゴリー

タグリスト

Java F1 フリーランス ベーシスト HARRY TheStreetSliders iPhone FX お酒 Seasar Maven eclipse Wicket マイホーム 野球 プロジェクトファシリテーション Rails Ruby UML お店 ソフトウェア Tomcat S2Flex2 jsf Teeda Eclipse タグライブラリ ajax タスク europa mylyn trac 

ブログ内検索

最近の記事

最近のコメント

最近のトラックバック

カレンダー

05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -

月別アーカイブ

全ての記事を表示する

全ての記事を表示する

Twitter


RSSフィード

リンク

このブログをリンクに追加する

アクセスカウンタ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。