三津石智巳

👦🏻👦🏻👧🏻 Father of 3 | 🗺️ Service Reliability Engineering Manager at Rakuten Travel | 📚 Avid Reader | 👍 Wagashi | 👍 Caffe Latte | 👍 Owarai

【感想】Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management

title:project forecastで検索して読む。

"It is 2019! Yet estimation and forecasting in the software development industry are still considered mystifying at best, and an archaic and obsolete concept at worst."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_BookFrontmatter_OnlinePDF.xhtml

これまじで知りたい。

"Such small-span commitments have minimal value for business people who want to look a year or two ahead."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_BookFrontmatter_OnlinePDF.xhtml

そうなんだよな。

"This book is more about forecasting and control. However, the term “estimation” has been misused for so long that it has become the normal term for describing what amounts to forecasting. Estimation is only the initial guess about the size of something. Forecasting is the activity of processing input data, including the estimates, and formulating an intelligent prediction."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_BookFrontmatter_OnlinePDF.xhtml

estimationとforecastingは違う。

"this book will help delivery teams speak the language of business people without sacrificing software development performance or quality of delivery practices."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_BookFrontmatter_OnlinePDF.xhtml

かなり期待が高まる。

"Finally, Software Project Estimation will provide clues for achieving a mind-set that allows us to bridge an important gap—to see each other (delivery teams and clients) as human and to appreciate each other’s and our own needs, abilities, and expectations."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_BookFrontmatter_OnlinePDF.xhtml

めちゃ期待が高まる。

"“Project manager” is generally meant to describe a role and not a job title."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_BookFrontmatter_OnlinePDF.xhtml

job titleではなくrole

"control and steer the project to success"

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_1_Chapter.xhtml

いい表現。

"“It is only worth forecasting when there is ability to act”—A forecast on its own does not change the outcome of a project. There must be a real possibility that we make control decisions, which lead to measured and timely actions, and change the project’s parameters. If such readiness for action does not exist on a project, and will never exist regardless of new knowledge, then forecasting becomes useless."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_1_Chapter.xhtml

 

翻訳

「行動する能力がある場合にのみ予測する価値がある」――単独での予測では、プロジェクトの結果は変わらない。測定とタイムリーなアクションにつながる制御の意思決定を行い、プロジェクトのパラメータを変更する可能性が非常に高い必要があります。このようなアクションの準備がプロジェクトに存在せず、新しい知識に関係なく存在しない場合、予測は役に立ちません。

forecastingが意思決定を導くとき、それは価値がある。

"While project managers and scrum masters do not themselves produce estimates, they play a central role1 in how these estimates are used into planning, and subsequently how the plans are enacted throughout the project’s execution."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_2_Chapter.xhtml

やっぱそうだよな。

"These are also often the people who provide initial estimates for software projects. They may delegate the actual estimation to their teams, but they remain personally accountable for the information that gets communicated to clients. When it comes to project sizing, Managers and Team Leads are often expected to use experience and gut intuition for producing an overall project estimate that is safe and sufficiently accurate."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_2_Chapter.xhtml

と思ったらマネージャーは最初の見積もりを出すことはあるらしい。

"Making a promise. This is one of the main problems for makers."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_2_Chapter.xhtml

この本のアプローチは本当に面白い。

"It is easy to say “Don’t promise” and “Don’t plan.” It is less easy to say “Don’t make decisions,” although some people do say it in a roundabout way. Even though these approaches look seductively simple, and there is a hint of bravery in choosing them, none leads to a satisfactory solution."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_2_Chapter.xhtml

なぜ私は今更こんなに基礎を学んでいるのだという気分になってきた。

"Planning and software project management, as practices, have been associated with Waterfall for so long that many people treat them as equivalent. We need to separate them though, because they are not the same."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_2_Chapter.xhtml

ずっと思っていたことが言われている。

"The first is that we value responding to change only when we have assessed that the change merits a response. We are not merely responding to any change that comes along. The other is that we value responding to change over following a static plan, not over following a plan in general."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_2_Chapter.xhtml

アジャイルマニフェストの読み方。

"However, I consider client discomfort and uncertainty to be major impediments for the team’s work. As such, the scrum master is responsible for minimizing them. One of the things that can be done is to have a better project forecast, reliable long-term commitment, and a working plan for effective project control."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_2_Chapter.xhtml

