ラベル 『組込みソフトエンジニアを極める』メーキング の投稿を表示しています。 すべての投稿を表示
ラベル 『組込みソフトエンジニアを極める』メーキング の投稿を表示しています。 すべての投稿を表示

2007-07-14

トム・デマルコの「プロジェクト管理」がわかる本

昨日、久しぶりに池袋のジュンク堂に行った。コンピュータ関連のフロアを一通り眺めてみた感じたのは、組込みソフトの本とテスト系の本がここ2~3年でかなり増えたなあということだ。

組込みソフトの本で痛切に感じたのは、組込みソフトだからといって作る対象製品を特定せずに、CPUや周辺デバイスをインタフェースするドライバや、ソフトウェアの作り方を一冊の本で説明してしまうのはどうかなということだ。

なぜかというと、組込みソフトは制約条件や業務ドメイン、商品群、商品を投入する市場によって、アーキテクチャが変わるし、目的を達成する方法も一つではないので、どんな組込みソフトの分野にも効くゴールドスタンダードはないからだ。

ゴールドスタンダードがあるように読者に期待させると嘘になると思う。だから、『組込みソフトエンジニアを極める』では電子レジスタ商品群という具体的なモデルを対象にして、要素技術から商品群全体のアーキテクチャ、品質向上技術、再利用施策について書いた。、『組込みソフトエンジニアを極める』の読者が、自分たちの業務ドメインでそこに書かれている内容を現場で活かすためには、電子レジスタのモデルで展開された具体的な例を、自分たちのプロダクトだったらどういう風に適用すればよいのか、どのように投影すればよいのか考えないといけない。

どんな組込みソフト開発でも「こんな風にやれば成功しますよ」とは書いていないので、もどかしいと思う方もいるかもしれない。仮想の電子レジスタの開発という具体例で、組込みソフト開発の全体の流れや、技術者としての考え方、モチベーションの持ち方をつかんでもらい、自分達の開発現場にその考え方を投影し、展開する必要がある。

そして、この本の中に出てくる個々のソフトウェア工学の技術、たとえば、リアルタイムOS、オブジェクト指向設計、要求分析技術、テスティング技術などはそれぞれ専門書で勉強して欲しいと思う。「こういときに、こういう専門技術が必要なのだ」というあたりをつけて欲しい。

組込みソフトエンジニアを極める』は組込みソフト開発に対してエンジニアがどのようなスタンスで取り組めばよいのかを考えるガイドラインとしてとらえてもらえるとありがたい。そういう視点で見てもらうと、組込み系では他に類似する本はまだないと思う。

組込みソフトで難しいのは、ここの技術を深く掘り下げて解説する本は書きやすいのだけれど、それらの技術を使って個別の開発を成功させるにはどうすればよいのかについては、その商品をどんなもので、どんな市場に対してどんな制約下で作ろうとしているのかが分からないと最適な方法論をサジェスチョンできないという点だ。

だから、組込みソフトの商品開発に深く入り込んで、開発を成功に導いたコンサルタントはその方法論を知っている筈だが、守秘義務があるのでその核心部分を公にはできない。

さて、前置きが長くなったが、ジュンク堂で良い本を見つけた。『トム・デマルコの「プロジェクト管理」がわかる本―ポケット図解』(吉平 健治著)¥735- だ。

この本は、トム・デマルコの著書『ピープルウェア』『デッドライン』『熊とワルツを』のエッセンスを図解で分かりやすく示してくれている。同じシリーズに『ピーター・ドラッカーの「マネジメント論」がわかる本-ポケット図解』もあるので、これも後で買おうと思う。(ピーター・ドラッカーの原本の方は斜め読みがしにくくめげている)

トム・デマルコの「プロジェクト管理」がわかる本―ポケット図解』もまだ、読み始めたばかりだが、最初の1-1がプロジェクト管理の本質を示していると思うので、最初の部分から全体を推し量ってもらうべくここで紹介したい。

【『トム・デマルコの「プロジェクト管理」がわかる本―ポケット図解』 1-1 プロジェクト失敗の本当の原因は? より】

1. 本当の原因は人間の中に存在する社会学的問題

 確かに生産性や品質は向上したでしょうが、実際、プロジェクトに対する要求の複雑化、規模の増大は、このような技術の対応だけでは追いつかないところもあります。デマルコは、プロジェクトの失敗の原因は技術的な問題ではなく、実は、プロジェクトとそのチームの「社会学的」な問題によって引き起こされていると宣言しています。チームメンバーの意思疎通が疎かになったり、働く意欲が欠如したり、あるいは退職してしまったり、プロジェクト管理者への不信感が募ったりなどなど、人そのものと人に関する問題がトラブルの原因になっているのです。そらに事態を悪くしているのは、この事実を管理者たちが理解していないことだと彼は言います。

2. 開発者は交換可能な部品ではない

 ソフトウェアは結束したチームによって開発され、他の多くのチームや部署とコミュニケーションしながらでき上がるものです。本当にハイテク技術を使っているのは一部の「研究者」と呼ばれる人たちで、ソフトウェア開発者は実際には「人間関係ビジネス」に携わっているのです。したがって、開発者を機械のように交換可能な部品として考えるのは大変危険です。この危険な傾向が管理者たちの間でまかり通っていると、デマルコは警鐘を鳴らしています。

【引用終わり】

他にもさまざまなベストプラクティスについて書かれているので、まず、この本を眺めてからデマルコの原書を読むとよいと思う。

2006-04-12

缶バッジ

4月11日は、『組込みソフトエンジニアを極める』の打ち上げだった。メンバーは日経BPの編集の柳田さんと、人物イラストをデザインした武工房の武田亜樹さんと、制作会社のクニメディアのお二人と自分の5人。

