三津石智巳

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

【感想】Software Craftsmanship: The New Imperative

"Software craftsmanship is not the opposite of software engineering or computer science. Rather, craftsmanship is a different tradition that happily coexists with and benefits from science and engineering."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/pr03.html

一安心。

"It is rare for a commercial application to be developed by a team of more than 20 people, and most application developers work in teams with fewer than 10 members. Software engineering is good at handling the problems of really large teams of 200 or more people, but it has little to say about how the individuals in a team should practice their craft."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/pr03.html

やはりここが根本的な「現認」の差だと思うんだよな。

"software engineering attempts to deskill software development by suggesting that every problem can be solved by throwing more people at it."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/pr03.html

主語が大きい。

"Is the software engineering approach the best one to use when developing software?

 

Yes and no."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/pt01.html

こことか読むとそう極端でもないのかなと思うけどたまにすごい主語大きいな。

 

オーケストラの指揮者かジャズ・バンドのリーダーか - プロジェクト・マネジメントの4つの類型を知る : タイム・コンサルタントの日誌から」を利用して上手く整理ができそう。この本はSoftware Engineeringは左上の象限に対応するという。そしてSoftware Craftsmanshipが右下の象限に対応するといいたいのだと思う。そこに反論はない。ただし、我々が取り組んでいるのは右上の象限なのではないかと思う。

"Before we can approach these issues, we must first break free of the mechanical software engineering metaphor and understand the true nature of software development."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch02.html

同意。

"Software development is all about the unknown. The production process for software is trivially easy—just copy a disk or CD."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch03.html

この例え方に対しては、「13. Production Engineering at Facebook - Seeking SRE [Book]」のほうが適切だと思うんだがな。

 

ところで、本書は「デスマーチはなぜなくならないのか IT化時代の社会問題として考える (光文社新書) | カーリル」と似た主張だが、後者の参考文献には掲載されてない。二人の著者が異なる手法で同じような結論に至ったのだとすると興味深い。

"The software craftsmanship metaphor allows developers to acknowledge all aspects of their craft—the artistic and aesthetic aspects as well as the measurable and mechanical aspects."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch04.html

あ、すべてを包含するといいたいのね。なら、いいかも。

"An example of this idea was described by James O. Coplien in Borland Software Craftsmanship,[33] which documents how a very small team of developers created Quattro Pro for Windows. More than six years after the publication of that article, it is now time to start paying attention to software craftsmanship."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch04.html

Coplien氏が出てきた。

"Craftsmanship is not a rejection of science and engineering, but rather a subtle blending of man, machine, and knowledge to create useful artifacts. This blending is the aim of craftsmanship—that is, obtaining mastery over science and engineering so that we can continually refine our craft. Ultimately, it is about humans regaining control over their environment, rather than machines dictating what is possible."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/pt03.html

たまにバランス大事みたいなことが書いてある。

"Part of the key to getting error-free software was covered in Chapter 7. Having developers sign their work is a fundamental part of craftsmanship because it completely changes the mindset of the people involved in the development process."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch08.html

これが真ならこの世に作画崩壊は存在しないことにならないか?

 

今まで読んだところ、楠木建氏が言うところの「虚業」の話をしていないか?と思う。

「研究」という仕事には次のような特徴があります。1.ふわふわしている。世の中の超間接業務。虚業中の虚業。2.人間の本性の発露。「知る」「考える」「それを人に伝える」は人間が自然にやりたくなる活動。「動機は精神の高揚」(小柴昌俊先生の名言)。3.以上の自然な帰結として、慢性的に供給が需要を大きく上回る。人間の本性だから研究を仕事にしたいという人は少なからず出てくるが、社会の超間接業務、虚業中の虚業であるだけに実需が薄い。だから仕事として折り合いがつきにくい。「研究」に対して継続的に対価が支払われるような仕事(たとえば大学や研究機関のポスト)の数は少ない。

See More: http://lnr.li/XOAIT

 

https://careerlog.jp/career_interviews/1」で、増田氏が言うように、100年単位では職人モデルの世界に変わっていくことは十分ありえると思う。クラウドファンディングとかはその端緒かと思う。

"Bad Clients Will Have a Hard Time Attracting Good Developers"

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch08.html

Bad clientsとか言うのかー。もちろんこの世の全ての顧客を満足させる必要はないが、顧客を選べるソフトウェア職人が実際どれだけ世の中にいるのかは謎。100年後の話なのかな、やっぱ。

"Although good, experienced people are quite rare, they do exist and can be found. Most are either independent or working for smaller companies that value their contribution."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch11.html

でしょうね。

"Rather, the craftsman chooses who will be their apprentice or journeyman, because the relationship is expected to last for a long time."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch11.html

なんだかなあ。

大きな組織の中にいると、不思議なことに人材配置を検討する際に、「この人が欲しい」と指名する人が結構いるのです。例えば、私が部長になったと仮定します。そうすると、人事に「以前一緒に仕事をしたAさんが欲しい」と言うのです。一度一緒に働いたことのある人は能力が分かっているし、使い勝手もいいから安心という理由からでしょう。しかし、私が疑問に感じたのは、会社員になる時に上司を選べないのに、部下を選んでもいいというのはおかしいのではないかということです。上司というのは与えられた人を組み合わせて成果を上げるのが仕事なのではないかと考えていたからです。そのため、私自身は「こういう能力の人が欲しい」と言ったことはありますが、固有名詞で「A君を欲しい」と言ったことは1度もありません。あるいは、「出来の悪いB君を違う部署に出す」と言ったことも1度もありません。

See More: http://lnr.li/4gVX3

こう思う。

"By inspecting everything that the journeymen and apprentices create, the craftsman can provide useful coaching and feedback with minimal effort. This detailed review by the craftsman is possible because the master has to review the work of only a few people, and even then by performing a secondary review. That is, before the craftsman reviews an apprentice's work, it will have already been reviewed by the other apprentices and journeymen and cleaned up based on that feedback."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch12.html

これは実践的なアドバイス

"A reasonable threshold would be projects larger than 100 developer-years, say, requiring more than 50 developers for more than two years."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/pt04.html

当てはまるじゃん。

"Software engineering practices are predicated on the fact that developing the software is not the rate-limiting step in the overall project."

 

via Check out this quote from Software Craftsmanship: The New Imperative - https://learning.oreilly.com/library/view/software-craftsmanship-the/0201733862/ch14.html

すぐ主語が大きくなる。

 

まとめ

  • こういう世界観は否定しない
  • 全ての職場に適用できるものではない
  • 自分の持ち場については自分の頭で考えるしかない