forecastと長期のコミットメントと計画がクライアントにとっての最大のimpediments

"A model can provide significant simplification and still be correct for a given purpose."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

モデルについて勉強したいんだよな。

"For example, let’s consider the simple question, “When is this project going to end?” This can be easily answered by producing a calendar date—July 2nd. A simple answer like this leaves too many unanswered questions which are implied in the original inquiry"

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

1つの日付での回答のような極度の単純化による危険性。

"But sometimes people get lazy and want to get rid of the problem with a silver bullet2—a single metric, or a single best practice, a single simple answer. And instead of simplifying the matter, they only introduce uncertainty, increase the likelihood of misunderstanding, and ultimately reduce the chances for a successful outcome."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

GDPとかも銀の弾丸の1つなのだろうか。まぁ結果を語るだけならいいという話で、過程のコントロールに極度に単純化した指標は不向きということだろう。

"Complicated answers do not instill trust. They require too much intellectual investment to be understood, and they are only adequate when everyone is deeply interested in the subject matter in question."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

わかりみがふかい。

"We want to hide these when possible, but if someone is explicitly inquiring about the source of our reasoning, we should be able to dive in and provide satisfactory answers regardless of how complicated the reality around them happens to be."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

こちらもわかりみがふかい。必要なときに必要なだけ詳細に立ち入れるのが正しいのかもしれない。

"Of course, if we answer “Between 6 and 16 months,” we are just as correct (or more), but the uncertainty increases unacceptably. The client will have the same doubts as if we hadn’t provided an answer at all, only now they will also question our ability to adequately understand their problems."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

私はまだclientの視点が足りないのだと思った。

"If people still insist on a singular answer, then use “most likely” and pick a value within the range. We talk about probabilities later."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

rangeの他にprobabilityも使えると。

"For example, when talking to a client, instead of saying, “This project might take between 8 and 12 months,” we can say, “This project will take between 10 and 12 months if we add Chris to the team. And it will take between 8 and 10 months if we add Avery.”"

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

conditionalのテクニック

"By using conditionals we provide the client with a clearer picture at the expense of minimal extra complexity. The end result is a simple reality for the client."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

clientに必要十分なsimplicityで説明責任があるということなんだな

"We were technically correct but didn’t provide the needed information."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

正論だけで押し返してもアウトカムがないということか。

"For example, when we say that the estimates show it will take around 10 months to complete the project, it is likely that people understand this as “The project will take 10 months to complete.” But what we said is that an estimate we made is 10 months, not the (actual) length of the project."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

爆笑してしまった。

しかし、boundaryのテクニック難しいな。

"We can share our fears and not push through by force and commitment only. Stated fear is a type of boundary, and we communicate that we are not willing to venture too far beyond it. This way we stake a claim into the unknown and still maintain boundaries that make sense to us. Opening up with our fears takes courage. And we show others that we are both brave and smart. It is important that we are brave at work, and it is also important to stay responsible. As we get more data, we can sharpen the boundaries and engage with commitments without fear."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

翻訳

わたしたちは恐れを分かち合うことができ、力と決意によってのみ押し通すのではありません。言い表された恐怖は境界の一種であり、我々はそれを超えてあまりにも遠くに冒険する気は持っていないと伝えています。このようにして、私たちは未知のクレームを賭け、まだ私たちに意味のある境界を維持します。恐怖で開くには勇気が要る。そして、私たちは勇敢で賢い人であることを他の人に示します。私たちが仕事に勇気を持っていることも重要であり、責任を持ち続けることも重要です。より多くのデータを得るにつれて、境界をシャープにし、恐れることなくコミットメントに従事することができます。

すごいいいこと言ってる気がする。恐怖の表明に必要な勇気に紐づくオーナーシップ。XPが言いたかったことに近いのかも。

"Whether we work for other people or we risk our own money, being responsible is the behavior which creates and builds trust the most. Being irresponsible can destroy trust quicker than any other misstep, even when it doesn’t cause material loss."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_3_Chapter.xhtml

チャレンジとresponsibilityってなんなんだろうな。できないと思うことをできるというのが問題なのでは。

"What is now left, in order to feel confident in the actual values represented by the distribution model, is finding out how much the normal distribution for the estimated effort is offset from the “real” effort. And for this, there is nothing else we can do except take measurements from reality."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_4_Chapter.xhtml

本当かなぁ?

