InfoQ ホームページ Software_Craftsmanship に関するすべてのコンテンツ
-
アジリティのためのマネジメント意識変革を実現する
市場のボラティリティ(Volatility, 移り変わりやすさ)は,企業に対して,需要変化への可能な限り迅速な適応と,最大限の価値獲得を同時に要求する。アジャイルを採用する上でマネジメント層は,組織内の障害を取り除くチーム編成を行う必要がある,とAhmet Akdag氏は言う。アジリティへの移行とは,試して,失敗し,そこから学ぶ,という方法の習得そのものなのだ。
-
ソフトウェアアーキテクチャを定義する10の特性
ソフトウェアアーキテクチャというのは、プロセス(仕様やビジネス目標をアーキテクチャ設計にマッピングする、一連の戦略的な設計判断)であり、もの(さまざまなステークホルダーに向けて書かれた、プロセスによって生み出されるビューの集合)である。Michael Stal氏はソフトウェアアーキテクチャの定義をこう説明する。
-
優れたWebフロントエンド開発者になるには
この記事では、二人のエンジニアが書いたWeb開発者のためのアドバイスを紹介する。一人はおすすめの有用なツールとテクニックについて、もう一人はブラウザ向けに書くときに遭遇する課題への対処についてアドバイスしている。
-
データの品質を向上する - Preziのケース
組織がデータ駆動型であるためには,データの山を積み上げるだけでは不十分だ。 そのデータが正確で,かつ意味を持っていなくてはならない。PreziのデータエンジニアであるJulianna Göbölös-Szabó氏は,同社がどのようにデータの品質を向上したかについて講演した。氏らが選択したソリューションは,全チームを正しい方向に向かわせる手段として,契約をベースとした軽量アプローチを採用し,それによって非構造的データから構造的データに移行する,というものだ。
-
レガシソフトウェアをメンテナンスするためのモデルベースのアプローチ
Phillips HealthcareのソフトウェアアーキテクトであるHans van Wezep氏がBits&Chips Software Engineering Conferenceで,モデルを使用したマイグレーションについて講演した。InfoQでは氏にインタビューして,レガシソフトウェアをメンテナンスする上での問題点,手作業によるリファクタリングでのエラーの問題,コードベースのリファクタおよびマイグレーションにおけるモデルの利用,レガシソフトウェアをメンテナンスする上でのモデル利用のメリットなどについて話を聞いた。
-
総保有コストを使った技術的負債の管理
総保有コスト(TCO)は、投資の意思決定やファイナンスの分析で使われる。これをソフトウエアに適用すると、初期の開発コストや、製品が提供停止になるまでのメンテナンスのコストをカバーできる。TCOは設計上の決定や技術的負債の管理をサポートする。
-
形式的手法を用いた正当性立証可能なソフトウェアの開発
ソフトウェアプログラム内の中核的なコミュニケーションと状態管理が論理的に100%正しいことを証明する手段として,コンピュータチェックモデルを利用する方法がある。同じようなモデルは,100%正確なソースコードの作成にも応用できる。このような形式的手法を利用することにより,市場提供のためのコストと時間を削減し,より信頼性の高いソフトウェア製品の提供が可能になる。
-
組織的負債に対処する
ニューヨーク大学で講師を務めるSteve Blank氏はブログで、技術的負債に似た概念である組織的負債について書いている。成長する組織は組織的負債を認識し解消する方法を理解する必要がある、と氏はいう。
-
継続的テストの利点
2006年の設立以来、Unrulyはチームとしてエクストリームプログラミング(XP)を実践してきた。テストファーストの手法を用いてコードを書き、ステージングでの手動テストに頼るのではなく、自動テストに投資をしてきた。InfoQはRachel Davies 氏にインタビューし、テストの継続的手法の重要性やその育て方、Unrulyで生み出している価値について話を聞いた。
-
マイクロサービスとソフトウェア開発の目標
ソフトウェアの目標は,プラスのビジネスインパクトを得るためのリードタイムを最小化し,持続することだ。その他はすべて些細なことに過ぎない - QCon Londonカンファレンスで行ったプレゼンテーションの中で,Dan North氏はこのように訴えて,プログラミングに対する論理的な理由付けと,その結果としてのマイクロサービスに適したアーキテクチャスタイルへの移行について説明した。
-
Jez Humble氏が21世紀のソフトウエアデリバリについて語る
Jez Humble氏は、現在のソフトウエアデリバリは価値あるソフトウエアを開発するということに対して最適されておらず、イノベーションを起こすには3つの問題を解決する必要がある、と言う。第一に従来のプロジェクトモデルが不適合であること。第二に組織全体の価値の流れを考慮する必要があること。第三に問題が根ざしているのはプロセスや文化であり、組織構造やツールではないということ。
-
"Worse is Better"コンセプトとアジャイル/リーン
25年前にRichard P. Gabriel氏の提唱した“Worse is Better(悪い方がよい)”のコンセプトに従うならば,機能が少ない方がよい製品を生み出せる,ということになる。我々は“Worse is Better”のコンセプトから,アジャイル/リーンによる開発とアーキテクチャを学ぶことができる,とKevlin Henney,Frank Buschmann両氏は言う。
-
"アンヘッジド・コールオプション"はバッドコードに対するメタファとして適当か
バッドコードと技術的負債に関するブログ記事で,Steve Freeman氏は,Chris Matt氏がバッドコードを表す"ヘッジされない(unhedged)コールオプション"というメタファを思い付いた経緯について説明した。この記事が今,RedditとHacker Newsで激しく議論されている。InfoQでは,バッドコードとコードの臭い(code smells)に対するメタファの使用,低品質コードのトレードオフとコスト,コード品質に��する責任などについて,両氏にインタビューした。
-
Exercism.ioでプログラムスキルを向上する
Exercism.ioは,フィードバックとディスカッションを通じて,プログラム言語における開発者のクラフトマンシップ向上を支援する。コードを書き,議論することによって,自身の問題解決能力を強化することができるコミュニティとツールである。InfoQでは,Exercismを生み出したKatrina Owen氏と,C++言語トラックで貢献したRichard Thomson氏にインタビューした。
-
アジャイルの現状 - 2014年12月
InfoQの編集者、コンサルタント、トレーナーに現在のアジャイルの状況や普及、どのようなアイディアや実践、技法が出現しているのかについて、意見を聞いた。科学的な調査ではなく、何方かと言えば非公式の意見収集だ。