<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>プロマネ  |  NORE（ノア：ノー・リタイアメント）</title>
	<atom:link href="https://genzo.jp/tag/project/feed/" rel="self" type="application/rss+xml" />
	<link>https://genzo.jp</link>
	<description>デジタル力で生き抜く！</description>
	<lastBuildDate>Wed, 24 Apr 2024 07:27:06 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.4.5</generator>

<image>
	<url>https://genzo.jp/wp-content/uploads/2023/08/cropped-genzo_512-32x32.png</url>
	<title>プロマネ  |  NORE（ノア：ノー・リタイアメント）</title>
	<link>https://genzo.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href=""/>	<item>
		<title>リスク管理で問題を防ぐ</title>
		<link>https://genzo.jp/risk_management_prevents_problems/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Tue, 13 Feb 2024 03:35:14 +0000</pubDate>
				<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[経営者]]></category>
		<category><![CDATA[プロマネ]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=1101</guid>

					<description><![CDATA[リスクを察知して対策を打つことは、プロジェクトが失敗しそうな状況を未然に防ぐことができるので有効ですが、機能させるにはコツがあります。事前にリスクを見える化し、継続的にレビューして精度を高めます。]]></description>
										<content:encoded><![CDATA[<div class="summary_box">
&#x1f4a1; リスクを察知してリスクを対策することは、プロジェクトの成功に欠かせません。見える化と継続的なレビューが有効です。</p>
</div>
<p>（改行）</p>
<h3>リスク管理には手順がある</h3>
<p>リスク管理とはプロジェクトの成功のめに危険（リスク）を管理（マネジメント）することです。</p>
<p>リスクを管理することなんてできるのか？といわれそうですが、早く見つけて早めに対処していくことがプロジェクトを成功させるためには必要です。</p>
<p>ところが、多くのプロジェクトではそのリスク管理ができていません。</p>
<p>たいがいのプロジェクトマネージャは問題なく進むと信じていますし、リスクを管理するというよりは、問題が表面化してはじめてことの大きさに気づくことも少なくありません。</p>
<p><strong>チーム内やプロジェクトの進捗の報告を読む人にリスクに対する感度の高い人がいればいいのですが、そうでなければ問題が大きくなるまで気づかないという致命的な問題になることもあります。</strong></p>
<p>リスクマネジメントは難しく、結局現場やそれを見守るマネージャの力量に任されるというのが現実です。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240213-02.svg" alt="240213 02" title="240213-02.svg" border="0" width="" height="" /></p>
<h3>リスクは早期発見・早期対策</h3>
<p><strong>病気と同じで、プロジェクトのリスクは「早期発見・早期対策」が重要です。</strong></p>
<p>僕が関わっていたプロジェクトでは、その「早期発見・早期対策」ができずに大炎上してしまったことがあります。</p>
<p>新規のプロジェクトを率いていたチームリーダーは、他部門と仕様調整に難航し当初考えていたような計画では進んでいませんでした。</p>
<p>その辺りの問題を含め、「順調ではない」ことをたびたびアラートとして発していました。</p>
<p>しかし、なぜかプロジェクトマネージャはその問題を「そんなに大きな問題じゃない」と高をくくっていたせいで、何の対処も行われないまま数ヶ月が過ぎてしまいました。</p>
<p>僕は周りから見ていて新規のプロジェクトにしては人の割り当ても少ないので、「大丈夫ですか？手伝いますよ」とそのプロマネに進言していたものの、「大丈夫だ」ということで済まされていました。</p>
<p>しかし、数ヶ月経ってテストを開始する頃、問題は発覚します。</p>
<p>仕様通りに作られていない箇所がどんどん発見され、バグとして登録されたのですが、まさにバグの山。</p>
<p>しかも一つ一つは他部門との仕様調整が必要なものが多く、修正にはとても時間がかかります。</p>
<p>そして、とてもテスト期間内には修正できないような量になり、その後大量の人を投入して仕様の調整やバグ潰しをしました。</p>
<p>結果的に、半年以上の大幅遅れで導入となりました。</p>
<p>この問題は「早期発見・早期対策」で完全に解決できる規模のものではなかったかもしれませんが、早く着手すればもっと小規模な炎上で済んだかもしれません。</p>
<p><strong>プロジェクトマネージャの判断ひとつがプロジェクトを大炎上させることもあります。</strong></p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240213-03.svg" alt="240213 03" title="240213-03.svg" border="0" width="" height="" /></p>
<h3>リスクはあらかじめ出しておく</h3>
<p>リスクは何かその後のプロジェクトの進捗に影響を与えそうだとかなえたとき、早めにアラートを出す、ということがとても重要になります。</p>
<p>ところが、それぞれ経験によって同じことに直面しても大きな問題と感じなかったり、そもそも問題と感じなかったり、自分の中で何とか片付けたいという気持ちが起きてしまいます。</p>
<p>そうならないように、まずはこういうことが大きな問題につながる可能性がある、ということをチームメンバーで共有しておく必要があります。</p>
<p><strong>そうすることで「これってリスクに関係するかな？」というような考えが出ることで、早めにアラートが出ることにつながる期待があります。</strong></p>
<p>リスクに関しては具体的なもので、かつそれが起きたときにどういう対処があり得るか、誰に相談すべきか、といったことを決めます。</p>
<p><strong>まずはリスクを見える化しておくということが有効でしょう。</strong></p>
<p>とはいえ、それがうまく機能するかはそれをうまく活用できるか、ということに関係します。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240213-04.svg" alt="240213 04" title="240213-04.svg" border="0" width="" height="" /></p>
<h3>リスク管理を機能させる</h3>
<p>リスク管理をしている会社であっても、そのリスクとして挙げるものがあまり起こりえないものだったり、簡単に思いつくものであることも少なくありません。</p>
<p>確かに、「リスクを挙げよう」と検討を始めても、なかなか適切なものが挙げられないことも多いのが現実です。</p>
<p>リスク何がリスクなのかをわかっていなければ、問題が発生しても担当者が解決すべきことと思うかもしれません。</p>
<p>出てきたリスクは、まずは優先順位を決めて管理していくことです。</p>
<p><strong>管理するためには、継続的にレビューをしていくことが欠かせません。</strong></p>
<p>一定の間隔で見ていくことで、リスクマネジメントしていないことに気づくことがあります。</p>
<p>プロジェクトの進行中は、ついついプロジェクトを進めることばかりに目が行き、リスク管理を忘れがちになります。</p>
<p>また、プロジェクトが進行することで、初期の頃にはぼやっとしていたリスクがもっと具体的に見えてきたり優先順位が変わったり、あるいは別のリスクが浮上していることに気づくこともあります。</p>
<p><strong>プロジェクトの実情に合わせて、リスクの優先順位を変えたり、リスクをより具体的なものに絞り込んだり、あるいは新たなものを追加して改めて見直すことが有効でしょう。</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>仮説検証でスピードアップする</title>
		<link>https://genzo.jp/hypothesis_testing_to_speed_up/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Sun, 11 Feb 2024 05:53:31 +0000</pubDate>
				<category><![CDATA[Web集客]]></category>
		<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[経営者]]></category>
		<category><![CDATA[スキル]]></category>
		<category><![CDATA[プロマネ]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=1094</guid>

					<description><![CDATA[企画した商品やサービスを売れるものにするためのニーズ調査では仮説と検証が役に立つ。仮説を立てずに一から順に調べていたのでは効率が悪すぎるからだ。そしてその検証の際に自分という対象者を入れることでさらにスピードアップできます。]]></description>
										<content:encoded><![CDATA[<div class="summary_box">
&#x1f4a1; 企画した商品やサービスを売れるものにするためのニーズ調査では仮説と検証が役に立つ。仮説を立てずに一から順に調べていたのでは効率が悪すぎるからだ。</p>
</div>
<h3>仮説を立ててスピードアップする</h3>
<p>ある商品やサービスの企画をより売れるものにするためにマーケティング調査をするとき、ただ漠然とこの商品を買ってくれるかと人に聞いて回っていたのでは、なかなか正しい答えは得られません。</p>
<p><strong>その商品やサービスが使う対象を明確にして、そのゾーンにいる人に聞いていくことでより速く答えに近づきます。</strong></p>
<p>仮に40代に売りたい商品があったとして、30代の人にどれだけ聞いても「いらないかも」と言われる可能性があります。</p>
<p>働く主婦を対象にしている商品なのに、専業主婦に聞いても答えは違います。</p>
<p>40代の働く主婦という対象ゾーンにいる人に聞いてはじめて、「ここがイマイチなので使いにくそう」とか「こういう人が使うかも」というヒントが得られます。</p>
<p>実際はもっと細かく対象を絞り込むことが多いです。</p>
<p>「子育てしている」こと人を対象にするなら、そういう条件も入れることです。</p>
<p><strong>欲しいと思ってくれるだろう人という仮説を立てて、検証していくということです。</strong></p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240211-02.svg" alt="240211 02" title="240211-02.svg" border="0" width="" height="" /></p>
<h3>ニーズ調査を聞ける人に聞くという失敗</h3>
<p>以前社内でスマホアプリの企画をしていて、こういうニーズは本当にあるかな？？ということを調べようということになりました。</p>
<p>そのときある人が「私の知り合いに聞いてみますよ」と言います。</p>
<p>それはいいね！とは思ったのですが、その人がどういう人か、ということが気になりました。</p>
<p>よくよく聞いてみると、「電車の中で使ってほしい」ニーズなのに、その人は電車に乗らずに通勤している人でした。</p>
<p>つまりその人は企画しているスマホアプリの利用対象者ではない訳です。</p>
<p>そういう人に聞いても、その人は「電車で通勤する人の気持ちになって」答えるわけです。</p>
<p>それだと欲しい答えは得られません。</p>
<p>実際に電車通勤している人から見ると、ぎゅうぎゅう詰めでスマホを開く隙間がないかもしれないし、毎日語学の勉強をしているから他のことはやらないかもしれません。</p>
<p>正しい対象者に聞くことが大事になります。</p>
<p><strong>その人が「知り合いに聞いてみます」と言ったその姿勢は悪いことではないのですが、「知り合い」というお手軽さに惹かれてはいけません。</strong></p>
<p>対象者選びは仮説検証の中では非常に大事なことになります。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240211-03.svg" alt="240211 03" title="240211-03.svg" border="0" width="" height="" /></p>
<h3>自分も大事な対象者である</h3>
<p><strong>ニーズの検討をするときに起こりがちなこととして、「対象者は他にいる」と考えることです。</strong></p>
<p>先日、あるチラシを配る際に読みたい内容を考えようというとき、「対象読者にアンケートを採りましょう」という話が出ました。</p>
<p>ところが、僕はすごく違和感を感じました。</p>
<p>なぜなら、そのチラシは自分たちも長年読み手だったからです。</p>
<p>わざわざその読み手を探して聞くのではなく、自分に聞けばわかることもある訳です。</p>
<p>そうすると、まずは自分の気持ちに聞いてみる。「どんな情報だと嬉しいか？」</p>
<p><strong>ニーズに対して最も答えを聞きやすいのは、何より「自分」です。</strong></p>
<p><strong>自分の気持ちに聞いてみることは忘れてはなりません。</strong></p>
<p>何かニーズ調査をする際、誰か他に聞かなければならないと思うことは少なくないと思いますが、まずは自分の心に聞くことが大事です。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240211-04.svg" alt="240211 04" title="240211-04.svg" border="0" width="" height="" /></p>
<h3>仮説を立て自分で検証するコツ</h3>
<p>仮説を立てて検証する際に、誰かに聞く前に自分はどうかと考えるようにすれば、人に聞くより格段に早く答えが得られます。</p>
<p>ところが、自分で考えるとどうしても偏りがあります。</p>
<p><strong>そのサービスに対する思いやりが強くなるなど、第三者的な目線で見られない可能性もあります。</strong></p>
<p>そのときは、自分の過去の経験と照らし合わせることがひとつ客観的に見る方法になります。</p>
<p>そのサービスが提供しようとしている価値が起こる場面は、過去に自分はどのように解決してきたかを振り返ります。</p>
<p><strong>サービスがあったら使うか、ではなく、そのサービスがなかったときに自分はどうしていたか？です。</strong></p>
<p>こういうことをしたいけれど、いいサービスがないので「まぁいいか」となってしまったなら不必要なサービスかもしれません。</p>
<p>反対に、いいサービスがないけれど、自分の力で時間をかけて何とか解決したのだとすると、少なくとも自分にはニーズがあったと言えるでしょう。</p>
<p>次の段落の画像を入れる</p>
<h3>まとめ</h3>
<p>仮説を立てて、対象ユーザーに聞いていくことでより速く答えを得ることができるようになります。</p>
<p>そして、その対象ユーザーに自分が入れば、他人に聞くよりももっと早く答えが得られます。</p>
<p>自分も対象ユーザーとして仮説検証に加わるようにしましょう。</p>
<p>それがニーズ検証ではとても有効になります。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>綿密な計画の立てるキモ</title>
		<link>https://genzo.jp/key_to_meticulous_planning/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Wed, 07 Feb 2024 03:49:41 +0000</pubDate>
				<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[スキル]]></category>
		<category><![CDATA[プロマネ]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=1086</guid>

					<description><![CDATA[完璧な計画など存在しませんが、大事になるのは実現に不可欠なキーポイントを見つけ事前に実現性を検証することです。着手段階ですべての課題の解決方法がクリアされていれば、あとは時間をかけて作るのみです。見積段階で8割がた見通せていることが成否を分けます。]]></description>
										<content:encoded><![CDATA[<div class="summary_box">
&#x1f4a1; 完璧な計画など存在しませんが、誤算や計画倒れという事態は少しでも減らしたいもの。そこで大事になるのは実現に不可欠なキーポイントを見つけ事前に実現性を検証することです。</p>
</div>
<h3>計画の甘さがプロジェクトを遅延させる</h3>
<p>プロジェクトマネージャであれ、チームリーダーであれ、担当者であれ、必ず計画を出す必要に迫られます。</p>
<p>計画とは、いつまでにどのようなステップを踏んで目的とする仕事を実現できるのか、ということです。</p>
<p>そのポジションに就いてからの時間が短い場合、経験値がないために見積が甘くなりがちです。</p>
<p>甘くなるとは、できあがりまでの細かいステップを考えずにだいたいの感覚で出してしまうことです。</p>
<p>一人一人の担当者が現実味のある計画を出さなければ、それを積み上げた全体の計画も不確かになります。</p>
<p>そして、実現までの大変さが見極められていないため、仕事の着手が遅めになってしまったり、仕事に着手しても楽に進むと思っていたり、予期せぬ問題に遭遇して立ち往生してしまうことも発生します。</p>
<p><strong>つまり、計画が甘ければ、その後の仕事の進捗にも影響を与え、結果として計画通り進まないことになり、残業でカバーしたり最悪計画変更しなければならない事態に陥ってしまいます。</strong></p>
<p>現実に即した計画を立てるためにはどうしたらいいのでしょうか？</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240207-02.svg" alt="240207 02" title="240207-02.svg" border="0" width="" height="" /></p>
<h3>プロジェクト成功のキーポイントを見極める</h3>
<p>確かに計画を立てるのは難しい。ついついざっくりと期間だけを考えがちです。</p>
<p>「この仕様なら、○○ヶ月ですかね。」</p>
<p>といった具合です。</p>
<p>この計画の背景に緻密な計算があればいいのですが、そうではなくて感覚的に答えるケースも少なくなく、それが上に書いたような大きな問題になります。</p>
<p>緻密な計算とは何かというと、この仕様を実現するために「何をどのように解決して実現するか？」ということを見通すことです。</p>
<p>こういう技術を使ってこのように実現できそうだ、という仮説を立てたら、本当に実現できるのかを見極めます。</p>
<p><strong>自分がすでに実現性がわかっていることは問題ないですが、そうではない新しい技術やサービスを使うのであれば、本当にやりたいことができるのか？ということを調べることです。</strong></p>
<p>そのひと手間をかけるかどうかが大きな差を生みます。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240207-03.svg" alt="240207 03" title="240207-03.svg" border="0" width="" height="" /></p>
<h3>技術検証も緻密にやる</h3>
<p>新しい技術やサービスを使って事前に実現性を検証するとき、機能の一覧で確認するとか、少しサービスをかじってみる程度では不足です。</p>
<p>実際にやりたいことを実現してみる、という姿勢が必要です。</p>
<p><strong>なぜかというと、プロジェクトを進めていって技術的な課題にぶち当たるとき、「事前に調べてできると思ったんだが、実現したい機能には適さなかった」ということが見つかるケースが少なくないからです。</strong></p>
<p>つまり、実現性を検証する場合も、できるだけ現実で必要とされる機能が達成できることを確かめることが必要です。</p>
<p>「いやいや、そこまでやるのは無理でしょう？」</p>
<p>という声も聞こえてきそうですが、そこまでやるかどうかが成否の分かれ目です。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240207-04.svg" alt="240207 04" title="240207-04.svg" border="0" width="" height="" /></p>
<h3>見積で8割の仕事を終わらせる</h3>
<p>多くのプロジェクトの成否は、事前に問題箇所を把握して解決策を考えているかどうか、ということに尽きます。</p>
<p><strong>もちろん、新たな技術開発やブレークスルーがないと実現できないプロジェクトがありますので、すべてのプロジェクトとは言いませんが、既存技術の組み合わせでやろうとするほとんどのプロジェクトでは、問題点を事前に解決できているか、で成否が決まります。</strong></p>
<p>このことは、中嶋聡さんが書かれた「なぜ、あなたの仕事は終わらないのか」という著書に書かれていて、僕も非常に共感して読みました。</p>
<p><strong>計画段階で実現すべきことの8割はできあがっている、ということです。</strong></p>
<p><strong>つまり、できない問題はないことがあらかじめ見通せている状態です。</strong></p>
<p>だからこそ「いつまでにできます」と自信を持って言えるようになります。</p>
<p>残りの2割の仕上げを時間をかけてやるということです。</p>
<p>こうなれば失敗はないのです。</p>
<p>ぜひ中島さんの著作を読んでいただけると得られるものは多いと思います。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240207-05.svg" alt="240207 05" title="240207-05.svg" border="0" width="" height="" /></p>
<h3>自分にとっての課題をクリアする</h3>
<p>若かりし頃、勘に頼った見積を出し、実際に進めるとさまざまな課題にぶち当たって計画がどんどん遅れていました。</p>
<p>まさに出たとこ勝負の開発をしていました。</p>
<p>そんな開発をしていたのでは計画通りに行くはずもありませんし、自信のある発言もできるはずもないのです。</p>
<p><strong>周りができると言っているからとか、枯れた技術を使うから大丈夫、ということではなく、自分にとっての課題をクリアしておくことが大事です。</strong></p>
<p>他の人はすでにそのスキルをマスターしているかもしれません。</p>
<p>ところが、自分にそのスキルがないなら身につけないといけません。</p>
<p>経験値がないなら、その分事前に経験してみることが必要です。</p>
<p><strong>自分に与えられた仕事に対して、不明な部分があるならなるはや着手して解決しておく、その姿勢が自分を助けることになります。</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ざっくり見積が生死の分かれ目</title>
		<link>https://genzo.jp/estimation_determines_life_and_death/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Mon, 05 Feb 2024 07:42:34 +0000</pubDate>
				<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[プロマネ]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=1078</guid>

					<description><![CDATA[プロジェクトの規模を見極めたいのでとざっくりとした見積の提示を求められることがありますが、このときの開発期間やコストがそのまま利用されてプロジェクトが始まることがあります。それを防ぐためには見積の条件を明記して条件が変われば見積を変えられるようにしておくことで身を守りましょう。]]></description>
										<content:encoded><![CDATA[<aside>
&#x1f4a1; 見積精度がプロジェクトの成否を決めている、そう信じている。失敗プロジェクトは初期のざっくり見積でミスっていることが多い。つまり、最初から負け戦なのだ。</p>
</aside>
<h3>見積で成否の8割が決まる</h3>
<p>残念なことに多くのエンジニアは炎上プロジェクトに遭遇しているのではないでしょうか？</p>
<p>そうでなければ、プロジェクトマネジメントの重要性を問われることはないし、そのためのスキルに関する書籍も多く存在しないのではないかと思います。</p>
<p>プロジェクトとはある目的を達成するための計画や業務のことです。</p>
<p>定型のものではないため、一つ一つ課題やリスクが違いますので、同じ方法で解決できるものがありません。</p>
<p>だからこそ、必ずしも成功させることができず、時に炎上することもあります。</p>
<p><strong>いくつかの炎上プロジェクトを経験した僕の目からは、「炎上プロジェクトは最初から負け戦であることが多い」と実感しています。</strong></p>
<p><strong>ゴールが不明確、期間が短い、人員が足りない、予算が足りない、などなど、経営の思惑や営業の思惑などの事情により、最初からリスク含みで始めるから炎上するのだ、と思います。</strong></p>
<p>そのために、エンジニアができることは見積精度を高めて、必要なリソース（期間・人員・予算等）を確保して始めることが求められます。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240205-02.svg" alt="240205 02" title="240205-02.svg" border="0" width="" height="" /></p>
<h3>ざっくり見積の恐怖</h3>
<p>見積で出した期間や人員、費用は、プロジェクトの基礎となりますので、ここを間違えればすべて狂います。</p>
<p>よくあるのは、これからプロジェクトを実施するのにどのくらい期間と予算が必要か見積もってほしいと言われて作るものです。</p>
<p>しかも、なぜか数日で作ってくれというものが多く、「ざっくり」作るしかなくなります。</p>
<p>これが「ざっくり見積」です。</p>
<p>よくあるざっくり見積は、実際の作業内容を十分に把握せずに、1ヶ月何人ほど必要で、それがだいたい半年・1年・2年などといった期間で総工数を把握するだけのものです。</p>
<p>ところが、「ざっくり」だと言うことを伝えているにもかかわらず、それがあたかも正式な見積であるかのように、実際の計画にそのまま入っていくことが多いです。</p>
<p><strong>ざっくり見積もったはずが、その条件でプロジェクトが承認される結果、プロジェクトの期間や予算が使われてしまっています。これは本当に恐ろしいことです。</strong></p>
<p>ですので、ざっくりとした数値を出すにしても、できる限りプロジェクトの仕様や難易度、どんな人が必要かなどをできる限り詳細を調べて見積もる必要があります。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240205-03.svg" alt="240205 03" title="240205-03.svg" border="0" width="" height="" /></p>
<h3>見積時の条件と変わってしまう</h3>
<p><strong>開発チームが見積をするとき、具体的ではない仕様のことがほとんどですので、情報不足の中で見積もる必要があることは少なくありません。</strong></p>
<p>プロジェクトの内容を理解するための情報は多くなく「○○を実現する」のような標語程度の目的のこともあります。</p>
<p>その場合、「○○」とはどういうことか？「こういうことではないか」といろいろ想像しながら進めます。</p>
<p>それならこのくらいの難易度だからこのくらいの人数と期間が必要ではないか、というようなことを少しずつ決めていきます。</p>
<p><strong>怖いのは実際にプロジェクトが始まると、そういった前提条件が全く崩れてしまうケースがあります。</strong></p>
<p>どんなプロジェクトも、見積時と実行時で差があるのは当たり前ですが、根底から崩れることもないわけではありません。</p>
<p>「いまさらそんなことをいわれても･･･」といいたい状況になりますが、四方を固められてにっちもさっちもいかないことも多いです。</p>
<p>そうなるとひたすら納期に間に合うように死ぬ気でやるしかない状況に追い込まれます。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240205-04.svg" alt="240205 04" title="240205-04.svg" border="0" width="" height="" /></p>
<h3>エンジニアの悲哀</h3>
<p>炎上プロジェクトは関わっているエンジニアの進め方に問題がある場合もありますが、開発チームの力を超えていたり、顧客が作りたいものと見積が合っていないなど、プロジェクトの開始前から問題がある場合も少なくない。</p>
<p><strong>このような場合、どんなに現場ががんばっても成功することはできず、いわば最初から負け戦なのです。</strong></p>
<p>こういうプロジェクトに関わるエンジニアは本当につらいだけで楽しいことは全くありません。</p>
<p>こんな時、本当に割に合わない仕事だと思います。</p>
<p><strong>だけど、エンジニアはがんばるんですね。本当に悲しいくらい真面目です。</strong></p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/02/240205-05.svg" alt="240205 05" title="240205-05.svg" border="0" width="" height="" /></p>
<h3>どうやって防ぐか？</h3>
<p>何とかそんなつまらないプロジェクトにしないためには、まずはプロジェクトのゴールと現実に実現できる計画の差をなくすことが求められます。</p>
<p><strong>両者にズレが起きる責任の多くが、プロジェクトが始まる前のざっくり見積にあると僕は考えています。</strong></p>
<p>上層部だけで考えた見積や、時間がないから急げと言われて要求もはっきりしないまま出す見積もりほど怖いものはありません。</p>
<p><strong>見積を出すからには、条件を明確にしできる限り積み上げること。</strong></p>
<p><strong>そして条件が変わったのなら見積も変わることを明確に伝えて、その条件が変わったときには見積も変えられるようにしておくことです。</strong></p>
<p>そして、納期を間違っても「○○年△月」のように実際の日付で書かないことです。</p>
<p>着手開始から「○○ヶ月」のように、開始日によって完成日も変わるように書くことです。</p>
<p>このように自分たちを守る手段はあります。</p>
<p><strong>自分たちを守れるように条件を明確にして見積を出しましょう。</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>仕様変更を管理する</title>
		<link>https://genzo.jp/manage_requirement_change/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Thu, 11 Jan 2024 07:06:32 +0000</pubDate>
				<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[経営者]]></category>
		<category><![CDATA[プロマネ]]></category>
		<category><![CDATA[要求・要件]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=1037</guid>

					<description><![CDATA[開発中に仕様が最後まで変わらなければ非常に良いのですが、往々にして要求そのものが変わったり、仕様の矛盾を解決したり、業務の実態に適応させるために仕様変更は発生します。そのとき、仕様変更をきちんと管理して、なぜ・どう変わったのか、いつから変更したのかを記録することは大事な仕事です。]]></description>
										<content:encoded><![CDATA[<div class="summary_box">
&#x1f4a1; 要求そのものが変わったり、業務の実態に適応させるために仕様変更は発生します。そのとき、仕様変更をきちんと管理して、なぜ・どう変わったのかを記録することは大事な仕事です。</p>
</div>
<h3>仕様変更を管理する重要性</h3>
<p>仕様変更とは、もともと「こういう動作にしよう」と決めていたものをある理由によって変更しなければならなくなることを言います。</p>
<p>ところが、仕様変更をきちんと管理して関係者に共有しておかないと、例えば次のような問題が起こりえます。</p>
<ul>
<li>仕様変更が影響する箇所を見落とし矛盾が起きる</li>
<li>テストをする人が仕様変更を知らずテストされない</li>
<li>マニュアルを書く人が変更に気づかず、マニュアルに反映されない</li>
</ul>
<p>仕様変更を例えばメールや会議などで連絡しても、周知されないことも発生します。</p>
<p>特に開発途中の場合、あとでまた変わるでしょ」と思われてあまり真剣に受け取られなかったりすることもあるからです。</p>
<p>テストを担当する人から見れば、「どのバージョンからその仕様変更がされたか」ということも大事になります。</p>
<p>ですから、<strong>後できちんと追跡できるように、開発チームとして仕様変更をきちんと管理し、履歴を残しておくことはとても重要な仕事になります。</strong></p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/01/240111-02.svg" alt="240111 02" title="240111-02.svg" border="0" width="" height="" /></p>
<h3>なぜ仕様変更は発生するのか？</h3>
<p>そもそも仕様変更はどうして起きてしまうのでしょうか？</p>
<p><strong>ありがちなのが、要求そのものが変わったり、あっちとこっちで仕様の矛盾が発覚したり、いざできあがってみると使い勝手が悪かったりということを解消するために起こります。</strong></p>
<p>要求の変更とは、「こういう風にしてほしい」と要望を出した側が変更することです。</p>
<ul>
<li>開発に入って仕様を詳細にするために話を聞いていくと、そもそも考えていたことに間違いがあることに気づき、そのまま作っても問題があるので、要求を変更することになった。</li>
<li>納期に間に合わないなどの理由で、影響のない部分の仕様を初期段階ではカットしようと考え、それに伴い仕様が変更なった。</li>
</ul>
<p>などがあります。</p>
<p>仕様の矛盾とは、</p>
<ul>
<li>ある機能を実現するために決めた仕様が、別の機能と相反することが発覚した</li>
</ul>
<p>というような場合に起こります。</p>
<p>他にも、</p>
<ul>
<li>UIをこのようにしようと考えていたが、いざできてみると思ったように使いやすくはなくて改良したい。</li>
<li>実装上の都合でもともと狙っていた仕様は実現に時間がかかるので、仕様変更して納期に間に合うようにする</li>
</ul>
<p>などもあります。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/01/240111-03.svg" alt="240111 03" title="240111-03.svg" border="0" width="" height="" /></p>
<h3>仕様変更を安易に判断してはいけない理由</h3>
<p>仕様変更しよう！と要求されたときに、「はいわかりました」と安易に引き受けてはいけません。</p>
<p>あなたがプロジェクトマネージャーやチームリーダーであればなおさらです。</p>
<p>というのは、<strong>要求というのは常に「ある切り口から見たときに改善したいこと」でありますが、別の局面から見ると、改悪になるようなこともあります。</strong></p>
<p>そういうことは、違う部門で目線が全く異なる人から出ることが多いからです。</p>
<p>例えば、</p>
<ul>
<li>こういう操作にした方が使いやすい、このような表現がわかりやすい、と思っていたが、全く別の使い方を考えたらかえって使い勝手が悪くなったり、ユーザーに誤解を与えることがわかった</li>
<li>期間短縮しようと機能を落とそうとしたら、かえって修正に時間がかかり納期が遅れる</li>
<li>ユーザーの利便性は上がる機能だが、セキュリティリスクが上がるため情報システム部から反対された</li>
</ul>
<p>などです。</p>
<p><strong>一面だけしか見ずに仕様変更を判断していたら、後々大きな問題になることもあります。</strong></p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/01/240111-04.svg" alt="240111 04" title="240111-04.svg" border="0" width="" height="" /></p>
<h3>仕様変更は関係者が集まって判断する</h3>
<p>仕様変更は、当初に仕様を決めたときより重い判断が求められることがあります。</p>
<p>上に書いた例のように、納期に間に合わなくなるとか、セキュリティリスクが新たに発覚するとなると、かえって問題が大きくなるからです。</p>
<p>その割に緊急度が高く、すぐに判断しなければならないことがあるとなおさらです。</p>
<p><strong>開発の側から見れば小さな変更にしか見えないことも、別の立場から見れば大きいものですし、小さな変更と思われるような機能が実装上は大きな変更を伴うこともあります。</strong></p>
<p><strong>そんなことがありますので、仕様変更をするかどうかを考えるときは、関係する部門の人を集めて協議するなど、広い視点で確認することが欠かせません。</strong></p>
<p>そういう多方面の分野の人の目で判断することが確実な商品開発につながります。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2024/01/240111-05.svg" alt="240111 05" title="240111-05.svg" border="0" width="" height="" /></p>
<h3>まとめ</h3>
<p>仕様変更はいろいろなタイミングで要望されます。</p>
<p>要求するつもりだったが入れ忘れた、仕様の問題点に気づいたなど、仕様変更したい理由はさまざまでしょうが、安易な思いで受け入れた結果、納期が遅れたり、別の問題を生むことがあります。</p>
<p><strong>「このくらいの変更ならたいしたことないだろうし、何とかしてあげたい」</strong></p>
<p><strong>そういう技術者の良心もあって受け入れてしまいがちですが、グッと踏みとどまり広い視点で見ることが大事と思います。</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>非技術者にわかる説明を心がける</title>
		<link>https://genzo.jp/make_explanation_easier/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Wed, 27 Sep 2023 12:27:03 +0000</pubDate>
				<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[スキル]]></category>
		<category><![CDATA[プロマネ]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=792</guid>

					<description><![CDATA[技術者同士の会話なら専門用語を使って話した方が正確で間違いのない議論になるのだが、非技術者に話すのに同じように専門用語を使っていては相手に伝わらない。正しく理解してもらうことが大事だから、難しい言葉を使わずにわかりやすく説明するかが大事だ。]]></description>
										<content:encoded><![CDATA[<div class="summary_box">
&#x1f4a1; 非技術者に話すのに専門用語を使っていては相手に伝わらない。正しく理解してもらうことが大事だから、いかに難しい言葉を使わずにわかりやすく説明するかが大事だ。</p>
</div>
<h3>専門用語でしか話せないようではダメ</h3>
<p>技術者に限ったことではないが、その道の専門家でない人に専門用語でとうとうと説明する人がいます。</p>
<p>専門用語をしっかり説明した上ならまだしも、専門用語でしか説明できない人もいるから困ります。</p>
<p>特に相手が上司や部門長であっても、自分と同じ専門的理解をしているとは言えません。</p>
<p>ましてや別の組織の人や経営層の人に説明するのに、専門用語を使って説明しても相手には伝わりません。</p>
<p>いかに専門用語を使わずに説明するか、というのは日頃からやっておかないとできません。</p>
<p><img fetchpriority="high" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/09/230927-02.png" alt="230927 02" title="230927-02.png" border="0" width="1008" height="716" /></p>
<h3>専門用語を使うことで何を伝えたいか？</h3>
<p>どういう言葉が専門用語でしょうか？</p>
<p>ソフトウエアの世界でいうと、一例ですがビルドとかバッチなどのソフトウエア開発のプロセスに関するものや、UMLであるとかJavaScript/Pythonといった名称もそうでしょう。</p>
<p>その道の専門家同士で話しするなら、専門用語の方が間違いはないし話しが早いので、それで良いです。</p>
<p>ところが、非専門家に話しをするなら、専門用語を使わずにもっとわかりやすい言葉で話すべきです。もしかすると、その用語を使った話しをする必要もないことだってあります。</p>
<p>大事なことは、その専門用語（あるいはそれをわかりやすくした言葉）を使うことで何を伝えたいのか？ということです。</p>
<p>JavaScriptを使うことが必須の条件だから、JavaScriptをバリバリ使えるエンジニアが必要だ！と訴えたいなら、JavaScriptを全面に押し出す必要があります。</p>
<p>ところが、これこれのシステムをこういう仕様で作ります、と説明する際に「開発言語はJavaScriptでバックエンドでもフロントエンドでも使える便利な言語で開発します」という説明をしようとするなら、この説明がそもそも必要か、ということを考えるべきです。</p>
<p>なぜなら、聞く人が何らかの判断をしなければいけない立場の人ならば、JavaScriptを使うということに自分はどう判断すればよいか迷うからです。</p>
<p>その人に判断をしてもらう必要があるなら、JavaScriptとは何でどういうメリットがあるかを説明する必要がありますし、そうでないなら説明は不要なのです。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/09/230927-03.png" alt="230927 03" title="230927-03.png" border="0" width="916" height="836" /></p>
<h3>カタカナ用語を安易に使うのは聞き手に失礼</h3>
<p>専門用語だけではないが、経営層もすぐに旬な英語を使いたがります。</p>
<ul>
<li>フィジビリティ（実現性）</li>
<li>アサイン（任命）</li>
<li>イシュー（論点・課題）</li>
<li>オルタナティブ（代替策）</li>
<li>ジャストアイデア（思いつき）</li>
</ul>
<p>などなどあげればきりがないのですが、僕は括弧内の日本語の方がはるかにわかりやすいと思っています。</p>
<p>なぜカタカナ用語を使うのかわからないことも多いです。</p>
<p>ネットの時代とはいえ、聞きながらわからない用語をスマホで検索するわけにはいかず、知ったかぶりで聞くことになります。</p>
<p>聞き手にそんなことをさせるのではなく、誰もがわかる言葉で話すべきだと思います。</p>
<p>それができないのは聞き手への配慮が足りないと思います。</p>
<p><img decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/09/230927-04.png" alt="230927 04" title="230927-04.png" border="0" width="644" height="697" /></p>
<h3>専門用語をわかりやすい言葉に置き換える</h3>
<p>専門用語をそのまま使わないようにするためには、その言葉の意味を別のわかりやすい言葉に置き換える作業が常日頃必要になります。</p>
<p>ソフトウエアの中でも説明しにくいのが、アーキテクチャやフレームワークなどがあります。</p>
<p>アーキテクチャは「ソフトウエアの論理的構造」という説明が見つかりますが、ソフトウエアにおける「論理的」というのも非専門家には理解が進まないものです。</p>
<p>時と場合によりますが、僕はアーキテクチャを「全体の構成」と説明することが多いです。</p>
<p>もう一つのフレームワークは、ビジネスでも「考える仕組み」のような意味で使われるので言葉としては浸透していますが、ソフトウエアにおけるフレームワークは機能や仕組みを持っているものを指すので、似ているけれどもビジネスで使うフレームワークの理解だと少々違うと思います。</p>
<p>ソフトウエア開発におけるフレームワークは、ソフトウエアを効率的に開発する仕組み、などと説明すると良さそうです。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/09/230927-05.png" alt="230927 05" title="230927-05.png" border="0" width="822" height="681" /></p>
<h3>難しい言葉を使わずに説明する事が大事</h3>
<p>人に伝えるためには、専門用語を使わないことがいいですが、そうすることでそれ以外の部分もわかりやすくなります。</p>
<p>なぜかというと、どうやって専門用語を使わずに伝えるかを考えることは、ひいては説明のわかりやすさにつながるからです。</p>
<p>単に専門用語を少しわかりやすい日本語に置き換えたところで、それだけでは説明がわかりやすくなったとは言えないことも多いです。</p>
<p>専門用語を使わないでいかに伝えるか？ということを考えていくと、説明が人に伝わりやすくなります。</p>
<p>その人が持つ専門性を考えながらバランスよく考えていく必要はありますが、難しい言葉を使わずに伝える、これが大事です。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>進捗報告で報告すべきこと</title>
		<link>https://genzo.jp/importance_of_progress_report/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Wed, 06 Sep 2023 07:24:15 +0000</pubDate>
				<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[スキル]]></category>
		<category><![CDATA[プロマネ]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=765</guid>

					<description><![CDATA[進捗報告は得てしてやった作業をしがちだ。しかし上司が知りたいことは、その結果仕事が順調なのか、遅れているのか、遅れているけれどリカバリー可能なのか、といったことだ。遅れを起こさないためにも進捗報告をしっかりやって行くことが大事だ。]]></description>
										<content:encoded><![CDATA[<div class="summary_box">
&#x1f4a1; 進捗報告は得てしてやった作業をしがちだ。しかし上司が知りたいことは、その結果仕事が順調なのか、遅れているのか、遅れているけれどリカバリー可能なのか、といったことだ。そのことが報告できているかが大事。</p>
</div>
<h3>「やったこと」は進捗ではない</h3>
<p>仕事に就いていれば、仕事の進捗報告は必ず求められることの一つです。</p>
<p>進捗報告を「作業の報告」と思っていないでしょうか？</p>
<p>作業の報告とは、「○○をやりました」というような報告です。その報告で問題ない仕事もあるでしょう。</p>
<p>ところが、納期のある仕事に携わっている場合、それは進捗報告ではありません。</p>
<p>進捗とは「ものごとの進み具合」をいうわけですので、進捗報告では「進み具合」がわかる必要があります。</p>
<p>「先週は○○のプログラミングをしました」と報告したとします。</p>
<p>上司は「それでうまく動いているの？」と聞きます。</p>
<p>それに対し「いや、実はうまく動いてなくて･･･」と回答すれば、「それはどこがどうなっているの？」「誰かに相談した？」というような質問を浴びてしまいます。</p>
<p>つまり上司が知りたいことは「やったこと」ではなく、「その結果、どういう状況なの？」ということなのです。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/09/230906-02.png" alt="230906 02" title="230906-02.png" border="0" width="1082" height="1003" /></p>
<h3>上司は問題が起こってないか知りたい</h3>
<p>仕事は誰もが順調に進むとは言えません。</p>
<p>それよりも、うまく進まないことの方が多いのが現実です。</p>
<p>上司から見れば経験が未熟な部下の仕事が何も問題なく進むわけがないと思っています。</p>
<p>だけど、なかなかそこがあぶり出されてこないので、上司はちょっとした部下の言葉をきっかけにあれこれ聞いてきます。</p>
<p>上司はとにかく仕事が順調に進んで欲しいと思っているのですが、問題の発覚が遅れることが多く、発覚が遅れれば遅れるほどその遅れの回復に時間がかかることも知っています。</p>
<p>だから少しでも早く問題をあぶり出したいと思っています。</p>
<p>それがいろいろな質問に現れてきます。</p>
<p>いろいろ質問されると部下は、「細かいなぁ」「うざいなぁ」「そんなに心配なら自分でやれば？」そんなことを思ったりします。</p>
<p>上司が少しでも早く問題に気づき軌道修正したいのは自分の組織で遅れを出したくない思いもありますが、仕事を順調に進めるための「親心」です。</p>
<p>親の心子知らずの状態はすごくあることです。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/09/230906-03.png" alt="230906 03" title="230906-03.png" border="0" width="842" height="790" /></p>
<h3>遅れを隠す気持ちが全体を遅らせる</h3>
<p>一方の部下は、仕事がうまくいっていない場合には、そのことを隠したいものです。</p>
<p>何とか「問題ない」ということで通り抜けたいという気持ちがあります。</p>
<p>自分では解決できていない問題があっても、つい「大丈夫です！自分で解決します！」と言ったりします。</p>
<p>何とか自分の手で解決したい、そういう思いでいるものです。</p>
<p>上司だって、自分の力で解決してほしいし、とても難しい問題でない場合には、本人の自主性に任せることもあります。</p>
<p>ところが「何とか自分で」という気持ちが問題解決を遅らせ、その遅れが問題を大きくしてしまうことがよくあります。</p>
<p>特に若手の時がそうです。</p>
<p>なぜなら、その解決がどれだけ大変かということの経験値がまだまだ少ないから、必要な時間やその解決に至るまでのプロセスを見通せていないことです。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/09/230906-04.png" alt="230906 04" title="230906-04.png" border="0" width="897" height="790" /></p>
<h3>なるべく早く相談する</h3>
<p>問題の多くは早く手を打てば解決することが多いです。</p>
<p>ところが、あとで大きな問題になるとは思えずに「何とかなるさ」と担当者が思っていると、チームとして手を打つのが遅くなります。</p>
<p>何か仕事がうまくいっていないなら、素直に上司にそう報告した方がいいです。</p>
<p>若いとかそうでないかに限らず、現状を話して上司の判断を仰ぐことです。</p>
<p>どういうことかといえば、「遅れている」「解決できていない」という問題の大きさを自分で判断しないということです。</p>
<p>担当者でしかない自分ではことの大きさを正しく判断できないことが多いです。</p>
<p>今の遅れがどれだけあとあと響いてくるのかわからないです。</p>
<p>ですから、上司が示した納期に間に合わないと思われるなら、なるべく早く上司に相談することです。</p>
<p>どのくらい早くとは、「なるはや」ということになります。</p>
<p>その問題の解決にどのくらい時間がかかるかわからない以上、どれだけ遅れても大丈夫かわかりません。</p>
<p>だから、問題が解決できないとわかったら、「なるはや」で相談しましょう。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/09/230906-05.png" alt="230906 05" title="230906-05.png" border="0" width="1068" height="644" /></p>
<h3>進捗報告で話すべきこと</h3>
<p>「なるはや」で相談といってもついつい遅くなってしまうのが人情です。</p>
<p>今週は時間が取れなかったけど、来週時間が取れればすぐにリカバリーできる、などと思うものです。</p>
<p>ところが、来週には来週の仕事があり、またもや思ったように作業できないこともあります。</p>
<p>上にも書いたとおり自分で判断せず、上司に判断してもらうことが大事です。</p>
<p>そのためには「現状を適切に伝える」ことが必要です。</p>
<p>進捗報告が毎週行われているなら、そのときに「現状を適切に伝える」のです。</p>
<p>そうすることで「なるはや」の相談ができることになります。</p>
<p>「現状を適切に伝える」とは、大まかにいってこのようなことです。</p>
<ul>
<li>求められている計画（ゴールとなる納期）</li>
<li>自分の担当分として何をいつまでにどうしようと思っている（ゴールまでの作業を細分化した自分の中の計画）</li>
<li>それに対してどこまでできていて、何ができていないか（進捗）</li>
</ul>
<p>そもそも自分の中の計画が甘い、ということも往々にしてあります。</p>
<p>上司から見たら、「その計画じゃ、後工程で問題が起きる」と考えるかもしれませんし、「何かあったときにリカバリが効かない」という不安を感じるかもしれません。</p>
<p>ですので、進捗報告でしっかりと報告すれば、その報告は同時にとても良い相談の機会となるのです。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/09/230906-06.png" alt="230906 06" title="230906-06.png" border="0" width="820" height="615" /></p>
<h3>適切な進捗報告が自分を救う</h3>
<p>進捗報告して遅れがあると、上司から遅れを指摘されたり、大目玉を食らうこともあるでしょう。</p>
<p>ですが、それは自分が所属する課やグループの極めてローカルな問題で終わります。</p>
<p>上司だって、自分のチーム内の小さな問題で終われば幸せです。</p>
<p>ところが、遅れが取り戻せないような状態になると、部門長に相談したり、下手をすると別の部門に相談したりなど大きなことになりかねません。</p>
<p>ですので、いかに早く上司に相談し、小さな問題のうちに解消しておくか、それが大事になってきます。</p>
<p>その一番重要な相談が「進捗報告」です。</p>
<p>進捗報告が自分を救ってくれると思って、きちんと報告するようにしましょう。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>開発工程を知ろう！（3）</title>
		<link>https://genzo.jp/learning_development_phase03/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Sun, 13 Aug 2023 06:33:48 +0000</pubDate>
				<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[スキル]]></category>
		<category><![CDATA[プロマネ]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=731</guid>

					<description><![CDATA[プログラマは初期の頃には簡単にバグ修正できても、テスト工程が始まった以降はそう簡単にはできません。バグの内容、原因、どのように対応するか、修正方法、修正後の確認とバグの管理を厳密に行わなければなりません。]]></description>
										<content:encoded><![CDATA[<div class="summary_box">
&#x1f4a1; プログラマは初期の頃には簡単にバグ修正できても、テスト工程が始まった以降はそう簡単にはできません。バグの内容、原因、どのように対応するか、修正方法、修正後の確認とバグの管理を厳密に行わなければなりません。</p>
</div>
<h3>開発工程を知らないと大問題に！</h3>
<p>過去のプロジェクトで製品の最終段階で基本的な機能にバグがあることに気づきました。</p>
<p>全員真っ青です。</p>
<p>なぜ？今さらこんなバグが見つかるんだ？？</p>
<p>基本機能だから十分にテストをしているはずですから、そんなバグが見つかるということは「テストの網羅性が足りないのか」「テストの実施方法が良くなかったのか」というようなことが取り沙汰されます。</p>
<p>ところが、そのバグが混入した原因を調べた結果、「直前のテストではその機能に全く問題がなかった」ということがわかりました。</p>
<p>ではなぜそのバグが今起きているのか？</p>
<p>その機能を担当しているプログラマーに話を聞いたところ、「ソースコードに気になることがあり、よかれと思って直した」、という発言をしました。</p>
<p>開発の初期の頃ならともかく、テストも積み重ねた終盤に不用意な修正をし、しかもその修正が既存機能に影響しないかを十分にテストしていませんでした。</p>
<p>彼はプロジェクトリーダーから大目玉を食らって、ソースコードを直前のバージョンに戻しました。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/08/230813-02.png" alt="230813 02" title="230813-02.png" border="0" width="1263" height="946" /></p>
<h3>プロジェクトの終盤のバグ修正は慎重に</h3>
<p>よかれと思って直した行為がなぜ叱られる羽目になったのか？</p>
<p>プロジェクトの終盤、特に市場に出す直前当たりではバグの修正は慎重に行わないといけないからです。</p>
<p>バグを直す、すなわちソースコードに手を入れるということは、その修正が影響する範囲のテストをやり直す必要があります。</p>
<p>プロジェクトの終盤までには綿密にテストを積み重ねてきているので、ソフトウエアの修正をするとなればその修正がどこにどんな影響があり、どの範囲のテストをやり直す必要があるかを洗い出すし、それらに問題がないということを確認する必要があります。</p>
<p>その影響範囲が大きければ、もしかすると市場に出す納期に間に合わないかもしれません。</p>
<p>何とか間に合わせるために、人手をかけて頑張るしかないかもしれません。</p>
<p>そういった大きな問題になりかねないのです。</p>
<p>だからこそ簡単には直せないのです。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/08/230813-03.png" alt="230813 03" title="230813-03.png" border="0" width="837" height="666" /></p>
<h3>100%動作するコードもテストで検証が必要</h3>
<p>残念ながら、「プログラマが絶対大丈夫」という言葉をそのまま信用してもらうことはできません。プログラマが100%動作すると確信を持っているプログラムであっても、テストによって問題ないと確認されない限り、OKは出ないです。</p>
<p>プログラムの初学の頃は、コードを教科書通り書いても思ったように動作せず、バグの原因を見つけるのに四苦八苦することがあります。</p>
<p>小さいコードですら、そうです。</p>
<p>熟練になってある程度の規模のコードを書くようになると、その部分だけ正しくても、他の部分と連携したときに正常に動作しないことも起きてきます。</p>
<p>こういうことは、プログラムのコードを見ているだけではわからず、動作させて検証する必要があります。</p>
<p>簡単な修正のはずなのに、プログラマのテスト不足で一発では期待通り動作しなかったことは、僕の経験でも多々あります。</p>
<p>だからこそ、必ず動かして検証することが必ず必要です。僕も動かして検証することが当たり前になっています。</p>
<p>ましてやテストが不十分なコードほど信用できないものはありません。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/08/230813-04.png" alt="230813 04" title="230813-04.png" border="0" width="930" height="609" /></p>
<h3>コード修正していいとき・悪いときを知る</h3>
<p>すごく雑な言い方をすれば、開発の初期であればコードの修正はどんどん行っても問題ないです。</p>
<p>ところが、一旦テスト工程が始まって以降は話は簡単ではなくなります。</p>
<p>企業によって違いはあれど、テスト工程に入ってからのバグの管理は厳密になります。</p>
<p>というより、バグは厳密に管理しなければなりません。</p>
<p>どんなバグが発見され、それはどのような問題で直すべきかどうかが判断され、修正すべきものはどのように修正され、最終的にテスト工程で修正が確認される必要があります。</p>
<p>そしてバグの収束状況などを判断の上、次工程に進んで良いかが決まっていく。</p>
<p>バグには「実装のバグ」というプログラマの実装による問題のものもあるし、「仕様の誤解」などの問題もあります。</p>
<p>これらはプログラマが原因のものですが、もっと別の「バグ」が見つかることもあります。</p>
<p>それは「仕様バグ」というようなもので、仕様の間違いや仕様の矛盾に起因するものです。</p>
<p>これらはソースコードの実装を直す前に、仕様を考える必要があります。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/08/230813-05.png" alt="230813 05" title="230813-05.png" border="0" width="1081" height="672" /></p>
<h3>バグの管理はソフトウエアの品質を知る上で重要</h3>
<p>ソフトを仕様通りに作ったのに、予期せぬ動作になることがあります。</p>
<p>ソフトとしては仕様通りに動作しているのに、あるケースでは期待通りではない、というような場合です。それは仕様の矛盾であったり、仕様の間違いなどが原因で「仕様バグ」と呼ばれるものです。</p>
<p>仕様バグの場合、仕様をどのようにすべきかをまず考える必要があるので、要求元に確認しないと決められないこともあり、かえって時間がかかることもあります。</p>
<p>仕様だからすぐに解決できるかと思いきや、ある仕様の矛盾を解決しようとすると、別の仕様との不整合の問題が発生するなど、一筋縄でいかないことが多いです。</p>
<p>そういう問題もあるので、テスト工程に入ってからのバグは要求者などの関係者を含めた議論が必要になることも多いので、きちんと管理していくことが必要になります。</p>
<p>こういうこともあり、バグを記録し、原因がどうで、どういう風に対処し、最終的にどうやって確認したか、ということを管理していくことが欠かせません。</p>
<p>これがソフトウエアの品質を上げるためにも欠かせない作業です。</p>
<p>そういったバグ管理が必要になり、後工程になるほど一つのバグが直って確認されるまでに時間がかかることになります。</p>
<p>ソフトウエアエンジニアとしては、早い段階でしっかりと品質を作り込む意識でやることが大事です。あとに回せば回すほど自分の首が絞まります。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>開発工程を知ろう！（２）</title>
		<link>https://genzo.jp/learning_development_phase02/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Tue, 08 Aug 2023 07:09:08 +0000</pubDate>
				<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[スキル]]></category>
		<category><![CDATA[プロマネ]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=721</guid>

					<description><![CDATA[顧客が望んでいるものを作るためにも、顧客の要求と開発するものを定義した要件書を常に紐付けて管理します。また、開発が進める中でも顧客の要望とズレていないかを日々確認することで、最終納品での顧客要望とのズレに気づくというミスを防ぐことができます。]]></description>
										<content:encoded><![CDATA[<div class="summary_box">
&#x1f4a1; 要求と要件の違いはとても大きいです。要求は顧客サイドが作り、要件は開発の受け手であるベンダーが作ります。この両者を常に紐付けておかないと顧客の要望に添わないものを作ってしまうことになりかねないので注意が必要です。
</div>
<h3>要求と要件の違い</h3>
<p>開発工程を知ろう！ということで始まった第1回目に続き、今回は2回目です。</p>
<p>開発工程は大きく次のようになっているという話をしました。</p>
<ol>
<li>要求獲得</li>
<li>要件定義</li>
<li>詳細設計</li>
<li>プログラミング</li>
<li>単体テスト</li>
<li>結合テスト</li>
<li>運用テスト</li>
</ol>
<p>この中で大事なのは要求獲得の段階にあります。</p>
<p>何はともあれ、顧客の要望を知ることが大事だということです。</p>
<p>さて、顧客の要求を知ることができたら、次はそれを実現するステップになります。</p>
<p>その最初が要件定義という段階です。</p>
<p>要求獲得と要件定義の違いは知っていますか？</p>
<p>要求獲得とは顧客が欲しいと考えているものを明確にすることで、「顧客」が主となり行います。</p>
<p>それに対し、要件定義は要求に基づき実現する「機能やコスト」などを明確にする工程で、発注されたベンダーが主となり行います。</p>
<p>要求：顧客が欲しいと希望しているもの。主たる関係者は「顧客」</p>
<p>要件：要求に基づき実現するシステムの機能等を明確にしたもの。主たる関係者は「ベンダー」</p>
<p>ということになります。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/08/230808-02.png" alt="230808 02" title="230808-02.png" border="0" width="997" height="633" /></p>
<h3>要件はすべて要求と紐付く</h3>
<p>要求を要件にするとき、顧客が望んでいる「要求」を実現するためには細かな前提条件を定めていく必要があります。</p>
<p>例えばウェブサービスであれば、どれだけの人がアクセスする予定か、によってサーバーの規模なども変わってきます。</p>
<p>個人情報を扱う場合には、どんなセキュリティが必要か、ということも保存するデータの種類やどれだけ安全に守る必要があるかの考え方によって、セキュリティに関する要件も違ってきます。</p>
<p>そういったことは顧客が最初に話してくれることはほぼありませんので、仕様を決めていく前に聞いておく必要があります。</p>
<p>そして、すべての要件は顧客の要望と紐付く必要があります。</p>
<p>そうでなければ、顧客の要望にない「過大」なシステムを作ってしまうかもしれませんし、顧客の要望を満たさない「過小」なシステムを作ってしまうかもしれないのです。</p>
<p>要件を作る際、常に要求と紐付けることが大事です。</p>
<p>とはいえ、要求と要件は記述内容も記述量も大きな違いがあります。</p>
<p>というのは、要件はシステムの開発をするために必要な様々な情報を記載しないといけないからです。それを決めていくためにも、顧客から要求をしっかりと聞き出して、それを満たすシステムを作り上げるための要件にしないといけません。</p>
<p>できあがって顧客に引き渡す段階で、顧客から「そんなものを頼んだ覚えはない」と言われることのないように、しっかりと顧客の要求に即したものを作っていくことが何よりも大事です。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/08/230808-03.png" alt="230808 03" title="230808-03.png" border="0" width="1051" height="846" /></p>
<h3>顧客への説明を尽くす</h3>
<p>開発の最初だけでなく開発している途上では、作ろうとしているものが顧客の要求からズレていないか、ときどき要求者に確認をすることが有効です。</p>
<p>開発者にとっては開発物を定義した要件書はわかりやすいです。</p>
<p>しかし、顧客にとっては要件書は難解で、自分が欲しいものかどうかを理解することが難しいです。</p>
<p>これから作るものは何と問われたら、開発者であれば要件書を見せて「これです」と説明するのが正しいのですが、顧客にはもっとわかりやすい説明書が不可欠です。</p>
<p>Webアプリやスマホアプリであれば、こんなUIでこういう風に操作の手順を見せるとか、全体として仕事の流れがこうなってこういう風に使えます、というようなことを具体的に示すことが必要です。</p>
<p>説明を尽くし「それならいいね」と言ってもらっていても、できあがったときに「この部分はそういう風に思わなかった」というすれ違いはどうしても起きてしまいます。</p>
<p>そうならないように、顧客への説明は相手の理解を得られるように最善を尽くす必要があります。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/08/230808-04.png" alt="230808 04" title="230808-04.png" border="0" width="992" height="716" /></p>
<h3>顧客にとってはすべてが知らないことと思え</h3>
<p>開発者なら常識と思う部分であっても、顧客は知らないことも普通です。</p>
<p>この辺が非常に難しいことです。</p>
<p>開発者にとって当たり前すぎて、つい説明が漏れてしまうことがあります。悪意ではなく、「つい」忘れてしまうことはなかなかゼロにはなりません。</p>
<p>顧客にとって「それは聞いていなかった」とできあがったあとで反発されることのないように、些細なことも説明する必要があります。</p>
<p>これはできるけれどこれはできないなどの機能的なことはもちろんですが、お金がかかる、新たな作業として行わなければならないなどのことは、「聞いてなかった」問題に発展しがちです。</p>
<p>スマホアプリを開発したときに、OSのバージョンアップごとに機能検証して、動作しない部分があれば追加費用を払って開発しなければならないことなどは顧客が知らない一例です。</p>
<p>もちろん、開発者はOSのバージョンアップに追随することの必要性は説明しますが、それをどのくらいの頻度で、どのくらいのお金がかかるかなどは顧客には全くわかりません。</p>
<p>どれだけ具体的に説明できるかは説明者の力量ですが、とにかく説明を尽くすという姿勢が必要です。何でもくどくど言えばいいというものではありませんが、顧客に不利益になりそうなことは特に欠かせません。</p>
<p>自分たちに仕事が欲しいので営業の方たちがいいことばかり先にいうケースはありがちなのですが、だからこそデメリットも正確に伝えることです。</p>
<p>これは顧客の満足を得るためでもありますが、自分の身をを守るためでもあります。</p>
<p>あとで「この部分は聞いてなかった。作り直してくれ」と言われたら、手戻りにかかるお金は自分の負担となるのです。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>開発工程を知ろう！（１）</title>
		<link>https://genzo.jp/learning_development_phase/</link>
		
		<dc:creator><![CDATA[源田 公平]]></dc:creator>
		<pubDate>Sat, 22 Jul 2023 00:56:08 +0000</pubDate>
				<category><![CDATA[エンジニア]]></category>
		<category><![CDATA[スキル]]></category>
		<category><![CDATA[プロマネ]]></category>
		<guid isPermaLink="false">https://genzo.jp/?p=713</guid>

					<description><![CDATA[開発を進めるに当たり、開発工程を守って進めていくことはとても大事です。その中でも成否を握るのが要求獲得の工程です。顧客の悩みを知り、それを解決することが求められています。要求の理解が間違っていると、できあがったときに問題が起きます。]]></description>
										<content:encoded><![CDATA[<div class="summary_box">
&#x1f4a1; 開発工程を知らずして、商品の開発はできません。その中でも最も大事なのは要求獲得です。顧客の要求を知るには顧客の悩みを理解することが欠かせません。</p>
</div>
<h3>開発工程を学ぼう</h3>
<p>商品開発に関わるなら、開発工程を知らないといけないです。開発工程とは、今開発のどの段階にいるのかを表したものです。</p>
<p>開発工程は大きくウォーターフォール型とアジャイル型があります。</p>
<p>ウォーターフォール型はプロジェクトのゴールが明確に決められる場合に、作るものを決めて開発工程に沿って進めるプロジェクトの推進方法です。</p>
<p>一方、アジャイル型は最終のゴールが決めにくいプロジェクトに適用します。作りながらゴールを決めていくようなプロジェクトに適しています。</p>
<p>どちらを適用すべきかはプロジェクトや会社の方針によって違いがあるでしょう。</p>
<p>そういった違いはあるものの、どの工程で何をすべきか、という原則は大きく変わりません。</p>
<p>分類や名称は違うかもしれませんが、大きく次のものがあります。</p>
<ol>
<li>要求獲得</li>
<li>要件定義</li>
<li>詳細設計</li>
<li>プログラミング</li>
<li>単体テスト</li>
<li>結合テスト</li>
<li>運用テスト</li>
</ol>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/07/230722-02.png" alt="230722 02" title="230722-02.png" border="0" width="1022" height="862" /></p>
<h3>工程ごとにやるべきことは決まっている</h3>
<p>開発工程ごとにやるべきことは決まっています。開発を円滑に進めるためには、各工程でやるべきことを終わらせてから次の工程に移ることが必要です。</p>
<p>なぜかと言えば、実施すべきことができているか確認してから進めないと、あとで実施すれば計画が狂いますし、やるべきことが間違っていて直す必要があれば大きな手戻りになってしまい、開発期間が延びたり開発コストがかかってしまいます。</p>
<p>また、遅れを挽回するのが難しい場合、会社としては早く市場に出したいからなどの理由で、機能を落としてでも納期を早めることが必要になってくるからです。その場合でも本来の機能をあとで追加で開発するなど、新たな開発費が必要になります。</p>
<p>そういった手戻りにならないために最も大事なことは、「顧客の要求をつかむ」ことです。</p>
<p>つまり「お客さんは何をほしいと思っているか？」ということです。</p>
<p>それはわかった上で開発に着手するはずなのですが、実態はなかなかそうならないです。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/07/230722-03.png" alt="230722 03" title="230722-03.png" border="0" width="928" height="671" /></p>
<h3>最も大事なことは要求獲得</h3>
<p>「お客さんが作ってほしいものをつかむ」これがなんと言っても一番大事なことです。</p>
<p>そんなことはわかっている！当然じゃないか！</p>
<p>という声が聞こえてきそうですが、実はこれが難しい。</p>
<p>ちゃんと顧客の言うとおり作ったはずなのに、できあがってみると「こんなものが欲しかったんじゃない」と顧客の不満が出ることはプロジェクトではよくあることです。</p>
<p>なぜこうなってしまうのでしょうか？</p>
<p>多くの原因は、それぞれの立場の人が持つ知識や経験が違うために、同じ言葉を使っていても理解が異なることにあります。</p>
<p>顧客は実現した結果どうなってほしいかというのは頭の中にイメージはあるでしょうが、それをどんな仕様でどんな使い勝手で実現するのかを具体的な言葉にすることはとても難しい作業になります。</p>
<p>実際、顧客は要求を具体的に言うことはできません。</p>
<p>具体的な仕様にしていくのはプロジェクトのエンジニアたちですが、顧客の要求が漠然としているといつまでたっても作ることができませんので、一つ一つ解きほぐしていきます。</p>
<p>顧客の悩みを知り、課題を見つけて解決策を提供することが求められるわけですが、顧客が抱える課題を正確につかむのは難しいのです。</p>
<p>相手はその分野で長年経験しているし、そのことに関する知識はエンジニアは持っていません。</p>
<p>だから相当時間をかけないと同レベルの知識に至ることができません。</p>
<p>ですが、現場のエンジニアは作ることがゴールなので、頑張って理解しようと試みますが、簡単には埋まりません。</p>
<p>それでも頑張って仕様を作り込んで具体的にすればするほど、残念ながら少しずつ顧客の要望とエンジニアの理解にずれが現れてきます。</p>
<p>顧客のことを100%理解するにはかなり時間を要しますので、最初の段階でずれがあるのは当たり前です。問題はどうやってずれを小さくしていくか？ということです。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/07/230722-04.png" alt="230722 04" title="230722-04.png" border="0" width="1073" height="793" /></p>
<h3>顧客の要求をつかむには顧客の困りごとを知る</h3>
<p>顧客の要求をつかむためには「何が顧客の困りごとか？」を知ることが起点になります。</p>
<p>何に困っているかを知らずに何を作れば良いかを考えてはなりません。</p>
<p>間違っても「こういうものを作ってほしい」という顧客の言葉をそのまま鵜呑みにしてはいけません。</p>
<p>顧客なりに困りごとを解決するものはこういうものだ、という考えがあることはわかりますが、それが本当に解決策になるかを改めて第三者の視点で考えることが必要です。</p>
<p>顧客は知り合いが問題を解決した方法を聞いてそれをそのまま利用すればと思ったかもしれませんし、テレビや雑誌などで聞いた方法で実現しようと考えるかもしれません。</p>
<p>しかし、顧客はITのプロでも開発のプロでもありません。よりよい解決方法が顧客から出るとは言えません。</p>
<p>本当に顧客が導入して良かったと思えるのは、自分が抱える問題を解決できたときです。</p>
<p>そのためには、顧客の困りごとを知ってそれを解決してあげることが欠かせません。</p>
<p><img loading="lazy" decoding="async" style="display:block; margin-left:auto; margin-right:auto;" src="/wp-content/uploads/2023/07/230722-05.png" alt="230722 05" title="230722-05.png" border="0" width="959" height="762" /></p>
<h3>顧客の要求を満たしているか常に考える</h3>
<p>顧客の要求をつかめたと思っても安心してはいけません。</p>
<p>仕様を考えるとき、運用方法を考えるとき、これは顧客の要求からずれていないか？ということを常に考えます。</p>
<p>こっちの仕様とこっちの仕様とどっちがいいのだろうか？、計画を立てるときなど、何か判断に困ったとき、顧客の要求に立ち返って考えてみると答えが見つかることがあります。</p>
<p>顧客が望んでいることを実現していれば小さなずれはあっても許容範囲になります。</p>
<p>ところが大きなところで顧客の要望を満たしていなければ、それはのちのち大問題になります。</p>
<p>例えばこういうことです。</p>
<ul>
<li>効率化を求められたのに効率化できていない</li>
<li>人員を減らすはずだったのに、ほかのところに人員が必要になって実質減らないあるいは逆に増員になる</li>
</ul>
<p>最終的には経営として求める成果を出せたかどうかが成否の判断条件になります。</p>
<p>エンジニアはついつい「作る」ことをゴールにしがちです。</p>
<p>もちろん、約束の納期までに必要な機能を認められたコストの中で実現することが必要です。</p>
<p>そのとき、必要な機能は見かけ上はいっているけど、本来期待された経営上のゴールが満たされない、ということもちょくちょく起きる問題なのです。</p>
<p>経営上のゴールが満たされないということは、投資対効果が期待を満たせないということになります。</p>
<p>これでは最悪お金が支払われない事態となります。</p>
<p>そういうことにならないためにも、要求をしっかりつかむ、そして適時振り返り調整する、そういう気持ちを忘れないようにしましょう。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