この打ち上げに前に、何か記念になるものを作ろうという遊び心が沸々とわき上がってきた。そこで、思いついたのが缶バッジだ。缶バッジとは、金属の丸い素材に写真やイラストを丸く切ったものを重ね、さらに薄い透明のフィルムを重ねて、缶バッジ製造器でまず上から押さえ込んで包み込むようにして、その後下からベース素材をはめ込んで、最後に安全ピンがついた部品を差し込んで完成となる。

これは子供のおもちゃ(約4000円)なのだが、完成したバッジは売り物にできそうなくらいきれいになる。

通常は印刷した写真や缶バッジ製造器に付属のイラストでバッジを作る。それだけでも子供は大喜びなのだ。でも、大人が作るからにはちょっと工夫したい。そこで、武田さんが作った本に登場する主人公の組田鉄夫のイラストをベースにクニメディアのデザイナーさんが作った本のタイトルロゴを使いスタッフバッジを作った。そして、スタッフリストで中央のデザインをくるんでみた。

打ち上げの席でも好評だったので、失敗を繰り返しつつ完成させた甲斐があった。最初失敗したのは、イラストをきれいに出すためにプロフェッショナルフォトペーパーという写真印刷用の用紙を使ってインクジェットプリンターで印刷したのだが、これが紙の厚みがかなり厚かったため缶にくるめたあと、ベース素材がうまくはまらないのだ。かといって通常のコピー紙を使うと色がきれいにでない。紙質(厚み)と発色のきれいさをトレードオフしながらちょうどいいところをねらって試行錯誤を繰り返していたら結構な数の失敗作ができてしまった。

でも、よく考えるとこれって組込みソフトの開発によく似ている。すり合わせで試行錯誤しながら完成させて満足がいく結果が出たときの喜びは大きい。さらに、できあがったプロダクトがユーザーに評価されれば喜びは倍増する。

『組込みソフトエンジニアを極める』でも書いたが、市場やユーザーの求めているものと、組織の目標とエンジニアの思いの3つのオーバーラップが大きければ大きいほどすべての人がハッピィになれる。

なかなか、現実は厳しいもので、思ったようにはいかないが、常に Win & Win の関係になれるように努力していけば仕事へのやりがいが増すはずである。

やっぱりものづくりは楽しいのでやめられない。

2006-03-18

なぜ、『組込みソフトエンジニアを極める』を書いたのか?

書籍 『組込みソフトエンジニアを極める』 を一言で 語れと言われたら、「この本は組込みソフトウェア開発のコンセプトモデルだ」と言うだろう。

本の中で、組込みソフトウェア開発で使えるテクニックやアクティビティを具体例を示しながら紹介しているが、それはあくまでも”例”であって、その通りに実施してもらうことがこの本の目的ではない。

真っ白なキャンバスのように何にも毒されていない、目をキラキラさせた新人技術者ならいざしらず、何年も何十年も自分のスタイルで組込みソフト開発をやり遂げてきた技術者の開発スタイルを本一冊読んだだけで変えることなどできるはずがない。

な ぜ、この本を組込みソフトの開発現場にいる技術者やマネージャに読んでもらいたいかと言えば ”技術者である自分” と ”組織” と ”ユーザー” の要求、要望をオーバーラップさせ、モチベーションを高めながら顧客満足を高めるには、どんな気持ちで仕事に取り組めばいいのか、また、どのようなスキル を習得すればよいのかを考えるきっかけにしてもらいたかったからである。

それを伝えるために「東洋電子レジスター株式会社」という架空の電子レジスターの会社を作り、新人、中堅、ベテラン、ハードウェア出身のマネージャ、ビジネス系エンジニアという5人の人物を登場させ、本の中で彼らにいろいろ語らせ行動してもらった。

彼らがソフトウェア開発の中で何を考え、どんな感情を持って他のメンバーに接していたのかを、それぞれの登場人物の日記としてつづったのが WEBサイト『組込みソフトエンジニアを極める-外伝-』である。

ソフトウェア技術者が仕事上のやりとりの中でどんなことを考えているのかを知りたい方は、『組込みソフトエンジニアを極める-外伝-』 を参照していただきたい。

繰り返しになるが、書籍 『組込みソフトエンジニアを極める』 で示した組込みソフトウェア開発の手法、施策はあくまでもひとつの例であって、「これはいい。これは使える。」と思ってもらえれば採用していただきたいが、手法や施策を紹介することがこの本の真の目的ではない。また、手法や施策を理解することと実際に現場で根付かせることとのギャップは思いのほか大きい。

だからこそ、この本を読んでもらうことで、組込みソフト技術者がどんなスタンスで組込み機器の開発に取り組み、モチベーションを高めながら新しいスキルを獲得し、顧客満足の高い商品を世に生み出していったらよいのかを伝えたかったのである。

そ れが押さえられれば、多少の壁にぶつかっても障害をはね返す理由ができるし、忙しくてもモチベーションを高く持って仕事に取り組むことができ、製品をリリースしたときの喜びは今以上に大きくなるはずである。

必ずしもものづくりを達成した喜びの大きさはサラリーの高さに比例しないかもしれない。でも、逆境に立たされているエンジニアが自分のスキルでその逆境を乗り切ることが できたならお金では買えない経験と満足感を得ることができるはずである。

ただし、楽して満足を得ることはできないので、仕事で辛い場面 をどのような心構えで乗り切るのか、余裕を持ってクリエイティブな仕事ができるようになるにはどんな技術を習得しなければいけないのかを、組込みソフトエンジ ニアや組込みソフトエンジニアを取り巻く人々に理解して欲しいと思いこの本を書いたのである。