2016年の発売直後から大きな話題を呼び、中国・ドイツ・韓国・ブラジル・ロシア・ベトナムなど世界各国にも広がった「学び直し本」の圧倒的ロングセラーシリーズ「Big Fat Notebook」の日本版が刊行された。藤原和博氏(朝礼だけの学校 校長)「プログラミングは新しい言語の獲得だ」、野田クリスタル氏(お笑い芸人・マヂカルラブリー)「プログラミングがやりたくなる! まるでゲームの攻略本みたい!」、尾原和啓氏(元グーグル・IT評論家)「プログラミングを通して、ビジネスにも応用できる考え方が見えてくる!」と絶賛されている。本記事では、全世界700万人が感動した同シリーズのプログラミング編『アメリカの中学生が学んでいる 14歳からのプログラミング』より、本文の一部を抜粋・掲載します。

ユーザー中心設計
あるプログラムがよいか悪いかを決めるのは、だれだろう?
もちろん、ユーザーだ。
そのプログラムはどれくらい使いやすいか?
期待どおりにちゃんと機能するか?
それによって、ユーザーの評価が決まるのだ。
ユーザー中心設計とは、開発のすべての段階で、ユーザーの望みやニーズを第一に考えるプログラムの開発プロセスのこと。
なるべく多くの人にとって使いやすいプログラムをつくりたいならいろんなタイプのユーザーに、きみのプログラムについての意見を求めたほうがいい。

ユーザー中心設計をおこなうときには、次の点に注目しよう。
ユーザビリティ(使いやすさ)―わかりやすく、使いやすいか?

アクセシビリティ(アクセスしやすさ)―能力を問わず、だれでも使えるか?
コンテンツ―ターゲット層にとって魅力的か?

フィードバックを集める
プログラマは、プログラムを世に公開する前に、アルファテストやベータテストと呼ばれるテストを実行してユーザーからフィードバックを集めることが多い。
ユーザーにそのプログラムのバグや問題点を指摘してもらうというわけだ。
アルファテストとは、1巡目のユーザーテストのこと。プログラムが完成する直前におこなうのがふつうだ。
アルファテストに参加するのは、きみの友だちや信頼する人々だ。この時点では、まだコードは完成していないから、とにかくたくさんのバグを見つけてもらおう。
プログラミングの授業なら、クラスメートを呼んで、きみの未完成のプログラムを試してもらうのがアルファテストといえる。


ベータテストとは、2巡目のユーザーテストのこと。プログラムが完成した直後におこなうのがふつうだ。
ベータテストに参加するのは、将来的にきみのプログラムを使うことになるかもしれない人々だ。
たとえば、きみが数学の期末試験の勉強に役立つ、新しい学習アプリをつくったとする。
それなら、ベータテストに参加するのは、一緒に数学の授業を受けているきみのクラスメートたちだ。ベータテストでは、アルファテストのときと比べて、見つかるバグが減らないとおかしい。
きみのプログラムを将来のユーザーに見てもらうことのメリットとはなんだろう?
それは、きみが見逃していたプログラムの欠陥を見つけられるということだ。
きみのプログラムをみんなと共有する前に、その欠陥を修正すれば、プログラムが世に出る前に、ミスをつんでおくことができるのだ。