"What this means in practice is that we cannot approach the management of a project purely as a statistical problem. This is because usually there are not enough chunks to get to a good sample quick enough, and we need to start making decisions before we have a solid statistical model."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_4_Chapter.xhtml

ここは納得。

"The Central Limit Theorem tightens as we reach farther. The larger the project, the more useful the Central Limit Theorem becomes for practical application."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_4_Chapter.xhtml

これは福音。

"Many people in the software industry, especially people working with agile software development methods, have given up on estimation and they feel it is useless. They feel it cannot be done with accuracy, or that it doesn’t make a difference how precise you try to be… at the end the project is never on time. The value of a forecast for facilitating project control is being lost because of an irrelevant focus on estimation accuracy. The unwillingness of people to commit to an objective in the face of uncertainty is a direct cause of this confusion of the main purpose of a forecast. This is a mistake that ends up costing companies multimillion dollar opportunities and ruining the chances for good relationships."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_4_Chapter.xhtml

サマリーがいい。

"The first thing to do when building a forecasting model is to prepare the “charting surface” by figuring out the rough scale of the effort. What we come up with at this point is not an estimate. It is only an idea of the scale at which we want to be working. Is it a few months, a year, or more? This choice is very important for the utility of the resulting forecast."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

forecastingの始まりはscaleを決めるところから。これは戦略マップのBSCに書かれて良さそう。

"Early confidence of between 5% and 10% is extremely challenging in software development, and a confidence between 10% and 15% should be sufficient for anyone with a practical business need."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

こういう考え方したことなかったな。

"Establishing the initial estimation ranges is best done if the ranges are slightly overlapping and progressively growing (see Figure 4-6)."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

Tシャツサイズなどについての説明。

"With properly sized ranges, people get into collaborative mode much sooner, and estimates for large sets of functionality get done quickly."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

面白い。

"However, detailed specification helps for breaking the work into smaller chunks."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

次々と面白い意見が。

"Most likely we cannot achieve that precision for the final forecast,2 and no one needs it—people only need an adequate guidance toward the objective."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

ほどほどの見積もりしか求められていない。

"However, before we go through this, let’s state one more time that the purpose of estimation and early planning is to enable intelligent project control through the rest of the project. The purpose is not to produce an accurate and precise guess at the beginning of the project."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

 

見積もりと早期計画の目的は、プロジェクトの残りの部分を通じてインテリジェントなプロジェクト制御を可能にすることです。目的は、プロジェクトの開始時に正確かつ正確な推測を生成しないことです。

うむ。

"However, there are software development laws3 that prohibit this rectangular approach. Gall’s Law in particular says that we cannot start with a complex team. In practice this means that we should start with a single track effort until the solution and the team has matured enough to sustain two tracks."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

こういう法則を事前に知っていたら安心できるよな。

"Make sure that if any of the numbers and dates gets picked as project targets, people realize these are the aspirational targets we want or hope to meet, not the targets we have promised we will meet."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

初期の見積もりは願望的な目標であることを確認する。

"Story points are not useful for initial project estimation and forecasting, but they serve a different and very important role"

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

ストーリーポイントは初期の見積もりに使うものではない。

"It is wise to not confuse effort estimates with calendar time."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

あるあるですな。

"Again, tell people this is only where we are aiming, not where we are going. At least not yet."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

aimingとgoingの違いは結構微妙だよな。

"One of the three principles on which the method of intelligent forecasting is based is that the team must be capable of working consistently (see Figure 4-17), and story points are a perfect tool for ensuring this consistency."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

ストーリーポイントは一貫性の為の尺度ということを知らなかった。

"Sustainable pace does not necessarily mean a constant pace, as teams typically need time to reach their optimal pace."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

どういうことだ?

"Engineering techniques like automated unit testing, test-driven development (TDD) , refactoring, and continuous integration and continuous delivery (CI and CD) greatly contribute toward a team’s capability for sustainable work."

 

via Check out this quote from Software Project Estimation: Intelligent Forecasting, Project Control, and Client Relationship Management - https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/html/484096_1_En_5_Chapter.xhtml

TDDなどはムラをなくすための技術。

https://learning.oreilly.com/library/view/software-project-estimation/9781484250259/images/484096_1_En_5_Chapter/484096_1_En_5_Fig19_HTML.jpg

見積もりの技術をこういうふうに捉えたことはなかったな。