ブログを書く際にとりあえず覚えておきたいショートカット10選(VSCode)

プログラミングでもブログでもマウスとキーボードの手の往復が微妙にストレスなんですよね。
とはいえ、なかなかショートカットが覚えられずマウスも使いまくり。
今回はちょこっとだけショートカット覚えて快適にしようという趣旨です。

では、早速。

ソフトウェアの「つくれば保守が増える問題」

なければ作ればいい。名言ですね。誰が言ったのでしょう。
リスクを考えたら何もつくれない。いやぁその通りです。
でも、後のことそろそろ考えませんか?

ソースコードを読むしかないと思わせるドキュメント。
意図の読み取れないコメントで構成されたソースコード。
ソースコードを読んでも全くわからない論理構造。

僕たちはどれだけ過去の遺産に苦しめられないといけないのでしょうか。
なぜ10年も20年も前の古い技術や古い思想のお守をさせられているのか。
もちろんユーザーの要求や環境が変化するからです。

今、僕は被害者ぶっていますが、自分のつくったソフトウェアに対する文句です。
僕のソフトウェアも10年選手が登場し始めました。

もうぶっちゃけます。
当時は丁寧に書いたつもりでしたが、今見るとソースコードもドキュメントもコメントも何を言ってるのかさっぱりわかりません。
毎日過去の自分に毒づいています。うへぇ。

とはいえ、自業自得と片付けるのはあまりに芸がない。
だって読みやすいドキュメントがあっても保守は辛いので。

ユーザーは神様か?

かの松下幸之助さんは言いました。
お客様は神様です。

我々プログラマーは成果物を評価される立場にあります。
完成品を世に送り込んで、誰かに使ってもらいます。

僕にとってのお客様はユーザーです。
では、ユーザーは神様でしょうか?
ぶっちゃけ敵です。

ソフトウェア開発における設計とは何か

設計とは何であろう?それは2つの世界,すなわちテクノロジの世界と人間の世界の両方に属するものであり,
それらを1つにしようという試みである.

[実践ソフトウェアエンジニアリング ソフトウェアプロフェッショナルのための基本知識]より抜粋
Lotus 1-2-3の開発者であるミッチ・ケーパーの言葉です。

ソフトウェア開発において設計のとらえ方は人それぞれです。
製造業においては「品質は設計で作りこむ」といわれるくらい
設計は大事な役割を担っています。

しかし、ソフトウェア開発の世界では、
残念ながら設計書を納品のためだけに後追いで作るというケースが後を絶ちません。

DXの設計書㉕ – アジャイル方法論

僕がアジャイルに興味を持ったのは10年ほど前でした。
受注後、どんどん変わっていくお客様の要求に何とか対応できる方法が無いかを検討したのが最初です。

しかしながら予め成果物を決める請負契約とは全くマッチせず、
要求詰め放題プランになってしまいました。

今、転職し契約に縛られない働き方ができるようになりました。
改めてアジャイルについて考えてみます。
DXにおいてアジャイルは肝になると考えています。

ソフトウェア開発プロセス – 自己流プロセス

ソフトウェアの開発プロセスは混とんとしています。
プロジェクトは基本的にプロジェクトマネージャーやプロジェクトリーダーの理論(持論)やクセで進みます。
中小企業規模のソフトウェアハウスで、きちんとプロセスモデルが定義されているところは少ないでしょう。

ある日突然リーダーやマネージャーに抜擢され、
特に教育を受けることもなく自己流のマネジメントをします。
プロセスすら固まっていないのでマネジメントがうまく行かなくても仕方ありません。
一人で開発する場合はフレキシブルに開発できますが、複数人で開発する場合はそうも行きません。

自信をなくし
「マネジメントしたくない。プログラマーとしてやっていきたい。」
そう考えるプログラマーやプロジェクトマネージャー・リーダーは多いです。
優秀なプログラマーからプロジェクトマネージャーになる人は特にそうですね。
知識不足だけで自分の可能性に線を引いてしまうのは、もったいない話です。

今回は少しプロジェクトマネジメントにおけるプロセスについて考えてみます。
どんなものがあるのか知っておくだけでも有意義です。

なぜ、とっとと失敗しないのか?

たかだか1万行程度のソフトウェア開発に、
何カ月もあるべき姿を議論し何カ月も課題を探す要件定義(?)に疑問を感じます。

GUIを持つアプリケーションであれば、1万行程度のものは画面数も片手で数える程度です。
慣れた言語でそこそこの経験があれば、開発は1人で2週間もあればそれなりの形になります。
テストも1週間もあれば終わるでしょうしドキュメント作成は数日で終わります。
1カ月がっつり使えれば普通に終わります。ぶっちゃけ1カ月も要りません。

DXの設計書⑳ – クラウド?オンプレ?

定期的にお金が出ていくクラウドの仕組みが世の中に受け入れられ始めてきました。
また、社外にデータを置くことにも抵抗がなくなってきたように感じます。

クラウドサービスの形態はさまざまです。
端末やOS管理がいらないソフトウェアだけを借りる
Saas(Software as a Service)を対象にお話ししていきます。

クラウドを選ぶべきかオンプレでいくべきか

昨今の請負開発の状況 – ソフトウェア開発分析データ集2020

請負開発を中心とした企業が、
どういうソフトウェア開発を行っているのかが気になって調べてみました。
データの外観を漠然と追っていきます。

今回は「ソフトウェア開発分析データ集2020」を使用しています。

ソフトウェアの早い・うまい・安い – 品質の認識を変えるべきでは?

品質というと何を思い浮かべますか?
自分の使うものと考えると色んな品質を思い浮かべます。
見た目、使いやすさ、丈夫さ、拡張のしやすさ・・・。

ソフトウェアの品質というと色んな定義があります。
僕も品質特性や品質副特性を空で言えるわけではありません。

しかし作る側の立場になると品質は不具合の少なさばかりに目が行きます。
そうじゃないと理屈ではわかってるんですけどね。
わかりやすい不具合がいつも議論されます。