11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iOSアプリを改修する時に、見積もりを盛った方がいいプロジェクト チェックシート

Last updated at Posted at 2018-04-08

ここ最近のiOS開発で機能改修時に、クソコード、構成の問題で、見積もりを盛らなきゃと思った方が多々ありました。
今後の他案件の見積もりで参考できるようにメモっていきます。

基本的に筆者の好みでまとめているだけなので、どなたにも当てはまるものではないです。

改修案件を受けた時に該当する実装が存在したら、工数見積もりの掛数あげちゃいましょう!

iOSならでは

UI

  • NavigationBar、TabBarが意味もなくオリジナルで作成されている
  • 拡大モードで動作している
  • autolayoutが使われていない
  • 必要以上にStoryBoardを分割している(全体の見通しをしにくく、調査工数が上がるため)
  • 普通のネイティブアプリなのに、stroyboardを使っていない(不必要にコードのみでUIが作られていると、改修時の調査に5倍以上時間がかかるので、見積もりを跳ね上げる必要が出てしまいます。)

Model

  • DateFormatterの初期化が適切に行われていない
  • FMDBとか使ってる
  • DB,APIの処理がViewControllerの中にある

Swiftならでは

  • Swiftのバージョンが古い
  • getHogeの様なメソッドがある

Objective-Cならでは

  • nilチェックがいらないところでチェックしている
  • getHogeの様なメソッドがある

どの案件にも適用できそうなところ

コード管理

  • コード管理ツールが使われていない
  • IDEのwarningだらけ
  • コード規約がなく、プログラムのフォーマットがバラバラ
  • 動作しないUTが存在する
  • UTと言いつつ、ほとんどテストパターンを網羅していないテストが多い(信頼できないので、ない方がいい)
  • MVVMを導入したつもりのプロジェクト(結構な確率でMVVMではない何かになっているので、ただぐちゃぐちゃで読みにくい)
  • プロジェクトのフォルダ構成に統一性がない
  • 長くメンテナンスされていない(1年半以上目安。SDKの一部機能が非推奨になっていたり、最新OSverでは正常に動作しなくなっていたりと、工数upの元になりやすい)

プログラム

  • 使われていないクラスや、プロパティが多数ある
  • 必要以上にBaseControllerなど各所に継承が使われている
  • Controller周りのプログラムが600行超えているものが多数ある
  • 適切なライブラリがあるのに、車輪の再発明をしてる
  • メンテされていないライブラリを使っている
11
11
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?