タグ

開発に関するbutyricacidのブックマーク (83)

  • ソフトウェアの納期見積もりは、星占いレベルのものであると思う - メソッド屋のブログ

    このエントリでは、ソフトウェアの見積もりがどういうものであるかをシェアした上で、今後日はどのような方向に向かえばよいのでは?という私のアイデアをシェアしたいと思う。 注:このエントリは、某銀行の件とは全く関係ありません。考えるきっかけになっていますが、中の人がどんな状況だったかもわからないのに、勝手なことを想像して、人や企業を叩くのは私の趣味ではないからです。 ソフトウェアの見積もりの正確さ ソフトウェア見積もりのことを知りたければ、下記のがお勧めだ。 books.rakuten.co.jp このに「不確実性のコーン」という開発フェーズごとの見積もりの正確性に関する図がある。これを見ると、最初の企画の段階で実施した見積もりは、誤差が何と16倍もあり、概算見積もりのレベルでも4倍の開きがある。画面帳票仕様を「確定」したレベルでやっと1.6倍程度の開きになる。 請負開発を実施するときに、

    ソフトウェアの納期見積もりは、星占いレベルのものであると思う - メソッド屋のブログ
  • Kazuho's Weblog: 「技術的負債」は避けるべき? - 割引率を使って考えてみた

    技術的負債」をコントロールする定量評価手法への期待 からの続きです。 ソフトウェアサービス企業における技術責任者の最も重要な仕事のひとつが、エンジニアリングの効率化です。そのためには、サービスの初期開発コストだけでなく、運用コストを織り込んだ上で正しい技術的判断を行っていく必要があります。 「技術的負債」という言葉は、この運用コスト最適化の重要性を指摘する上で、とてもキャッチーなフレーズだと考えられます。しかし、「技術的負債」を産まないように、あるいは負債を早めに返していこうとすると、開発工数が大きくなってしまうという問題もあります。 初期開発コストと運用コストのバランス注1を、どのようにとっていけば良いのでしょう? 同等の機能を提供する「ソフトA」と「ソフトB」を考えてみます。ソフトAは、初期開発工数が6だが、2年目以降の維持工数が毎年4かかるとします注2。ソフトBは、初期開発工数が1

  • ソフトウェアアーキテクトが知るべき97のこと

    ソフトウェアアーキテクトが知るべき97のこと大人気の書籍『ソフトウェアアーキテクトが知るべき97のこと』のエッセイを無料で公開中!すべてのソフトウェアアーキテクトにおすすめのがウェブで読めるようになりました。 エッセイ一覧システムの要件よりも履歴書の見栄えを優先させてはならない質的な複雑さは単純に、 付随的な複雑さは取り除け最大の問題は、たぶん技術的なことではないまずコミュニケーション、そのための明快さとリーダーシップパフォーマンスの決め手はアーキテクチャー要求仕様の当の意味を探れ立ち上がろう!すべてのものは、かならずエラーを起こすそれは交渉だということに気付け定量化を求めよ500行の仕様書より1行のコードフリーサイズのソリューションを求めるなパフォーマンスの検討に早過ぎるということはないアーキテクチャーとはバランスをとること犯罪的なコミットエンドラン

    ソフトウェアアーキテクトが知るべき97のこと
  • 共通化でモチベーションと効率が低下した話 - Qiita

    自分は普段ソーシャルゲームの開発に関わっていますが、群雄割拠のグリモバ全盛期にその開発を効率化するために社内ではいろいろな取り組みがなされました。そのひとつにアプリ別ではなく機能別のチームを作るということがありました。結果としてそれは失敗だったと言えるのでそのことについて書いていきます。 背景 当時のソーシャルゲームの主流はカードゲームで、クエスト・レイドをこなしつつガチャで引いたカードを合成して強化していくスタイルが一般的でした。そしてその多くがシステムはほとんど同じで見た目だけを変えた「柄替え」アプリでした。 その中で行われたのが二つの共通化です。 コードの共通化 今までのアプリでは元のアプリのソースからフォークするなどして別のプロジェクトとして独立させそれに対して各チームが開発を行うと言う感じでしたが、今回の共通化ではゲームのコアとなるロジック部分をサブモジュールとして分離し、各アプ

    共通化でモチベーションと効率が低下した話 - Qiita
  • CEDEC2014 「ライブラリを作ってはいけない ~それでも作りたいあなたへのアドバイス~」

    社内ライブラリを8年間に渡って作り、サポートし続けてきた講演者が、1~2年で完成するだろうという当初の想定とは裏腹に、なかなか進まない作業、得られないサポート、バグの押し付け合い、それら数々の修羅場から得られた、技術面およびサポート面でのノウハウをお伝えします。 http://cedec.cesa.or.jp/2014/session/ENG/8073.html ※2014/9/4にCEDEC2014@パシフィコ横浜で行った講演です。Read less

    CEDEC2014 「ライブラリを作ってはいけない ~それでも作りたいあなたへのアドバイス~」
  • デスマーチが起きる理由 - 3つの指標

    Your system administrator has blocked your computer or device. Please contact the system administrator.

  • エターナらないゲーム開発

    ゲームの仕様書を初めて作成する人のための足掛かりのスライド ▼以下のスライドを一つにまとめました ・ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成 https://www.slideshare.net/ChizuruSugimoto/ss-173331109 ・ゲームの仕様書を書こう2 仕様書に記載する機能内容 https://www.slideshare.net/ChizuruSugimoto/ss-173332578 ・ゲームの仕様書を書こう3 仕様書に記載するデータと画面 https://www.slideshare.net/ChizuruSugimoto/ss-173333150 ・ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用 https://www.slideshare.net/ChizuruSugimoto/confluence-17333

    エターナらないゲーム開発
  • 技術的負債 - Qiita

    この文章の目的 開発者とステークホルダーが「技術的負債」という言葉で正しくコミュニケーションをとれるようになることをゴールとする。技術的負債については色々な所で語られるが、実際の現場では技術的負債が管理されてない事が多いのでは無いだろうか。この場で技術的負債という言葉についての知見をまとめ、たたき台とする事で、ゴールに到達する第一歩としたい。 対象読者 開発者 責任者/見積もりに対して決定権を持つ人 技術的負債とは何か 技術的負債とは、コード・設計の状態を表す見積もりのための言葉である。継続的に開発を行う上で理想状態から離れたものを負債という比喩で表していている。 たとえば、省略可能なプロセスを飛ばす事で開発の高速化を行う事があり、初期開発を高速に行う開発者の中には意識的・無意識的問わずこれを行っている事例が多々存在する。このようにして抱えられた技術的負債は長期的に見た場合に問題を引き起こ

    技術的負債 - Qiita
  • Webサービスが当たると、いずれ返済できない技術的負債に突入する由々しき構造について | F's Garage

    Webサービスが沢山の人に受け入れられると、そのソースコードは長く運用ができる。外れると、気軽に廃棄することができる。 既にPHPPerlで書かれたWebサービスが10年以上ビジネスに貢献している事例は沢山ある。Webシステムは気軽に作れて気軽に廃棄できます、というフェーズを超えている。そのコードが長期にわたって沢山の人に貢献し、かつ、それを維持することで沢山の人がお給料をもらっている事実が存在する。 もしそのサービスが、最初から10年動くことがわかっているなら、どういう技術を選ぶべきだろうか? Web業界の問題は「最新のネタが欲しい、新しい話題を作りたい」と思っている人たちの影響で、その構成要素である開発言語がレガシーな技術になってしまい、人材採用の足かせにになるという構造的問題が起きること。「10年持つ技術」とは?を考えると、「10年人気を維持できる技術」という論点にすり替わってしま

    Webサービスが当たると、いずれ返済できない技術的負債に突入する由々しき構造について | F's Garage
  • 何でもデバッグできるようになるスキル - ワザノバ | wazanova

    https://www.youtube.com/watch?v=VV7b7fs4VI8 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 パッケージ(apt, yum, gem等)レポジトリのホスティングサービスであるPackageCloudを開発している、James Golickの講演です。 パフォーマンスの高いハイクオリティなソフトウェアをデプロイしたければ、あらゆるレベルでバグ修正ができるようになること。 まず、エピソードとして紹介しているのが、友人の会社のサイトが落ちて、あいにく、その会社のエンジニアが出払ってしまっていて、どうにかしてほしいと助けを求められたときのこと。 ソースコードを見たことない。 システムの構成を知らない。 phpは詳しくない。 SSHでアクセスできる情報だけはある。 とい

  • Sinatra frameworkに関する私見 - ローファイ日記

    エクスキューズとか 正直な話をすると、Webフレームワーク自体に関する興味は以前に比べて失われてきているので、最新のSinatraの細かいコミットまでは追っていない。 だが、2年強ほど Sinatra/Padrino 界隈を追いかけてきて得た知見と言うか考えについてまとめるのは一定の価値がある、少なくとも自分に取っての価値は非常に大きいと思うのでここに書いていきたい。 副次的には、ミスコンセプトによってSinatraを利用して、結果必要の無いイメージの悪化を招く事態を一件でも減らせればと思う。 Sinatraはmicroframework、あるいは「フレームワークではない」 公式の説明にある通りである。 具体的にどういうことかと言うと、Sinatra単体ではウェブサービスに必要な要件を満たさないかもしれないと言う話である。Sinatraが持っていないものについては、Sinatra以外の場所

    Sinatra frameworkに関する私見 - ローファイ日記
  • 個人開発と徳

    2016/07/15の「Growth Hack Night 〜エンジニアが語るプロダクトの立ち上げとグロース〜」の発表資料です。 http://d-cube.connpass.com/event/35259/

    個人開発と徳
  • 地方の常駐・運用PGが、東京の開発エンジニアになるためにやった一つの事 - paiza times

    Photo by Ryan Johnson 今回は、paiza開発担当の佐藤がお送りします。 paizaの開発エンジニアとして働き始めたのが今年2月から。日々Railsと格闘しつつpaizaのWebサービスの開発を行ってますが、それ以前は北陸のとある地方でC#メインの運用保守エンジニア(常駐型)をやってました。そんな自分が開発エンジニアになるためにやった事、また実際になってみて判った事について書いてみます。 ■何をやっていたか 地方の高専の情報工学科→同じ地方の大学に編入→大学院→同じ地方の常駐メインのIT企業→paiza(ギノ)というのがこれまでのキャリアです。その地方のIT企業では地方自治体のサーバの運用保守のエンジニアをやってました。 運用保守エンジニア仕事は、他社が作ったシステムが納品されたところから引き継いで運用保守をしていたのですが、そのシステムは色々とバグが多かったので当初

    地方の常駐・運用PGが、東京の開発エンジニアになるためにやった一つの事 - paiza times
  • 受託開発を軸にしながら自社開発を継続するために行っている工夫(時間・お金の話など) - ヴェルク - IT起業の記録

    ヴェルクでは、受託開発を軸にしながら、自社開発を行っていくスタンスで仕事をしています。その狙いや取り組みについては、以前書いた「起業して3年でやってきたこと」や「受託開発脳から自社開発脳へ切り替えの7つの壁」などに詳しく書いているので、ご参考までに。 今回は、この取り組みを維持するために行っている工夫について書きたいと思います。 受託開発できちんと収益を上げる体制を確立する ヴェルクはVCから出資を受けているわけではないため、自社開発を行うための資金は自分たちで稼ぐ必要があります。非常にシンプルで、「稼げなければ好きはものは作れない。」基的にこのスタンスです。 そのため、まずきちんと利益を確保できる体制を確立・維持に全力で取り組みます。 とは言え、受託開発は労働集約型なので、売上を上げるためには人数を増やさないといけないですし、人数を増やすとクオリティの維持が難しく、クオリティが下がれば

    受託開発を軸にしながら自社開発を継続するために行っている工夫(時間・お金の話など) - ヴェルク - IT起業の記録
  • 受託開発脳から自社開発脳へ切り替えの7つの壁 - ヴェルク - IT起業の記録

    これ、思ったより大変でした。 自分含め、うちにいるメンバー全員、 これまでの経歴では受託開発をメインにやっていたため、 自社サービス開発の経験はかなり少なかったです。 でも、ヴェルクでは、受託開発をしつつ、 時間を作って色々と作っていこう、というスタンスのため、 起業直後から色々と企画を考えていました。 でも、受託開発脳から自社開発脳への切り替えは思った以上に苦労しました。 要件定義等でお客さんと一緒に要件を考えたりしますが、 最終的に「やりたい事」を持っているのはお客さんになります。 要件定義の前の企画やグランドデザインと言った分野は お客さんの戦略に沿ったものになります。 だから、最終的には、誰かが答えを持っている事が殆どです。 そのため、ゼロからそれを考える事があまりないんですよね。 いざ、ゼロから自分たちで企画を考えようと思った時、 いろいろと壁がありました。 1. 当の意味での

    受託開発脳から自社開発脳へ切り替えの7つの壁 - ヴェルク - IT起業の記録
  • iOSアプリのテスト自動化本を執筆しました - やらなイカ?

    まだ校正中なのですが、iOSアプリのテスト自動化入門(仮)的な*1タイトルのを執筆しました。秀和システムさんから3月中旬ごろ発売予定です。 iOSアプリ テスト自動化入門 作者: 長谷川孝二出版社/メーカー: 秀和システム発売日: 2014/03/18メディア: 単行この商品を含むブログ (1件) を見る 【3/7追記】Amazonさんで予約はじまりましたのでリンク追加しました 昨年Androidテスト部で書いた『Androidアプリテスト技法』は、テスト技法とテスト自動化が半々という構成でしたが、書はほぼテスト自動化について特化した一冊です。 内容、想定読者 Xcode 5・iOS 7環境*2における、ユニットテストの書きかた、システムテスト〜受け入れテスト向けのツール・フレームワークのほか、ビルドやAdHoc配布の自動化、CI、メトリック(メトリクス)採取など、アプリ開発にまつわ

    iOSアプリのテスト自動化本を執筆しました - やらなイカ?
  • カレー屋チェーン店公式アプリの仮想案件をみんなで見積もってみた #モバイル見積 - ReDo

    スマホアプリを新規作成したらいくらかかる?モバイル見積もり勉強会 #モバイル見積 http://www.zusaar.com/event/3147004 カレー屋チェーン店「ペッパー警部」の公式アプリを作ってほしい、という仮想案件に対して見積もりをしてみる勉強会を2014.01.24 19:00-21:30で開催しました。会場は渋谷の21cafeをお借りしましたが、無料で借りていいの?というぐらいにはプロジェクタ・WiFi完備でキレイなとこでした、同業(?)の皆様にはオススメしておきます。 WordBench神戸勉強会さんの WordPressサイトを構築するといくらかかる? 見積り勉強会で価格を出してみた http://wordbench.org/2014/01/14/wordbench-kobe/ が、面白かったので、そのスマホアプリ版をやってみた、という話です。 モバイル見積もり勉強

    カレー屋チェーン店公式アプリの仮想案件をみんなで見積もってみた #モバイル見積 - ReDo
  • アクセルを踏むためのテストとブレーキを踏むためのテスト - yoshiori.github.io

    Rebuild.fm#29 聴いてて少し語りたくなってるので書いてみる。 テスト考2014 – Hidden in Plain Sight から発してると認識してるんだけど新年早々テストについて盛り上がってますね! で、個人的な意見を書くまえに、俺はテストどころかコンピュータサイエンスも学んだ事ない人間ですので色々見当違いな事言ってるかもしれないけど、エンジニアのスタートが組み込み系の QA エンジニアなので現場感覚はそれなりにあるつもりです。 で、早速なんだけど上記ブログから引用させてもらうと まぁ、なんにせよ、現在のウェブアプリ開発におけるテストなんて一歩間違えれば「ままごと」みたいなレベルだから、そんなに原理主義的になるのはダサいよねって話です。 id:kennejima に百パー同意で、ぶっちゃけちゃんと QA やった人間からすると境界値テストすらしてないしホワイトボックステストだ

  • パラメータの正当性検査とユニットテストのカバレッジ | DevelopersIO

    渡辺です。 最近はユニットテストの導入方法などに関するエントリーが多かったので、今回は実用的な小ネタとして、メソッドにおけるパラメータの正当性検査とユニットテストについて紹介したいと思います。 パラメータの正当性検査 はじめにパラメータの正当性検査について復習しましょう。Javaプログラマであれば読んでないことが許されないEffective Java(第2版P.175、ただし絶版)には次のように記述されています。 ほとんどのメソッドとコンストラクタは、パラメータとして渡される値に関して何らかの制約を持っています。たとえば、インデックス値が負であってはいけないとか、オブジェクト参照がnullであってはいけないというのが普通です。このような制約は明確に文書化すべきであり、メソッド体の初めに検査することで制約を強制すべきです。これは、エラーが発生したらできるだけ速やかにエラーを検出するようにす

    パラメータの正当性検査とユニットテストのカバレッジ | DevelopersIO
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO