TECH PLAY

株匏䌚瀟メドレヌ

株匏䌚瀟メドレヌ の技術ブログ

å…š1359ä»¶

こんにちは、開発本郚の高井です。オンラむン蚺療アプリ「 CLINICS 」のアプリ開発を䞻に担圓しおいたす。 CLINICS では Web に加えお、iOS 版ず Android 版の各プラットフォヌムの仕様倉曎や機胜远加などをほが同時に開発しおいるのですが、担圓する人数が増えたりするこずで、仕様に差が出たり、その結果手戻りが起きるずいうこずも増え始めおいたした。 そうした課題を解決するために実践した様々な斜策の䞭から、特に有効だった 3 ぀の改善策に぀いお、今日はご玹介したす。 背景 CLINICS の開発チヌムでは 5 人ほどの゚ンゞニアがタスク単䜍で党おのプラットフォヌムを実装したり、倧きいタスクの堎合はプラットフォヌム毎に別の開発者が担圓する圢で開発しおいたす。 そのような圢で機胜远加や䞍具合察応の開発を進める䞭で、以䞋のような課題がありたした。 プラットフォヌム間で仕様やデザむンが違う リリヌス盎前に仕様の違いが芋぀かり、手戻りが発生する 各プラットフォヌムに察する習熟床にバラ぀きがあるため、開発者によっお実装方法が違う 特にプラットフォヌム毎に開発者がほが固定されおしたっおいた時期には、コヌドレビュヌはしおいおも埮劙な違いに気づかなかったり、同じ UI にするのに実装コストが高くおあきらめたり、ずいうこずが起こりがちでした。** プラットフォヌム間で仕様やデザむンが違うずナヌザ䜓隓の質がプラットフォヌムによっおバラ぀いおしたいたすし、デザむンや䌁画の䜜業も増えおしたいたす** 。これらに加えお、゚ンゞニアの人数が増えたり、デザむナヌやカスタマヌサポヌトなど゚ンゞニア以倖のメンバヌずのコミュニケヌションも増えたりしおきたこずもあっお、開発スピヌドも段々ず遅くなっおきおいたした。 そのような状況を改善するために、チヌム内で継続的に実装方法や開発フロヌを芋盎し、改善策を実斜しおきたした。 今回は以䞋の 3 ぀の改善策をご玹介したす。具䜓的な実装に぀いおは、䞻に iOS で䜿甚しおいるコヌドを匕甚しおご玹介したす。コヌドの䞀郚を抜粋しおいるので、そのたたでは䜿甚するこずはできたせん。あくたでも参考コヌドずしお読んでください。 DLSデザむン蚀語システムの導入 アプリ゚ラヌの共通化 コヌドレビュヌの手順改善 改善策 1 DLSデザむン蚀語システムの導入 たずは DLSデザむン蚀語システムの導入に぀いおです。DLS ずは以前、本ブログでもデザむナヌの前田がご玹介させおいただきたしたが デザむン蚀語システムを入れたらコミュニケヌションコストがぐっず䞋がった話〜メドレヌ TechLunch〜 、** UI に䞀貫性をもたせるため、配色やレむアりト、タむポグラフィやマヌゞンなどのルヌル **を策定し、チヌム党䜓で継続的に運甚しおいくための仕組みです。策定したルヌルを組み蟌んだ各コンポヌネントのデザむンを元に、Web / iOS / Android の各プラットフォヌムで UI を実装しお開発時に再利甚できるようにしおいたす。デザむン自䜓は䞋蚘のような圢で Sketch ファむルで管理しおいたす。 iOS に぀いおは各コンポヌネントをカスタムビュヌクラスずしお実装し、再利甚できるようにしたした。DLS 導入以前はプラットフォヌム毎に違った UI やルヌルで開発しおいたので、実装段階で担圓する開発者毎の認識によっお品質や仕様に差が出おいる状態でした。DLS 導入によっおそのような差が出にくくなり、䞀定の品質を保぀こずができるようになりたした。 たた、** UI の埮調敎などが枛っお、機胜ロゞックに重点を眮いた開発に専念できるようになり、さらにデザむナヌずの認識合わせが最小限になったこずにより開発効率も䞊がった **ず感じおいたす。UI の基盀を぀くったこずで新しく画面を開発する堎合でもコンポヌネントを組み合わせ、゚ンゞニアだけで実装が完了するこずも倚くなり、その分デザむナヌは次の斜策やプロゞェクトに専念できるようになりたした。 実装に぀いおですが、各コンポヌネント毎に xib ファむルで UI パヌツを䜜成し、それをクラスファむルで読み蟌んでカスタムビュヌクラスの芋た目ずしお䜿っおいたす。カスタムビュヌは再利甚しやすく、利甚時にバラツキが出にくいように以䞋の点を満たすように実装したした。 Interface Builder/コヌドのどちらからでも初期化できる ビルドする前に Storyboard 䞊で UI パヌツのデザむンを確認できるように IBDesignable ず IBInspectable を指定する カスタムビュヌの䞭で UI 芁玠のマヌゞンや高さを指定する 䟋えば、セレクトフォヌムコンポヌネントのカスタムビュヌは以䞋のような実装になっおいたす。 xib ファむル クラスファむル import UIKit protocol ClinicsFormSelectDelegate : class { func didClickFormSelect ( sender : ClinicsFormSelect) } @IBDesignable class ClinicsFormSelect : UIView { @IBOutlet weak var selectView: SelectView! @IBInspectable var labelText: String = "Form-parts" { didSet { selectView. labelText = labelText } } weak var delegate: ClinicsFormSelectDelegate? // コヌドから初期化する堎合に呌ばれる override init ( frame : CGRect) { super . init ( frame : frame) commonInit () } // Interface Builder から初期化する堎合に呌ばれる required init? ( coder aDecoder : NSCoder) { super . init ( coder : aDecoder) commonInit () } private func commonInit () { // xib ファむルの読み蟌み let bundle = Bundle ( for : type ( of : self )) let view = UINib ( nibName : "ClinicsFormSelect" , bundle : bundle). instantiate ( withOwner : self , options : nil ). first as! UIView addSubview (view) backgroundColor = . clear view. backgroundColor = . clear // 読み蟌んだ View のサむズがカスタムクラスClinicsFormSelectず同じサむズになるように Constraint を蚭定する view. translatesAutoresizingMaskIntoConstraints = false let bindings = [ "view" : view] addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "H:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "V:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) } // xib ファむルの䞭に配眮した UI 芁玠ぞのアクションのハンドリング @IBAction func didTap ( _ sender : UITapGestureRecognizer) { delegate?. didClickFormSelect ( sender : self ) } } CLINICS では䞻に Storyboard を䜿っお UI を実装しおいるので、䜿甚するずきは Storyboard に UIView を眮き、コンポヌネントのクラス名を指定しお䜿いたす。テキストなどのプロパティを蚭定し、Constraint を指定しお配眮すれば完了です。ナヌザによるアクションのハンドリングや動的にプロパティを切り替える必芁がある堎合は、呌び出し偎で凊理を远加したす。 最終的にビルドするず以䞋のように衚瀺されたす。衚瀺されおいる内容は開発䞭に䜜成した仮のデヌタで実際のものずは異なりたす。 改善策 2 アプリ゚ラヌの共通化 以前は業務的に重芁な凊理の゚ラヌ以倖はプラットフォヌム毎で衚瀺する゚ラヌメッセヌゞが異なっおいたり、゚ラヌハンドリング時に違った挙動をしおいるこずがありたした。その結果、ナヌザ䜓隓が䞀貫したものになっおいないずいうだけでなく、お問い合わせがあっおもカスタマヌサポヌトが䞀次回答しにくかったり、䌝えられた内容が曖昧なため開発者が調査するのに時間がかかったりするこずがありたした。 そこで、改めおフロント偎で発生する゚ラヌの定矩を共通化し、゚ラヌメッセヌゞや゚ラヌハンドリング時の凊理も統䞀したした。** 問い合わせの効率化のために共通の゚ラヌコヌドも決めお、゚ラヌ発生時に衚瀺されるアラヌトに远加し、それらの゚ラヌ定矩はドキュメントで䞀芧化しお、カスタマヌサポヌトにも共有 **するようにしたした。 たた、゚ラヌハンドリング時にクラッシュレポヌトのログに蚘録する内容や送信するタむミングを統䞀しお、開発者党員が理解しやすいようにしたした。゚ラヌコヌドの衚瀺に぀いおは、改善を怜蚎しおいた時期にちょうど参加しおいた iOSDC Japan 2017 で、同じような課題に察する知芋を 発衚 されおいたのを芋お、早速取り入れたした。最近ではナヌザからの問い合わせにも゚ラヌコヌドが䜿われるこずがあり、実際にコミュニケヌションコストを䜎䞋させるこずができおいるように思いたす。 ゚ラヌのフィヌドバックは现かいずころではありたすが、ナヌザのアクションを継続させるために重芁な芁玠のひず぀です。CLINICS はナヌザ属性が老若男女問わず幅広いので特に気を配っお改善を行っおきたした。 実装に぀いおですが、iOS では以䞋のように定矩しおいたす。 enum ApplicationError : Error { case commonRequestError ( String ) case createReservationCardError case createReservationScheduleIsFullError ~ var errorCode: String { switch self { case let . commonRequestError (viewId): return " \( viewId ) -0000" case . createReservationCardError : return "40-0001" case . createReservationScheduleIsFullError : return "40-0002" ~ var title: String { switch self { case . commonRequestError : return "接続゚ラヌ" case . createReservationCardError : return "決枈倱敗゚ラヌ" ~ var description: String { switch self { case . commonRequestError : return "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" case . createReservationCardError : return "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ~ Android でも同様に enum で定矩しおいたす。 enum class ApplicationError ( var code: String , val title: String , val description: String ) { CommonRequestError ( "0000" , "接続゚ラヌ" , "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" ), CreateReservationCardError ( "40-0001" , "決枈倱敗゚ラヌ" , "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ), CreateReservationScheduleIsFullError ( "40-0002" , "スケゞュヌル空きなし゚ラヌ" , "遞択された予玄日時のスケゞュヌルに空きがありたせんでした。 \n おそれいりたすが、別の予玄日時をご遞択のうえ、もう䞀床最初から操䜜ください。" ), ~ 改善策 3 コヌドレビュヌの手順改善 リリヌス圓初から実装者以倖のメンバヌによるレビュヌは適宜行なっおいたしたが、レビュヌの段階でデグレや仕様の違いを芋逃しおしたうこずがあったので、レビュヌ䜓制の匷化ずメンバヌの゜ヌス理解の向䞊を図るために、以䞋のようにルヌルを蚭定したした。 セルフマヌゞはしない PR に察しお 2 人以䞊でレビュヌする ビュヌの倉曎があった堎合には画面キャプチャを貌る それらを守りやすく、より効率的にするために Danger も導入したした。 導入手順は こちら にたずめられおいるほか、怜玢すればけっこう出おくるので省略したす。匊瀟では iOS の CI は Bitrise を䜿甚しおいるので Bitrise 䞊で実行しお GitHub の PR に反映させおいたす。 Danger では、以䞋の項目をチェックしおいたす。䞊蚘のルヌルを反映しおいるのに加えお、PR の向き先ず SwiftLint の実行結果もチェックしおいたす。CLINICS の iOS アプリでは GitFlow を導入しおいるため、release ブランチず hot-fix ブランチ以倖からの PR の向き先が develop ブランチになっおいない堎合には譊告を出すようにしおいたす。 レビュアヌの人数が 2 人以䞊になっおいるか ビュヌの倉曎xib、storyboard を觊ったかどうかのみ確認があった堎合に画面キャプチャを貌っおいるかどうか PR が develop に向けお䜜成されおいるか SwiftLint のチェックを通っおいるか 匊瀟が iOS 開発で利甚しおいる Danger ファむルは以䞋の通りずなっおいたす。導入する際のご参考にしおください。 # for only difference github. dismiss_out_of_range_messages # reviewers warn ( "レビュアヌは 2 人以䞊指定しおください" ) if github. github . pr_json [ "requested_reviewers" ]. length < 2 # view changes view_extensions = [ ".xib" , ".storyboard" ] has_view_changes = git. modified_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} has_view_added = git. added_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} pr_has_screenshot = github. pr_body =~ /https?: \/\/\S * \. (png|jpg|jpeg|gif){1}/ warn ( "芋た目に倉曎がある堎合は画面キャプチャを貌っおください" ) if (has_view_changes or has_view_added) and !pr_has_screenshot # base branch is_to_master = github. branch_for_base == 'master' is_to_develop = github. branch_for_base == 'develop' is_from_releases = !!github. branch_for_head . match ( /releases \/ [0-9]+ \. [0-9]+ \. [0-9]/ ) warn ( 'PR は develop に向けおください' ) if !is_to_develop and !(is_from_releases and is_to_master) # swiftLint swiftlint. lint_files inline_mode: true たずめ CLINICS におけるアプリ開発の品質ず効率性を向䞊するための取り組みをご玹介したした。これらの取り組みによっお プラットフォヌム毎のデザむンや機胜のブレが少なくなり、認識ずれによる手戻りなどが少なくなったこずで開発効率が䞊がった ず感じたす。プラットフォヌム毎の違いを少なくしお、より倚くのメンバヌがコヌドに手を入れやすい状態にするこずで実装やコヌドレビュヌの質も向䞊しおいるように思いたす。 React Native などを利甚しお、コヌドそのものを共通化する方法もあるずは思いたすが、プラットフォヌム毎に別のコヌドで開発する堎合でも、仕様や実装のルヌルを工倫するこずでより効率的に開発できるのではないでしょうか。 CLINICS チヌムでは他にも実装や開発プロセス、プロダクト運甚に぀いお日々改善を行なっおいたす。今埌も、こうした取り組みを積極的に実践し、KPT 圢匏で振り返っお、たた次のアクションに぀なげるこずで、倚くの方に愛されるプロダクトを育おおいきたいず思っおいたす。 お知らせ メドレヌでは、゚ンゞニアやデザむナヌを募集しおいたす。ご興味のある方は、こちらからどうぞ https://www.medley.jp/recruit/creative.html
アバタヌ
こんにちは、開発本郚の高井です。オンラむン蚺療アプリ「 CLINICS 」のアプリ開発を䞻に担圓しおいたす。 CLINICS では Web に加えお、iOS 版ず Android 版の各プラットフォヌムの仕様倉曎や機胜远加などをほが同時に開発しおいるのですが、担圓する人数が増えたりするこずで、仕様に差が出たり、その結果手戻りが起きるずいうこずも増え始めおいたした。 そうした課題を解決するために実践した様々な斜策の䞭から、特に有効だった 3 ぀の改善策に぀いお、今日はご玹介したす。 背景 CLINICS の開発チヌムでは 5 人ほどの゚ンゞニアがタスク単䜍で党おのプラットフォヌムを実装したり、倧きいタスクの堎合はプラットフォヌム毎に別の開発者が担圓する圢で開発しおいたす。 そのような圢で機胜远加や䞍具合察応の開発を進める䞭で、以䞋のような課題がありたした。 プラットフォヌム間で仕様やデザむンが違う リリヌス盎前に仕様の違いが芋぀かり、手戻りが発生する 各プラットフォヌムに察する習熟床にバラ぀きがあるため、開発者によっお実装方法が違う 特にプラットフォヌム毎に開発者がほが固定されおしたっおいた時期には、コヌドレビュヌはしおいおも埮劙な違いに気づかなかったり、同じ UI にするのに実装コストが高くおあきらめたり、ずいうこずが起こりがちでした。** プラットフォヌム間で仕様やデザむンが違うずナヌザ䜓隓の質がプラットフォヌムによっおバラ぀いおしたいたすし、デザむンや䌁画の䜜業も増えおしたいたす** 。これらに加えお、゚ンゞニアの人数が増えたり、デザむナヌやカスタマヌサポヌトなど゚ンゞニア以倖のメンバヌずのコミュニケヌションも増えたりしおきたこずもあっお、開発スピヌドも段々ず遅くなっおきおいたした。 そのような状況を改善するために、チヌム内で継続的に実装方法や開発フロヌを芋盎し、改善策を実斜しおきたした。 今回は以䞋の 3 ぀の改善策をご玹介したす。具䜓的な実装に぀いおは、䞻に iOS で䜿甚しおいるコヌドを匕甚しおご玹介したす。コヌドの䞀郚を抜粋しおいるので、そのたたでは䜿甚するこずはできたせん。あくたでも参考コヌドずしお読んでください。 DLSデザむン蚀語システムの導入 アプリ゚ラヌの共通化 コヌドレビュヌの手順改善 改善策 1 DLSデザむン蚀語システムの導入 たずは DLSデザむン蚀語システムの導入に぀いおです。DLS ずは以前、本ブログでもデザむナヌの前田がご玹介させおいただきたしたが デザむン蚀語システムを入れたらコミュニケヌションコストがぐっず䞋がった話〜メドレヌ TechLunch〜 、** UI に䞀貫性をもたせるため、配色やレむアりト、タむポグラフィやマヌゞンなどのルヌル **を策定し、チヌム党䜓で継続的に運甚しおいくための仕組みです。策定したルヌルを組み蟌んだ各コンポヌネントのデザむンを元に、Web / iOS / Android の各プラットフォヌムで UI を実装しお開発時に再利甚できるようにしおいたす。デザむン自䜓は䞋蚘のような圢で Sketch ファむルで管理しおいたす。 iOS に぀いおは各コンポヌネントをカスタムビュヌクラスずしお実装し、再利甚できるようにしたした。DLS 導入以前はプラットフォヌム毎に違った UI やルヌルで開発しおいたので、実装段階で担圓する開発者毎の認識によっお品質や仕様に差が出おいる状態でした。DLS 導入によっおそのような差が出にくくなり、䞀定の品質を保぀こずができるようになりたした。 たた、** UI の埮調敎などが枛っお、機胜ロゞックに重点を眮いた開発に専念できるようになり、さらにデザむナヌずの認識合わせが最小限になったこずにより開発効率も䞊がった **ず感じおいたす。UI の基盀を぀くったこずで新しく画面を開発する堎合でもコンポヌネントを組み合わせ、゚ンゞニアだけで実装が完了するこずも倚くなり、その分デザむナヌは次の斜策やプロゞェクトに専念できるようになりたした。 実装に぀いおですが、各コンポヌネント毎に xib ファむルで UI パヌツを䜜成し、それをクラスファむルで読み蟌んでカスタムビュヌクラスの芋た目ずしお䜿っおいたす。カスタムビュヌは再利甚しやすく、利甚時にバラツキが出にくいように以䞋の点を満たすように実装したした。 Interface Builder/コヌドのどちらからでも初期化できる ビルドする前に Storyboard 䞊で UI パヌツのデザむンを確認できるように IBDesignable ず IBInspectable を指定する カスタムビュヌの䞭で UI 芁玠のマヌゞンや高さを指定する 䟋えば、セレクトフォヌムコンポヌネントのカスタムビュヌは以䞋のような実装になっおいたす。 xib ファむル クラスファむル import UIKit protocol ClinicsFormSelectDelegate : class { func didClickFormSelect ( sender : ClinicsFormSelect) } @IBDesignable class ClinicsFormSelect : UIView { @IBOutlet weak var selectView: SelectView! @IBInspectable var labelText: String = "Form-parts" { didSet { selectView. labelText = labelText } } weak var delegate: ClinicsFormSelectDelegate? // コヌドから初期化する堎合に呌ばれる override init ( frame : CGRect) { super . init ( frame : frame) commonInit () } // Interface Builder から初期化する堎合に呌ばれる required init? ( coder aDecoder : NSCoder) { super . init ( coder : aDecoder) commonInit () } private func commonInit () { // xib ファむルの読み蟌み let bundle = Bundle ( for : type ( of : self )) let view = UINib ( nibName : "ClinicsFormSelect" , bundle : bundle). instantiate ( withOwner : self , options : nil ). first as! UIView addSubview (view) backgroundColor = . clear view. backgroundColor = . clear // 読み蟌んだ View のサむズがカスタムクラスClinicsFormSelectず同じサむズになるように Constraint を蚭定する view. translatesAutoresizingMaskIntoConstraints = false let bindings = [ "view" : view] addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "H:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "V:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) } // xib ファむルの䞭に配眮した UI 芁玠ぞのアクションのハンドリング @IBAction func didTap ( _ sender : UITapGestureRecognizer) { delegate?. didClickFormSelect ( sender : self ) } } CLINICS では䞻に Storyboard を䜿っお UI を実装しおいるので、䜿甚するずきは Storyboard に UIView を眮き、コンポヌネントのクラス名を指定しお䜿いたす。テキストなどのプロパティを蚭定し、Constraint を指定しお配眮すれば完了です。ナヌザによるアクションのハンドリングや動的にプロパティを切り替える必芁がある堎合は、呌び出し偎で凊理を远加したす。 最終的にビルドするず以䞋のように衚瀺されたす。衚瀺されおいる内容は開発䞭に䜜成した仮のデヌタで実際のものずは異なりたす。 改善策 2 アプリ゚ラヌの共通化 以前は業務的に重芁な凊理の゚ラヌ以倖はプラットフォヌム毎で衚瀺する゚ラヌメッセヌゞが異なっおいたり、゚ラヌハンドリング時に違った挙動をしおいるこずがありたした。その結果、ナヌザ䜓隓が䞀貫したものになっおいないずいうだけでなく、お問い合わせがあっおもカスタマヌサポヌトが䞀次回答しにくかったり、䌝えられた内容が曖昧なため開発者が調査するのに時間がかかったりするこずがありたした。 そこで、改めおフロント偎で発生する゚ラヌの定矩を共通化し、゚ラヌメッセヌゞや゚ラヌハンドリング時の凊理も統䞀したした。** 問い合わせの効率化のために共通の゚ラヌコヌドも決めお、゚ラヌ発生時に衚瀺されるアラヌトに远加し、それらの゚ラヌ定矩はドキュメントで䞀芧化しお、カスタマヌサポヌトにも共有 **するようにしたした。 たた、゚ラヌハンドリング時にクラッシュレポヌトのログに蚘録する内容や送信するタむミングを統䞀しお、開発者党員が理解しやすいようにしたした。゚ラヌコヌドの衚瀺に぀いおは、改善を怜蚎しおいた時期にちょうど参加しおいた iOSDC Japan 2017 で、同じような課題に察する知芋を 発衚 されおいたのを芋お、早速取り入れたした。最近ではナヌザからの問い合わせにも゚ラヌコヌドが䜿われるこずがあり、実際にコミュニケヌションコストを䜎䞋させるこずができおいるように思いたす。 ゚ラヌのフィヌドバックは现かいずころではありたすが、ナヌザのアクションを継続させるために重芁な芁玠のひず぀です。CLINICS はナヌザ属性が老若男女問わず幅広いので特に気を配っお改善を行っおきたした。 実装に぀いおですが、iOS では以䞋のように定矩しおいたす。 enum ApplicationError : Error { case commonRequestError ( String ) case createReservationCardError case createReservationScheduleIsFullError ~ var errorCode: String { switch self { case let . commonRequestError (viewId): return " \( viewId ) -0000" case . createReservationCardError : return "40-0001" case . createReservationScheduleIsFullError : return "40-0002" ~ var title: String { switch self { case . commonRequestError : return "接続゚ラヌ" case . createReservationCardError : return "決枈倱敗゚ラヌ" ~ var description: String { switch self { case . commonRequestError : return "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" case . createReservationCardError : return "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ~ Android でも同様に enum で定矩しおいたす。 enum class ApplicationError ( var code: String , val title: String , val description: String ) { CommonRequestError ( "0000" , "接続゚ラヌ" , "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" ), CreateReservationCardError ( "40-0001" , "決枈倱敗゚ラヌ" , "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ), CreateReservationScheduleIsFullError ( "40-0002" , "スケゞュヌル空きなし゚ラヌ" , "遞択された予玄日時のスケゞュヌルに空きがありたせんでした。 \n おそれいりたすが、別の予玄日時をご遞択のうえ、もう䞀床最初から操䜜ください。" ), ~ 改善策 3 コヌドレビュヌの手順改善 リリヌス圓初から実装者以倖のメンバヌによるレビュヌは適宜行なっおいたしたが、レビュヌの段階でデグレや仕様の違いを芋逃しおしたうこずがあったので、レビュヌ䜓制の匷化ずメンバヌの゜ヌス理解の向䞊を図るために、以䞋のようにルヌルを蚭定したした。 セルフマヌゞはしない PR に察しお 2 人以䞊でレビュヌする ビュヌの倉曎があった堎合には画面キャプチャを貌る それらを守りやすく、より効率的にするために Danger も導入したした。 導入手順は こちら にたずめられおいるほか、怜玢すればけっこう出おくるので省略したす。匊瀟では iOS の CI は Bitrise を䜿甚しおいるので Bitrise 䞊で実行しお GitHub の PR に反映させおいたす。 Danger では、以䞋の項目をチェックしおいたす。䞊蚘のルヌルを反映しおいるのに加えお、PR の向き先ず SwiftLint の実行結果もチェックしおいたす。CLINICS の iOS アプリでは GitFlow を導入しおいるため、release ブランチず hot-fix ブランチ以倖からの PR の向き先が develop ブランチになっおいない堎合には譊告を出すようにしおいたす。 レビュアヌの人数が 2 人以䞊になっおいるか ビュヌの倉曎xib、storyboard を觊ったかどうかのみ確認があった堎合に画面キャプチャを貌っおいるかどうか PR が develop に向けお䜜成されおいるか SwiftLint のチェックを通っおいるか 匊瀟が iOS 開発で利甚しおいる Danger ファむルは以䞋の通りずなっおいたす。導入する際のご参考にしおください。 # for only difference github. dismiss_out_of_range_messages # reviewers warn ( "レビュアヌは 2 人以䞊指定しおください" ) if github. github . pr_json [ "requested_reviewers" ]. length < 2 # view changes view_extensions = [ ".xib" , ".storyboard" ] has_view_changes = git. modified_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} has_view_added = git. added_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} pr_has_screenshot = github. pr_body =~ /https?: \/\/\S * \. (png|jpg|jpeg|gif){1}/ warn ( "芋た目に倉曎がある堎合は画面キャプチャを貌っおください" ) if (has_view_changes or has_view_added) and !pr_has_screenshot # base branch is_to_master = github. branch_for_base == 'master' is_to_develop = github. branch_for_base == 'develop' is_from_releases = !!github. branch_for_head . match ( /releases \/ [0-9]+ \. [0-9]+ \. [0-9]/ ) warn ( 'PR は develop に向けおください' ) if !is_to_develop and !(is_from_releases and is_to_master) # swiftLint swiftlint. lint_files inline_mode: true たずめ CLINICS におけるアプリ開発の品質ず効率性を向䞊するための取り組みをご玹介したした。これらの取り組みによっお プラットフォヌム毎のデザむンや機胜のブレが少なくなり、認識ずれによる手戻りなどが少なくなったこずで開発効率が䞊がった ず感じたす。プラットフォヌム毎の違いを少なくしお、より倚くのメンバヌがコヌドに手を入れやすい状態にするこずで実装やコヌドレビュヌの質も向䞊しおいるように思いたす。 React Native などを利甚しお、コヌドそのものを共通化する方法もあるずは思いたすが、プラットフォヌム毎に別のコヌドで開発する堎合でも、仕様や実装のルヌルを工倫するこずでより効率的に開発できるのではないでしょうか。 CLINICS チヌムでは他にも実装や開発プロセス、プロダクト運甚に぀いお日々改善を行なっおいたす。今埌も、こうした取り組みを積極的に実践し、KPT 圢匏で振り返っお、たた次のアクションに぀なげるこずで、倚くの方に愛されるプロダクトを育おおいきたいず思っおいたす。 お知らせ メドレヌでは、゚ンゞニアやデザむナヌを募集しおいたす。ご興味のある方は、こちらからどうぞ メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
アバタヌ
こんにちは、開発本郚の高井です。オンラむン蚺療アプリ「 CLINICS 」のアプリ開発を䞻に担圓しおいたす。 CLINICS では Web に加えお、iOS 版ず Android 版の各プラットフォヌムの仕様倉曎や機胜远加などをほが同時に開発しおいるのですが、担圓する人数が増えたりするこずで、仕様に差が出たり、その結果手戻りが起きるずいうこずも増え始めおいたした。 そうした課題を解決するために実践した様々な斜策の䞭から、特に有効だった 3 ぀の改善策に぀いお、今日はご玹介したす。 背景 CLINICS の開発チヌムでは 5 人ほどの゚ンゞニアがタスク単䜍で党おのプラットフォヌムを実装したり、倧きいタスクの堎合はプラットフォヌム毎に別の開発者が担圓する圢で開発しおいたす。 そのような圢で機胜远加や䞍具合察応の開発を進める䞭で、以䞋のような課題がありたした。 プラットフォヌム間で仕様やデザむンが違う リリヌス盎前に仕様の違いが芋぀かり、手戻りが発生する 各プラットフォヌムに察する習熟床にバラ぀きがあるため、開発者によっお実装方法が違う 特にプラットフォヌム毎に開発者がほが固定されおしたっおいた時期には、コヌドレビュヌはしおいおも埮劙な違いに気づかなかったり、同じ UI にするのに実装コストが高くおあきらめたり、ずいうこずが起こりがちでした。** プラットフォヌム間で仕様やデザむンが違うずナヌザ䜓隓の質がプラットフォヌムによっおバラ぀いおしたいたすし、デザむンや䌁画の䜜業も増えおしたいたす** 。これらに加えお、゚ンゞニアの人数が増えたり、デザむナヌやカスタマヌサポヌトなど゚ンゞニア以倖のメンバヌずのコミュニケヌションも増えたりしおきたこずもあっお、開発スピヌドも段々ず遅くなっおきおいたした。 そのような状況を改善するために、チヌム内で継続的に実装方法や開発フロヌを芋盎し、改善策を実斜しおきたした。 今回は以䞋の 3 ぀の改善策をご玹介したす。具䜓的な実装に぀いおは、䞻に iOS で䜿甚しおいるコヌドを匕甚しおご玹介したす。コヌドの䞀郚を抜粋しおいるので、そのたたでは䜿甚するこずはできたせん。あくたでも参考コヌドずしお読んでください。 DLSデザむン蚀語システムの導入 アプリ゚ラヌの共通化 コヌドレビュヌの手順改善 改善策 1 DLSデザむン蚀語システムの導入 たずは DLSデザむン蚀語システムの導入に぀いおです。DLS ずは以前、本ブログでもデザむナヌの前田がご玹介させおいただきたしたが デザむン蚀語システムを入れたらコミュニケヌションコストがぐっず䞋がった話〜メドレヌ TechLunch〜 、** UI に䞀貫性をもたせるため、配色やレむアりト、タむポグラフィやマヌゞンなどのルヌル **を策定し、チヌム党䜓で継続的に運甚しおいくための仕組みです。策定したルヌルを組み蟌んだ各コンポヌネントのデザむンを元に、Web / iOS / Android の各プラットフォヌムで UI を実装しお開発時に再利甚できるようにしおいたす。デザむン自䜓は䞋蚘のような圢で Sketch ファむルで管理しおいたす。 iOS に぀いおは各コンポヌネントをカスタムビュヌクラスずしお実装し、再利甚できるようにしたした。DLS 導入以前はプラットフォヌム毎に違った UI やルヌルで開発しおいたので、実装段階で担圓する開発者毎の認識によっお品質や仕様に差が出おいる状態でした。DLS 導入によっおそのような差が出にくくなり、䞀定の品質を保぀こずができるようになりたした。 たた、** UI の埮調敎などが枛っお、機胜ロゞックに重点を眮いた開発に専念できるようになり、さらにデザむナヌずの認識合わせが最小限になったこずにより開発効率も䞊がった **ず感じおいたす。UI の基盀を぀くったこずで新しく画面を開発する堎合でもコンポヌネントを組み合わせ、゚ンゞニアだけで実装が完了するこずも倚くなり、その分デザむナヌは次の斜策やプロゞェクトに専念できるようになりたした。 実装に぀いおですが、各コンポヌネント毎に xib ファむルで UI パヌツを䜜成し、それをクラスファむルで読み蟌んでカスタムビュヌクラスの芋た目ずしお䜿っおいたす。カスタムビュヌは再利甚しやすく、利甚時にバラツキが出にくいように以䞋の点を満たすように実装したした。 Interface Builder/コヌドのどちらからでも初期化できる ビルドする前に Storyboard 䞊で UI パヌツのデザむンを確認できるように IBDesignable ず IBInspectable を指定する カスタムビュヌの䞭で UI 芁玠のマヌゞンや高さを指定する 䟋えば、セレクトフォヌムコンポヌネントのカスタムビュヌは以䞋のような実装になっおいたす。 xib ファむル クラスファむル import UIKit protocol ClinicsFormSelectDelegate : class { func didClickFormSelect ( sender : ClinicsFormSelect) } @IBDesignable class ClinicsFormSelect : UIView { @IBOutlet weak var selectView: SelectView! @IBInspectable var labelText: String = "Form-parts" { didSet { selectView. labelText = labelText } } weak var delegate: ClinicsFormSelectDelegate? // コヌドから初期化する堎合に呌ばれる override init ( frame : CGRect) { super . init ( frame : frame) commonInit () } // Interface Builder から初期化する堎合に呌ばれる required init? ( coder aDecoder : NSCoder) { super . init ( coder : aDecoder) commonInit () } private func commonInit () { // xib ファむルの読み蟌み let bundle = Bundle ( for : type ( of : self )) let view = UINib ( nibName : "ClinicsFormSelect" , bundle : bundle). instantiate ( withOwner : self , options : nil ). first as! UIView addSubview (view) backgroundColor = . clear view. backgroundColor = . clear // 読み蟌んだ View のサむズがカスタムクラスClinicsFormSelectず同じサむズになるように Constraint を蚭定する view. translatesAutoresizingMaskIntoConstraints = false let bindings = [ "view" : view] addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "H:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "V:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) } // xib ファむルの䞭に配眮した UI 芁玠ぞのアクションのハンドリング @IBAction func didTap ( _ sender : UITapGestureRecognizer) { delegate?. didClickFormSelect ( sender : self ) } } CLINICS では䞻に Storyboard を䜿っお UI を実装しおいるので、䜿甚するずきは Storyboard に UIView を眮き、コンポヌネントのクラス名を指定しお䜿いたす。テキストなどのプロパティを蚭定し、Constraint を指定しお配眮すれば完了です。ナヌザによるアクションのハンドリングや動的にプロパティを切り替える必芁がある堎合は、呌び出し偎で凊理を远加したす。 最終的にビルドするず以䞋のように衚瀺されたす。衚瀺されおいる内容は開発䞭に䜜成した仮のデヌタで実際のものずは異なりたす。 改善策 2 アプリ゚ラヌの共通化 以前は業務的に重芁な凊理の゚ラヌ以倖はプラットフォヌム毎で衚瀺する゚ラヌメッセヌゞが異なっおいたり、゚ラヌハンドリング時に違った挙動をしおいるこずがありたした。その結果、ナヌザ䜓隓が䞀貫したものになっおいないずいうだけでなく、お問い合わせがあっおもカスタマヌサポヌトが䞀次回答しにくかったり、䌝えられた内容が曖昧なため開発者が調査するのに時間がかかったりするこずがありたした。 そこで、改めおフロント偎で発生する゚ラヌの定矩を共通化し、゚ラヌメッセヌゞや゚ラヌハンドリング時の凊理も統䞀したした。** 問い合わせの効率化のために共通の゚ラヌコヌドも決めお、゚ラヌ発生時に衚瀺されるアラヌトに远加し、それらの゚ラヌ定矩はドキュメントで䞀芧化しお、カスタマヌサポヌトにも共有 **するようにしたした。 たた、゚ラヌハンドリング時にクラッシュレポヌトのログに蚘録する内容や送信するタむミングを統䞀しお、開発者党員が理解しやすいようにしたした。゚ラヌコヌドの衚瀺に぀いおは、改善を怜蚎しおいた時期にちょうど参加しおいた iOSDC Japan 2017 で、同じような課題に察する知芋を 発衚 されおいたのを芋お、早速取り入れたした。最近ではナヌザからの問い合わせにも゚ラヌコヌドが䜿われるこずがあり、実際にコミュニケヌションコストを䜎䞋させるこずができおいるように思いたす。 ゚ラヌのフィヌドバックは现かいずころではありたすが、ナヌザのアクションを継続させるために重芁な芁玠のひず぀です。CLINICS はナヌザ属性が老若男女問わず幅広いので特に気を配っお改善を行っおきたした。 実装に぀いおですが、iOS では以䞋のように定矩しおいたす。 enum ApplicationError : Error { case commonRequestError ( String ) case createReservationCardError case createReservationScheduleIsFullError ~ var errorCode: String { switch self { case let . commonRequestError (viewId): return " \( viewId ) -0000" case . createReservationCardError : return "40-0001" case . createReservationScheduleIsFullError : return "40-0002" ~ var title: String { switch self { case . commonRequestError : return "接続゚ラヌ" case . createReservationCardError : return "決枈倱敗゚ラヌ" ~ var description: String { switch self { case . commonRequestError : return "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" case . createReservationCardError : return "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ~ Android でも同様に enum で定矩しおいたす。 enum class ApplicationError ( var code: String , val title: String , val description: String ) { CommonRequestError ( "0000" , "接続゚ラヌ" , "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" ), CreateReservationCardError ( "40-0001" , "決枈倱敗゚ラヌ" , "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ), CreateReservationScheduleIsFullError ( "40-0002" , "スケゞュヌル空きなし゚ラヌ" , "遞択された予玄日時のスケゞュヌルに空きがありたせんでした。 \n おそれいりたすが、別の予玄日時をご遞択のうえ、もう䞀床最初から操䜜ください。" ), ~ 改善策 3 コヌドレビュヌの手順改善 リリヌス圓初から実装者以倖のメンバヌによるレビュヌは適宜行なっおいたしたが、レビュヌの段階でデグレや仕様の違いを芋逃しおしたうこずがあったので、レビュヌ䜓制の匷化ずメンバヌの゜ヌス理解の向䞊を図るために、以䞋のようにルヌルを蚭定したした。 セルフマヌゞはしない PR に察しお 2 人以䞊でレビュヌする ビュヌの倉曎があった堎合には画面キャプチャを貌る それらを守りやすく、より効率的にするために Danger も導入したした。 導入手順は こちら にたずめられおいるほか、怜玢すればけっこう出おくるので省略したす。匊瀟では iOS の CI は Bitrise を䜿甚しおいるので Bitrise 䞊で実行しお GitHub の PR に反映させおいたす。 Danger では、以䞋の項目をチェックしおいたす。䞊蚘のルヌルを反映しおいるのに加えお、PR の向き先ず SwiftLint の実行結果もチェックしおいたす。CLINICS の iOS アプリでは GitFlow を導入しおいるため、release ブランチず hot-fix ブランチ以倖からの PR の向き先が develop ブランチになっおいない堎合には譊告を出すようにしおいたす。 レビュアヌの人数が 2 人以䞊になっおいるか ビュヌの倉曎xib、storyboard を觊ったかどうかのみ確認があった堎合に画面キャプチャを貌っおいるかどうか PR が develop に向けお䜜成されおいるか SwiftLint のチェックを通っおいるか 匊瀟が iOS 開発で利甚しおいる Danger ファむルは以䞋の通りずなっおいたす。導入する際のご参考にしおください。 # for only difference github. dismiss_out_of_range_messages # reviewers warn ( "レビュアヌは 2 人以䞊指定しおください" ) if github. github . pr_json [ "requested_reviewers" ]. length < 2 # view changes view_extensions = [ ".xib" , ".storyboard" ] has_view_changes = git. modified_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} has_view_added = git. added_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} pr_has_screenshot = github. pr_body =~ /https?: \/\/\S * \. (png|jpg|jpeg|gif){1}/ warn ( "芋た目に倉曎がある堎合は画面キャプチャを貌っおください" ) if (has_view_changes or has_view_added) and !pr_has_screenshot # base branch is_to_master = github. branch_for_base == 'master' is_to_develop = github. branch_for_base == 'develop' is_from_releases = !!github. branch_for_head . match ( /releases \/ [0-9]+ \. [0-9]+ \. [0-9]/ ) warn ( 'PR は develop に向けおください' ) if !is_to_develop and !(is_from_releases and is_to_master) # swiftLint swiftlint. lint_files inline_mode: true たずめ CLINICS におけるアプリ開発の品質ず効率性を向䞊するための取り組みをご玹介したした。これらの取り組みによっお プラットフォヌム毎のデザむンや機胜のブレが少なくなり、認識ずれによる手戻りなどが少なくなったこずで開発効率が䞊がった ず感じたす。プラットフォヌム毎の違いを少なくしお、より倚くのメンバヌがコヌドに手を入れやすい状態にするこずで実装やコヌドレビュヌの質も向䞊しおいるように思いたす。 React Native などを利甚しお、コヌドそのものを共通化する方法もあるずは思いたすが、プラットフォヌム毎に別のコヌドで開発する堎合でも、仕様や実装のルヌルを工倫するこずでより効率的に開発できるのではないでしょうか。 CLINICS チヌムでは他にも実装や開発プロセス、プロダクト運甚に぀いお日々改善を行なっおいたす。今埌も、こうした取り組みを積極的に実践し、KPT 圢匏で振り返っお、たた次のアクションに぀なげるこずで、倚くの方に愛されるプロダクトを育おおいきたいず思っおいたす。 お知らせ メドレヌでは、゚ンゞニアやデザむナヌを募集しおいたす。ご興味のある方は、こちらからどうぞ メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
アバタヌ
こんにちは、開発本郚の高井です。オンラむン蚺療アプリ「 CLINICS 」のアプリ開発を䞻に担圓しおいたす。 CLINICS では Web に加えお、iOS 版ず Android 版の各プラットフォヌムの仕様倉曎や機胜远加などをほが同時に開発しおいるのですが、担圓する人数が増えたりするこずで、仕様に差が出たり、その結果手戻りが起きるずいうこずも増え始めおいたした。 そうした課題を解決するために実践した様々な斜策の䞭から、特に有効だった 3 ぀の改善策に぀いお、今日はご玹介したす。 背景 CLINICS の開発チヌムでは 5 人ほどの゚ンゞニアがタスク単䜍で党おのプラットフォヌムを実装したり、倧きいタスクの堎合はプラットフォヌム毎に別の開発者が担圓する圢で開発しおいたす。 そのような圢で機胜远加や䞍具合察応の開発を進める䞭で、以䞋のような課題がありたした。 プラットフォヌム間で仕様やデザむンが違う リリヌス盎前に仕様の違いが芋぀かり、手戻りが発生する 各プラットフォヌムに察する習熟床にバラ぀きがあるため、開発者によっお実装方法が違う 特にプラットフォヌム毎に開発者がほが固定されおしたっおいた時期には、コヌドレビュヌはしおいおも埮劙な違いに気づかなかったり、同じ UI にするのに実装コストが高くおあきらめたり、ずいうこずが起こりがちでした。** プラットフォヌム間で仕様やデザむンが違うずナヌザ䜓隓の質がプラットフォヌムによっおバラ぀いおしたいたすし、デザむンや䌁画の䜜業も増えおしたいたす** 。これらに加えお、゚ンゞニアの人数が増えたり、デザむナヌやカスタマヌサポヌトなど゚ンゞニア以倖のメンバヌずのコミュニケヌションも増えたりしおきたこずもあっお、開発スピヌドも段々ず遅くなっおきおいたした。 そのような状況を改善するために、チヌム内で継続的に実装方法や開発フロヌを芋盎し、改善策を実斜しおきたした。 今回は以䞋の 3 ぀の改善策をご玹介したす。具䜓的な実装に぀いおは、䞻に iOS で䜿甚しおいるコヌドを匕甚しおご玹介したす。コヌドの䞀郚を抜粋しおいるので、そのたたでは䜿甚するこずはできたせん。あくたでも参考コヌドずしお読んでください。 DLSデザむン蚀語システムの導入 アプリ゚ラヌの共通化 コヌドレビュヌの手順改善 改善策 1 DLSデザむン蚀語システムの導入 たずは DLSデザむン蚀語システムの導入に぀いおです。DLS ずは以前、本ブログでもデザむナヌの前田がご玹介させおいただきたしたが デザむン蚀語システムを入れたらコミュニケヌションコストがぐっず䞋がった話〜メドレヌ TechLunch〜 、** UI に䞀貫性をもたせるため、配色やレむアりト、タむポグラフィやマヌゞンなどのルヌル **を策定し、チヌム党䜓で継続的に運甚しおいくための仕組みです。策定したルヌルを組み蟌んだ各コンポヌネントのデザむンを元に、Web / iOS / Android の各プラットフォヌムで UI を実装しお開発時に再利甚できるようにしおいたす。デザむン自䜓は䞋蚘のような圢で Sketch ファむルで管理しおいたす。 iOS に぀いおは各コンポヌネントをカスタムビュヌクラスずしお実装し、再利甚できるようにしたした。DLS 導入以前はプラットフォヌム毎に違った UI やルヌルで開発しおいたので、実装段階で担圓する開発者毎の認識によっお品質や仕様に差が出おいる状態でした。DLS 導入によっおそのような差が出にくくなり、䞀定の品質を保぀こずができるようになりたした。 たた、** UI の埮調敎などが枛っお、機胜ロゞックに重点を眮いた開発に専念できるようになり、さらにデザむナヌずの認識合わせが最小限になったこずにより開発効率も䞊がった **ず感じおいたす。UI の基盀を぀くったこずで新しく画面を開発する堎合でもコンポヌネントを組み合わせ、゚ンゞニアだけで実装が完了するこずも倚くなり、その分デザむナヌは次の斜策やプロゞェクトに専念できるようになりたした。 実装に぀いおですが、各コンポヌネント毎に xib ファむルで UI パヌツを䜜成し、それをクラスファむルで読み蟌んでカスタムビュヌクラスの芋た目ずしお䜿っおいたす。カスタムビュヌは再利甚しやすく、利甚時にバラツキが出にくいように以䞋の点を満たすように実装したした。 Interface Builder/コヌドのどちらからでも初期化できる ビルドする前に Storyboard 䞊で UI パヌツのデザむンを確認できるように IBDesignable ず IBInspectable を指定する カスタムビュヌの䞭で UI 芁玠のマヌゞンや高さを指定する 䟋えば、セレクトフォヌムコンポヌネントのカスタムビュヌは以䞋のような実装になっおいたす。 xib ファむル クラスファむル import UIKit protocol ClinicsFormSelectDelegate : class { func didClickFormSelect ( sender : ClinicsFormSelect) } @IBDesignable class ClinicsFormSelect : UIView { @IBOutlet weak var selectView: SelectView! @IBInspectable var labelText: String = "Form-parts" { didSet { selectView. labelText = labelText } } weak var delegate: ClinicsFormSelectDelegate? // コヌドから初期化する堎合に呌ばれる override init ( frame : CGRect) { super . init ( frame : frame) commonInit () } // Interface Builder から初期化する堎合に呌ばれる required init? ( coder aDecoder : NSCoder) { super . init ( coder : aDecoder) commonInit () } private func commonInit () { // xib ファむルの読み蟌み let bundle = Bundle ( for : type ( of : self )) let view = UINib ( nibName : "ClinicsFormSelect" , bundle : bundle). instantiate ( withOwner : self , options : nil ). first as! UIView addSubview (view) backgroundColor = . clear view. backgroundColor = . clear // 読み蟌んだ View のサむズがカスタムクラスClinicsFormSelectず同じサむズになるように Constraint を蚭定する view. translatesAutoresizingMaskIntoConstraints = false let bindings = [ "view" : view] addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "H:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "V:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) } // xib ファむルの䞭に配眮した UI 芁玠ぞのアクションのハンドリング @IBAction func didTap ( _ sender : UITapGestureRecognizer) { delegate?. didClickFormSelect ( sender : self ) } } CLINICS では䞻に Storyboard を䜿っお UI を実装しおいるので、䜿甚するずきは Storyboard に UIView を眮き、コンポヌネントのクラス名を指定しお䜿いたす。テキストなどのプロパティを蚭定し、Constraint を指定しお配眮すれば完了です。ナヌザによるアクションのハンドリングや動的にプロパティを切り替える必芁がある堎合は、呌び出し偎で凊理を远加したす。 最終的にビルドするず以䞋のように衚瀺されたす。衚瀺されおいる内容は開発䞭に䜜成した仮のデヌタで実際のものずは異なりたす。 改善策 2 アプリ゚ラヌの共通化 以前は業務的に重芁な凊理の゚ラヌ以倖はプラットフォヌム毎で衚瀺する゚ラヌメッセヌゞが異なっおいたり、゚ラヌハンドリング時に違った挙動をしおいるこずがありたした。その結果、ナヌザ䜓隓が䞀貫したものになっおいないずいうだけでなく、お問い合わせがあっおもカスタマヌサポヌトが䞀次回答しにくかったり、䌝えられた内容が曖昧なため開発者が調査するのに時間がかかったりするこずがありたした。 そこで、改めおフロント偎で発生する゚ラヌの定矩を共通化し、゚ラヌメッセヌゞや゚ラヌハンドリング時の凊理も統䞀したした。** 問い合わせの効率化のために共通の゚ラヌコヌドも決めお、゚ラヌ発生時に衚瀺されるアラヌトに远加し、それらの゚ラヌ定矩はドキュメントで䞀芧化しお、カスタマヌサポヌトにも共有 **するようにしたした。 たた、゚ラヌハンドリング時にクラッシュレポヌトのログに蚘録する内容や送信するタむミングを統䞀しお、開発者党員が理解しやすいようにしたした。゚ラヌコヌドの衚瀺に぀いおは、改善を怜蚎しおいた時期にちょうど参加しおいた iOSDC Japan 2017 で、同じような課題に察する知芋を 発衚 されおいたのを芋お、早速取り入れたした。最近ではナヌザからの問い合わせにも゚ラヌコヌドが䜿われるこずがあり、実際にコミュニケヌションコストを䜎䞋させるこずができおいるように思いたす。 ゚ラヌのフィヌドバックは现かいずころではありたすが、ナヌザのアクションを継続させるために重芁な芁玠のひず぀です。CLINICS はナヌザ属性が老若男女問わず幅広いので特に気を配っお改善を行っおきたした。 実装に぀いおですが、iOS では以䞋のように定矩しおいたす。 enum ApplicationError : Error { case commonRequestError ( String ) case createReservationCardError case createReservationScheduleIsFullError ~ var errorCode: String { switch self { case let . commonRequestError (viewId): return " \( viewId ) -0000" case . createReservationCardError : return "40-0001" case . createReservationScheduleIsFullError : return "40-0002" ~ var title: String { switch self { case . commonRequestError : return "接続゚ラヌ" case . createReservationCardError : return "決枈倱敗゚ラヌ" ~ var description: String { switch self { case . commonRequestError : return "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" case . createReservationCardError : return "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ~ Android でも同様に enum で定矩しおいたす。 enum class ApplicationError ( var code: String , val title: String , val description: String ) { CommonRequestError ( "0000" , "接続゚ラヌ" , "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" ), CreateReservationCardError ( "40-0001" , "決枈倱敗゚ラヌ" , "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ), CreateReservationScheduleIsFullError ( "40-0002" , "スケゞュヌル空きなし゚ラヌ" , "遞択された予玄日時のスケゞュヌルに空きがありたせんでした。 \n おそれいりたすが、別の予玄日時をご遞択のうえ、もう䞀床最初から操䜜ください。" ), ~ 改善策 3 コヌドレビュヌの手順改善 リリヌス圓初から実装者以倖のメンバヌによるレビュヌは適宜行なっおいたしたが、レビュヌの段階でデグレや仕様の違いを芋逃しおしたうこずがあったので、レビュヌ䜓制の匷化ずメンバヌの゜ヌス理解の向䞊を図るために、以䞋のようにルヌルを蚭定したした。 セルフマヌゞはしない PR に察しお 2 人以䞊でレビュヌする ビュヌの倉曎があった堎合には画面キャプチャを貌る それらを守りやすく、より効率的にするために Danger も導入したした。 導入手順は こちら にたずめられおいるほか、怜玢すればけっこう出おくるので省略したす。匊瀟では iOS の CI は Bitrise を䜿甚しおいるので Bitrise 䞊で実行しお GitHub の PR に反映させおいたす。 Danger では、以䞋の項目をチェックしおいたす。䞊蚘のルヌルを反映しおいるのに加えお、PR の向き先ず SwiftLint の実行結果もチェックしおいたす。CLINICS の iOS アプリでは GitFlow を導入しおいるため、release ブランチず hot-fix ブランチ以倖からの PR の向き先が develop ブランチになっおいない堎合には譊告を出すようにしおいたす。 レビュアヌの人数が 2 人以䞊になっおいるか ビュヌの倉曎xib、storyboard を觊ったかどうかのみ確認があった堎合に画面キャプチャを貌っおいるかどうか PR が develop に向けお䜜成されおいるか SwiftLint のチェックを通っおいるか 匊瀟が iOS 開発で利甚しおいる Danger ファむルは以䞋の通りずなっおいたす。導入する際のご参考にしおください。 # for only difference github. dismiss_out_of_range_messages # reviewers warn ( "レビュアヌは 2 人以䞊指定しおください" ) if github. github . pr_json [ "requested_reviewers" ]. length < 2 # view changes view_extensions = [ ".xib" , ".storyboard" ] has_view_changes = git. modified_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} has_view_added = git. added_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} pr_has_screenshot = github. pr_body =~ /https?: \/\/\S * \. (png|jpg|jpeg|gif){1}/ warn ( "芋た目に倉曎がある堎合は画面キャプチャを貌っおください" ) if (has_view_changes or has_view_added) and !pr_has_screenshot # base branch is_to_master = github. branch_for_base == 'master' is_to_develop = github. branch_for_base == 'develop' is_from_releases = !!github. branch_for_head . match ( /releases \/ [0-9]+ \. [0-9]+ \. [0-9]/ ) warn ( 'PR は develop に向けおください' ) if !is_to_develop and !(is_from_releases and is_to_master) # swiftLint swiftlint. lint_files inline_mode: true たずめ CLINICS におけるアプリ開発の品質ず効率性を向䞊するための取り組みをご玹介したした。これらの取り組みによっお プラットフォヌム毎のデザむンや機胜のブレが少なくなり、認識ずれによる手戻りなどが少なくなったこずで開発効率が䞊がった ず感じたす。プラットフォヌム毎の違いを少なくしお、より倚くのメンバヌがコヌドに手を入れやすい状態にするこずで実装やコヌドレビュヌの質も向䞊しおいるように思いたす。 React Native などを利甚しお、コヌドそのものを共通化する方法もあるずは思いたすが、プラットフォヌム毎に別のコヌドで開発する堎合でも、仕様や実装のルヌルを工倫するこずでより効率的に開発できるのではないでしょうか。 CLINICS チヌムでは他にも実装や開発プロセス、プロダクト運甚に぀いお日々改善を行なっおいたす。今埌も、こうした取り組みを積極的に実践し、KPT 圢匏で振り返っお、たた次のアクションに぀なげるこずで、倚くの方に愛されるプロダクトを育おおいきたいず思っおいたす。 お知らせ メドレヌでは、゚ンゞニアやデザむナヌを募集しおいたす。ご興味のある方は、こちらからどうぞ メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
アバタヌ
こんにちは、開発本郚の高井です。オンラむン蚺療アプリ「 CLINICS 」のアプリ開発を䞻に担圓しおいたす。 CLINICS では Web に加えお、iOS 版ず Android 版の各プラットフォヌムの仕様倉曎や機胜远加などをほが同時に開発しおいるのですが、担圓する人数が増えたりするこずで、仕様に差が出たり、その結果手戻りが起きるずいうこずも増え始めおいたした。 そうした課題を解決するために実践した様々な斜策の䞭から、特に有効だった 3 ぀の改善策に぀いお、今日はご玹介したす。 背景 CLINICS の開発チヌムでは 5 人ほどの゚ンゞニアがタスク単䜍で党おのプラットフォヌムを実装したり、倧きいタスクの堎合はプラットフォヌム毎に別の開発者が担圓する圢で開発しおいたす。 そのような圢で機胜远加や䞍具合察応の開発を進める䞭で、以䞋のような課題がありたした。 プラットフォヌム間で仕様やデザむンが違う リリヌス盎前に仕様の違いが芋぀かり、手戻りが発生する 各プラットフォヌムに察する習熟床にバラ぀きがあるため、開発者によっお実装方法が違う 特にプラットフォヌム毎に開発者がほが固定されおしたっおいた時期には、コヌドレビュヌはしおいおも埮劙な違いに気づかなかったり、同じ UI にするのに実装コストが高くおあきらめたり、ずいうこずが起こりがちでした。** プラットフォヌム間で仕様やデザむンが違うずナヌザ䜓隓の質がプラットフォヌムによっおバラ぀いおしたいたすし、デザむンや䌁画の䜜業も増えおしたいたす** 。これらに加えお、゚ンゞニアの人数が増えたり、デザむナヌやカスタマヌサポヌトなど゚ンゞニア以倖のメンバヌずのコミュニケヌションも増えたりしおきたこずもあっお、開発スピヌドも段々ず遅くなっおきおいたした。 そのような状況を改善するために、チヌム内で継続的に実装方法や開発フロヌを芋盎し、改善策を実斜しおきたした。 今回は以䞋の 3 ぀の改善策をご玹介したす。具䜓的な実装に぀いおは、䞻に iOS で䜿甚しおいるコヌドを匕甚しおご玹介したす。コヌドの䞀郚を抜粋しおいるので、そのたたでは䜿甚するこずはできたせん。あくたでも参考コヌドずしお読んでください。 DLSデザむン蚀語システムの導入 アプリ゚ラヌの共通化 コヌドレビュヌの手順改善 改善策 1 DLSデザむン蚀語システムの導入 たずは DLSデザむン蚀語システムの導入に぀いおです。DLS ずは以前、本ブログでもデザむナヌの前田がご玹介させおいただきたしたが デザむン蚀語システムを入れたらコミュニケヌションコストがぐっず䞋がった話〜メドレヌ TechLunch〜 、** UI に䞀貫性をもたせるため、配色やレむアりト、タむポグラフィやマヌゞンなどのルヌル **を策定し、チヌム党䜓で継続的に運甚しおいくための仕組みです。策定したルヌルを組み蟌んだ各コンポヌネントのデザむンを元に、Web / iOS / Android の各プラットフォヌムで UI を実装しお開発時に再利甚できるようにしおいたす。デザむン自䜓は䞋蚘のような圢で Sketch ファむルで管理しおいたす。 iOS に぀いおは各コンポヌネントをカスタムビュヌクラスずしお実装し、再利甚できるようにしたした。DLS 導入以前はプラットフォヌム毎に違った UI やルヌルで開発しおいたので、実装段階で担圓する開発者毎の認識によっお品質や仕様に差が出おいる状態でした。DLS 導入によっおそのような差が出にくくなり、䞀定の品質を保぀こずができるようになりたした。 たた、** UI の埮調敎などが枛っお、機胜ロゞックに重点を眮いた開発に専念できるようになり、さらにデザむナヌずの認識合わせが最小限になったこずにより開発効率も䞊がった **ず感じおいたす。UI の基盀を぀くったこずで新しく画面を開発する堎合でもコンポヌネントを組み合わせ、゚ンゞニアだけで実装が完了するこずも倚くなり、その分デザむナヌは次の斜策やプロゞェクトに専念できるようになりたした。 実装に぀いおですが、各コンポヌネント毎に xib ファむルで UI パヌツを䜜成し、それをクラスファむルで読み蟌んでカスタムビュヌクラスの芋た目ずしお䜿っおいたす。カスタムビュヌは再利甚しやすく、利甚時にバラツキが出にくいように以䞋の点を満たすように実装したした。 Interface Builder/コヌドのどちらからでも初期化できる ビルドする前に Storyboard 䞊で UI パヌツのデザむンを確認できるように IBDesignable ず IBInspectable を指定する カスタムビュヌの䞭で UI 芁玠のマヌゞンや高さを指定する 䟋えば、セレクトフォヌムコンポヌネントのカスタムビュヌは以䞋のような実装になっおいたす。 xib ファむル クラスファむル import UIKit protocol ClinicsFormSelectDelegate : class { func didClickFormSelect ( sender : ClinicsFormSelect) } @IBDesignable class ClinicsFormSelect : UIView { @IBOutlet weak var selectView: SelectView! @IBInspectable var labelText: String = "Form-parts" { didSet { selectView. labelText = labelText } } weak var delegate: ClinicsFormSelectDelegate? // コヌドから初期化する堎合に呌ばれる override init ( frame : CGRect) { super . init ( frame : frame) commonInit () } // Interface Builder から初期化する堎合に呌ばれる required init? ( coder aDecoder : NSCoder) { super . init ( coder : aDecoder) commonInit () } private func commonInit () { // xib ファむルの読み蟌み let bundle = Bundle ( for : type ( of : self )) let view = UINib ( nibName : "ClinicsFormSelect" , bundle : bundle). instantiate ( withOwner : self , options : nil ). first as! UIView addSubview (view) backgroundColor = . clear view. backgroundColor = . clear // 読み蟌んだ View のサむズがカスタムクラスClinicsFormSelectず同じサむズになるように Constraint を蚭定する view. translatesAutoresizingMaskIntoConstraints = false let bindings = [ "view" : view] addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "H:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "V:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) } // xib ファむルの䞭に配眮した UI 芁玠ぞのアクションのハンドリング @IBAction func didTap ( _ sender : UITapGestureRecognizer) { delegate?. didClickFormSelect ( sender : self ) } } CLINICS では䞻に Storyboard を䜿っお UI を実装しおいるので、䜿甚するずきは Storyboard に UIView を眮き、コンポヌネントのクラス名を指定しお䜿いたす。テキストなどのプロパティを蚭定し、Constraint を指定しお配眮すれば完了です。ナヌザによるアクションのハンドリングや動的にプロパティを切り替える必芁がある堎合は、呌び出し偎で凊理を远加したす。 最終的にビルドするず以䞋のように衚瀺されたす。衚瀺されおいる内容は開発䞭に䜜成した仮のデヌタで実際のものずは異なりたす。 改善策 2 アプリ゚ラヌの共通化 以前は業務的に重芁な凊理の゚ラヌ以倖はプラットフォヌム毎で衚瀺する゚ラヌメッセヌゞが異なっおいたり、゚ラヌハンドリング時に違った挙動をしおいるこずがありたした。その結果、ナヌザ䜓隓が䞀貫したものになっおいないずいうだけでなく、お問い合わせがあっおもカスタマヌサポヌトが䞀次回答しにくかったり、䌝えられた内容が曖昧なため開発者が調査するのに時間がかかったりするこずがありたした。 そこで、改めおフロント偎で発生する゚ラヌの定矩を共通化し、゚ラヌメッセヌゞや゚ラヌハンドリング時の凊理も統䞀したした。** 問い合わせの効率化のために共通の゚ラヌコヌドも決めお、゚ラヌ発生時に衚瀺されるアラヌトに远加し、それらの゚ラヌ定矩はドキュメントで䞀芧化しお、カスタマヌサポヌトにも共有 **するようにしたした。 たた、゚ラヌハンドリング時にクラッシュレポヌトのログに蚘録する内容や送信するタむミングを統䞀しお、開発者党員が理解しやすいようにしたした。゚ラヌコヌドの衚瀺に぀いおは、改善を怜蚎しおいた時期にちょうど参加しおいた iOSDC Japan 2017 で、同じような課題に察する知芋を 発衚 されおいたのを芋お、早速取り入れたした。最近ではナヌザからの問い合わせにも゚ラヌコヌドが䜿われるこずがあり、実際にコミュニケヌションコストを䜎䞋させるこずができおいるように思いたす。 ゚ラヌのフィヌドバックは现かいずころではありたすが、ナヌザのアクションを継続させるために重芁な芁玠のひず぀です。CLINICS はナヌザ属性が老若男女問わず幅広いので特に気を配っお改善を行っおきたした。 実装に぀いおですが、iOS では以䞋のように定矩しおいたす。 enum ApplicationError : Error { case commonRequestError ( String ) case createReservationCardError case createReservationScheduleIsFullError ~ var errorCode: String { switch self { case let . commonRequestError (viewId): return " \( viewId ) -0000" case . createReservationCardError : return "40-0001" case . createReservationScheduleIsFullError : return "40-0002" ~ var title: String { switch self { case . commonRequestError : return "接続゚ラヌ" case . createReservationCardError : return "決枈倱敗゚ラヌ" ~ var description: String { switch self { case . commonRequestError : return "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" case . createReservationCardError : return "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ~ Android でも同様に enum で定矩しおいたす。 enum class ApplicationError ( var code: String , val title: String , val description: String ) { CommonRequestError ( "0000" , "接続゚ラヌ" , "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" ), CreateReservationCardError ( "40-0001" , "決枈倱敗゚ラヌ" , "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ), CreateReservationScheduleIsFullError ( "40-0002" , "スケゞュヌル空きなし゚ラヌ" , "遞択された予玄日時のスケゞュヌルに空きがありたせんでした。 \n おそれいりたすが、別の予玄日時をご遞択のうえ、もう䞀床最初から操䜜ください。" ), ~ 改善策 3 コヌドレビュヌの手順改善 リリヌス圓初から実装者以倖のメンバヌによるレビュヌは適宜行なっおいたしたが、レビュヌの段階でデグレや仕様の違いを芋逃しおしたうこずがあったので、レビュヌ䜓制の匷化ずメンバヌの゜ヌス理解の向䞊を図るために、以䞋のようにルヌルを蚭定したした。 セルフマヌゞはしない PR に察しお 2 人以䞊でレビュヌする ビュヌの倉曎があった堎合には画面キャプチャを貌る それらを守りやすく、より効率的にするために Danger も導入したした。 導入手順は こちら にたずめられおいるほか、怜玢すればけっこう出おくるので省略したす。匊瀟では iOS の CI は Bitrise を䜿甚しおいるので Bitrise 䞊で実行しお GitHub の PR に反映させおいたす。 Danger では、以䞋の項目をチェックしおいたす。䞊蚘のルヌルを反映しおいるのに加えお、PR の向き先ず SwiftLint の実行結果もチェックしおいたす。CLINICS の iOS アプリでは GitFlow を導入しおいるため、release ブランチず hot-fix ブランチ以倖からの PR の向き先が develop ブランチになっおいない堎合には譊告を出すようにしおいたす。 レビュアヌの人数が 2 人以䞊になっおいるか ビュヌの倉曎xib、storyboard を觊ったかどうかのみ確認があった堎合に画面キャプチャを貌っおいるかどうか PR が develop に向けお䜜成されおいるか SwiftLint のチェックを通っおいるか 匊瀟が iOS 開発で利甚しおいる Danger ファむルは以䞋の通りずなっおいたす。導入する際のご参考にしおください。 # for only difference github. dismiss_out_of_range_messages # reviewers warn ( "レビュアヌは 2 人以䞊指定しおください" ) if github. github . pr_json [ "requested_reviewers" ]. length < 2 # view changes view_extensions = [ ".xib" , ".storyboard" ] has_view_changes = git. modified_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} has_view_added = git. added_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} pr_has_screenshot = github. pr_body =~ /https?: \/\/\S * \. (png|jpg|jpeg|gif){1}/ warn ( "芋た目に倉曎がある堎合は画面キャプチャを貌っおください" ) if (has_view_changes or has_view_added) and !pr_has_screenshot # base branch is_to_master = github. branch_for_base == 'master' is_to_develop = github. branch_for_base == 'develop' is_from_releases = !!github. branch_for_head . match ( /releases \/ [0-9]+ \. [0-9]+ \. [0-9]/ ) warn ( 'PR は develop に向けおください' ) if !is_to_develop and !(is_from_releases and is_to_master) # swiftLint swiftlint. lint_files inline_mode: true たずめ CLINICS におけるアプリ開発の品質ず効率性を向䞊するための取り組みをご玹介したした。これらの取り組みによっお プラットフォヌム毎のデザむンや機胜のブレが少なくなり、認識ずれによる手戻りなどが少なくなったこずで開発効率が䞊がった ず感じたす。プラットフォヌム毎の違いを少なくしお、より倚くのメンバヌがコヌドに手を入れやすい状態にするこずで実装やコヌドレビュヌの質も向䞊しおいるように思いたす。 React Native などを利甚しお、コヌドそのものを共通化する方法もあるずは思いたすが、プラットフォヌム毎に別のコヌドで開発する堎合でも、仕様や実装のルヌルを工倫するこずでより効率的に開発できるのではないでしょうか。 CLINICS チヌムでは他にも実装や開発プロセス、プロダクト運甚に぀いお日々改善を行なっおいたす。今埌も、こうした取り組みを積極的に実践し、KPT 圢匏で振り返っお、たた次のアクションに぀なげるこずで、倚くの方に愛されるプロダクトを育おおいきたいず思っおいたす。 お知らせ メドレヌでは、゚ンゞニアやデザむナヌを募集しおいたす。ご興味のある方は、こちらからどうぞ メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
アバタヌ
こんにちは、開発本郚の高井です。オンラむン蚺療アプリ「 CLINICS 」のアプリ開発を䞻に担圓しおいたす。 CLINICS では Web に加えお、iOS 版ず Android 版の各プラットフォヌムの仕様倉曎や機胜远加などをほが同時に開発しおいるのですが、担圓する人数が増えたりするこずで、仕様に差が出たり、その結果手戻りが起きるずいうこずも増え始めおいたした。 そうした課題を解決するために実践した様々な斜策の䞭から、特に有効だった 3 ぀の改善策に぀いお、今日はご玹介したす。 背景 CLINICS の開発チヌムでは 5 人ほどの゚ンゞニアがタスク単䜍で党おのプラットフォヌムを実装したり、倧きいタスクの堎合はプラットフォヌム毎に別の開発者が担圓する圢で開発しおいたす。 そのような圢で機胜远加や䞍具合察応の開発を進める䞭で、以䞋のような課題がありたした。 プラットフォヌム間で仕様やデザむンが違う リリヌス盎前に仕様の違いが芋぀かり、手戻りが発生する 各プラットフォヌムに察する習熟床にバラ぀きがあるため、開発者によっお実装方法が違う 特にプラットフォヌム毎に開発者がほが固定されおしたっおいた時期には、コヌドレビュヌはしおいおも埮劙な違いに気づかなかったり、同じ UI にするのに実装コストが高くおあきらめたり、ずいうこずが起こりがちでした。** プラットフォヌム間で仕様やデザむンが違うずナヌザ䜓隓の質がプラットフォヌムによっおバラ぀いおしたいたすし、デザむンや䌁画の䜜業も増えおしたいたす** 。これらに加えお、゚ンゞニアの人数が増えたり、デザむナヌやカスタマヌサポヌトなど゚ンゞニア以倖のメンバヌずのコミュニケヌションも増えたりしおきたこずもあっお、開発スピヌドも段々ず遅くなっおきおいたした。 そのような状況を改善するために、チヌム内で継続的に実装方法や開発フロヌを芋盎し、改善策を実斜しおきたした。 今回は以䞋の 3 ぀の改善策をご玹介したす。具䜓的な実装に぀いおは、䞻に iOS で䜿甚しおいるコヌドを匕甚しおご玹介したす。コヌドの䞀郚を抜粋しおいるので、そのたたでは䜿甚するこずはできたせん。あくたでも参考コヌドずしお読んでください。 DLSデザむン蚀語システムの導入 アプリ゚ラヌの共通化 コヌドレビュヌの手順改善 改善策 1 DLSデザむン蚀語システムの導入 たずは DLSデザむン蚀語システムの導入に぀いおです。DLS ずは以前、本ブログでもデザむナヌの前田がご玹介させおいただきたしたが デザむン蚀語システムを入れたらコミュニケヌションコストがぐっず䞋がった話〜メドレヌ TechLunch〜 、** UI に䞀貫性をもたせるため、配色やレむアりト、タむポグラフィやマヌゞンなどのルヌル **を策定し、チヌム党䜓で継続的に運甚しおいくための仕組みです。策定したルヌルを組み蟌んだ各コンポヌネントのデザむンを元に、Web / iOS / Android の各プラットフォヌムで UI を実装しお開発時に再利甚できるようにしおいたす。デザむン自䜓は䞋蚘のような圢で Sketch ファむルで管理しおいたす。 iOS に぀いおは各コンポヌネントをカスタムビュヌクラスずしお実装し、再利甚できるようにしたした。DLS 導入以前はプラットフォヌム毎に違った UI やルヌルで開発しおいたので、実装段階で担圓する開発者毎の認識によっお品質や仕様に差が出おいる状態でした。DLS 導入によっおそのような差が出にくくなり、䞀定の品質を保぀こずができるようになりたした。 たた、** UI の埮調敎などが枛っお、機胜ロゞックに重点を眮いた開発に専念できるようになり、さらにデザむナヌずの認識合わせが最小限になったこずにより開発効率も䞊がった **ず感じおいたす。UI の基盀を぀くったこずで新しく画面を開発する堎合でもコンポヌネントを組み合わせ、゚ンゞニアだけで実装が完了するこずも倚くなり、その分デザむナヌは次の斜策やプロゞェクトに専念できるようになりたした。 実装に぀いおですが、各コンポヌネント毎に xib ファむルで UI パヌツを䜜成し、それをクラスファむルで読み蟌んでカスタムビュヌクラスの芋た目ずしお䜿っおいたす。カスタムビュヌは再利甚しやすく、利甚時にバラツキが出にくいように以䞋の点を満たすように実装したした。 Interface Builder/コヌドのどちらからでも初期化できる ビルドする前に Storyboard 䞊で UI パヌツのデザむンを確認できるように IBDesignable ず IBInspectable を指定する カスタムビュヌの䞭で UI 芁玠のマヌゞンや高さを指定する 䟋えば、セレクトフォヌムコンポヌネントのカスタムビュヌは以䞋のような実装になっおいたす。 xib ファむル クラスファむル import UIKit protocol ClinicsFormSelectDelegate : class { func didClickFormSelect ( sender : ClinicsFormSelect) } @IBDesignable class ClinicsFormSelect : UIView { @IBOutlet weak var selectView: SelectView! @IBInspectable var labelText: String = "Form-parts" { didSet { selectView. labelText = labelText } } weak var delegate: ClinicsFormSelectDelegate? // コヌドから初期化する堎合に呌ばれる override init ( frame : CGRect) { super . init ( frame : frame) commonInit () } // Interface Builder から初期化する堎合に呌ばれる required init? ( coder aDecoder : NSCoder) { super . init ( coder : aDecoder) commonInit () } private func commonInit () { // xib ファむルの読み蟌み let bundle = Bundle ( for : type ( of : self )) let view = UINib ( nibName : "ClinicsFormSelect" , bundle : bundle). instantiate ( withOwner : self , options : nil ). first as! UIView addSubview (view) backgroundColor = . clear view. backgroundColor = . clear // 読み蟌んだ View のサむズがカスタムクラスClinicsFormSelectず同じサむズになるように Constraint を蚭定する view. translatesAutoresizingMaskIntoConstraints = false let bindings = [ "view" : view] addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "H:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "V:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) } // xib ファむルの䞭に配眮した UI 芁玠ぞのアクションのハンドリング @IBAction func didTap ( _ sender : UITapGestureRecognizer) { delegate?. didClickFormSelect ( sender : self ) } } CLINICS では䞻に Storyboard を䜿っお UI を実装しおいるので、䜿甚するずきは Storyboard に UIView を眮き、コンポヌネントのクラス名を指定しお䜿いたす。テキストなどのプロパティを蚭定し、Constraint を指定しお配眮すれば完了です。ナヌザによるアクションのハンドリングや動的にプロパティを切り替える必芁がある堎合は、呌び出し偎で凊理を远加したす。 最終的にビルドするず以䞋のように衚瀺されたす。衚瀺されおいる内容は開発䞭に䜜成した仮のデヌタで実際のものずは異なりたす。 改善策 2 アプリ゚ラヌの共通化 以前は業務的に重芁な凊理の゚ラヌ以倖はプラットフォヌム毎で衚瀺する゚ラヌメッセヌゞが異なっおいたり、゚ラヌハンドリング時に違った挙動をしおいるこずがありたした。その結果、ナヌザ䜓隓が䞀貫したものになっおいないずいうだけでなく、お問い合わせがあっおもカスタマヌサポヌトが䞀次回答しにくかったり、䌝えられた内容が曖昧なため開発者が調査するのに時間がかかったりするこずがありたした。 そこで、改めおフロント偎で発生する゚ラヌの定矩を共通化し、゚ラヌメッセヌゞや゚ラヌハンドリング時の凊理も統䞀したした。** 問い合わせの効率化のために共通の゚ラヌコヌドも決めお、゚ラヌ発生時に衚瀺されるアラヌトに远加し、それらの゚ラヌ定矩はドキュメントで䞀芧化しお、カスタマヌサポヌトにも共有 **するようにしたした。 たた、゚ラヌハンドリング時にクラッシュレポヌトのログに蚘録する内容や送信するタむミングを統䞀しお、開発者党員が理解しやすいようにしたした。゚ラヌコヌドの衚瀺に぀いおは、改善を怜蚎しおいた時期にちょうど参加しおいた iOSDC Japan 2017 で、同じような課題に察する知芋を 発衚 されおいたのを芋お、早速取り入れたした。最近ではナヌザからの問い合わせにも゚ラヌコヌドが䜿われるこずがあり、実際にコミュニケヌションコストを䜎䞋させるこずができおいるように思いたす。 ゚ラヌのフィヌドバックは现かいずころではありたすが、ナヌザのアクションを継続させるために重芁な芁玠のひず぀です。CLINICS はナヌザ属性が老若男女問わず幅広いので特に気を配っお改善を行っおきたした。 実装に぀いおですが、iOS では以䞋のように定矩しおいたす。 enum ApplicationError : Error { case commonRequestError ( String ) case createReservationCardError case createReservationScheduleIsFullError ~ var errorCode: String { switch self { case let . commonRequestError (viewId): return " \( viewId ) -0000" case . createReservationCardError : return "40-0001" case . createReservationScheduleIsFullError : return "40-0002" ~ var title: String { switch self { case . commonRequestError : return "接続゚ラヌ" case . createReservationCardError : return "決枈倱敗゚ラヌ" ~ var description: String { switch self { case . commonRequestError : return "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" case . createReservationCardError : return "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ~ Android でも同様に enum で定矩しおいたす。 enum class ApplicationError ( var code: String , val title: String , val description: String ) { CommonRequestError ( "0000" , "接続゚ラヌ" , "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" ), CreateReservationCardError ( "40-0001" , "決枈倱敗゚ラヌ" , "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ), CreateReservationScheduleIsFullError ( "40-0002" , "スケゞュヌル空きなし゚ラヌ" , "遞択された予玄日時のスケゞュヌルに空きがありたせんでした。 \n おそれいりたすが、別の予玄日時をご遞択のうえ、もう䞀床最初から操䜜ください。" ), ~ 改善策 3 コヌドレビュヌの手順改善 リリヌス圓初から実装者以倖のメンバヌによるレビュヌは適宜行なっおいたしたが、レビュヌの段階でデグレや仕様の違いを芋逃しおしたうこずがあったので、レビュヌ䜓制の匷化ずメンバヌの゜ヌス理解の向䞊を図るために、以䞋のようにルヌルを蚭定したした。 セルフマヌゞはしない PR に察しお 2 人以䞊でレビュヌする ビュヌの倉曎があった堎合には画面キャプチャを貌る それらを守りやすく、より効率的にするために Danger も導入したした。 導入手順は こちら にたずめられおいるほか、怜玢すればけっこう出おくるので省略したす。匊瀟では iOS の CI は Bitrise を䜿甚しおいるので Bitrise 䞊で実行しお GitHub の PR に反映させおいたす。 Danger では、以䞋の項目をチェックしおいたす。䞊蚘のルヌルを反映しおいるのに加えお、PR の向き先ず SwiftLint の実行結果もチェックしおいたす。CLINICS の iOS アプリでは GitFlow を導入しおいるため、release ブランチず hot-fix ブランチ以倖からの PR の向き先が develop ブランチになっおいない堎合には譊告を出すようにしおいたす。 レビュアヌの人数が 2 人以䞊になっおいるか ビュヌの倉曎xib、storyboard を觊ったかどうかのみ確認があった堎合に画面キャプチャを貌っおいるかどうか PR が develop に向けお䜜成されおいるか SwiftLint のチェックを通っおいるか 匊瀟が iOS 開発で利甚しおいる Danger ファむルは以䞋の通りずなっおいたす。導入する際のご参考にしおください。 # for only difference github. dismiss_out_of_range_messages # reviewers warn ( "レビュアヌは 2 人以䞊指定しおください" ) if github. github . pr_json [ "requested_reviewers" ]. length < 2 # view changes view_extensions = [ ".xib" , ".storyboard" ] has_view_changes = git. modified_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} has_view_added = git. added_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} pr_has_screenshot = github. pr_body =~ /https?: \/\/\S * \. (png|jpg|jpeg|gif){1}/ warn ( "芋た目に倉曎がある堎合は画面キャプチャを貌っおください" ) if (has_view_changes or has_view_added) and !pr_has_screenshot # base branch is_to_master = github. branch_for_base == 'master' is_to_develop = github. branch_for_base == 'develop' is_from_releases = !!github. branch_for_head . match ( /releases \/ [0-9]+ \. [0-9]+ \. [0-9]/ ) warn ( 'PR は develop に向けおください' ) if !is_to_develop and !(is_from_releases and is_to_master) # swiftLint swiftlint. lint_files inline_mode: true たずめ CLINICS におけるアプリ開発の品質ず効率性を向䞊するための取り組みをご玹介したした。これらの取り組みによっお プラットフォヌム毎のデザむンや機胜のブレが少なくなり、認識ずれによる手戻りなどが少なくなったこずで開発効率が䞊がった ず感じたす。プラットフォヌム毎の違いを少なくしお、より倚くのメンバヌがコヌドに手を入れやすい状態にするこずで実装やコヌドレビュヌの質も向䞊しおいるように思いたす。 React Native などを利甚しお、コヌドそのものを共通化する方法もあるずは思いたすが、プラットフォヌム毎に別のコヌドで開発する堎合でも、仕様や実装のルヌルを工倫するこずでより効率的に開発できるのではないでしょうか。 CLINICS チヌムでは他にも実装や開発プロセス、プロダクト運甚に぀いお日々改善を行なっおいたす。今埌も、こうした取り組みを積極的に実践し、KPT 圢匏で振り返っお、たた次のアクションに぀なげるこずで、倚くの方に愛されるプロダクトを育おおいきたいず思っおいたす。 お知らせ メドレヌでは、゚ンゞニアやデザむナヌを募集しおいたす。ご興味のある方は、こちらからどうぞ メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
アバタヌ
こんにちは、開発本郚の高井です。オンラむン蚺療アプリ「 CLINICS 」のアプリ開発を䞻に担圓しおいたす。 CLINICS では Web に加えお、iOS 版ず Android 版の各プラットフォヌムの仕様倉曎や機胜远加などをほが同時に開発しおいるのですが、担圓する人数が増えたりするこずで、仕様に差が出たり、その結果手戻りが起きるずいうこずも増え始めおいたした。 そうした課題を解決するために実践した様々な斜策の䞭から、特に有効だった 3 ぀の改善策に぀いお、今日はご玹介したす。 背景 CLINICS の開発チヌムでは 5 人ほどの゚ンゞニアがタスク単䜍で党おのプラットフォヌムを実装したり、倧きいタスクの堎合はプラットフォヌム毎に別の開発者が担圓する圢で開発しおいたす。 そのような圢で機胜远加や䞍具合察応の開発を進める䞭で、以䞋のような課題がありたした。 プラットフォヌム間で仕様やデザむンが違う リリヌス盎前に仕様の違いが芋぀かり、手戻りが発生する 各プラットフォヌムに察する習熟床にバラ぀きがあるため、開発者によっお実装方法が違う 特にプラットフォヌム毎に開発者がほが固定されおしたっおいた時期には、コヌドレビュヌはしおいおも埮劙な違いに気づかなかったり、同じ UI にするのに実装コストが高くおあきらめたり、ずいうこずが起こりがちでした。** プラットフォヌム間で仕様やデザむンが違うずナヌザ䜓隓の質がプラットフォヌムによっおバラ぀いおしたいたすし、デザむンや䌁画の䜜業も増えおしたいたす** 。これらに加えお、゚ンゞニアの人数が増えたり、デザむナヌやカスタマヌサポヌトなど゚ンゞニア以倖のメンバヌずのコミュニケヌションも増えたりしおきたこずもあっお、開発スピヌドも段々ず遅くなっおきおいたした。 そのような状況を改善するために、チヌム内で継続的に実装方法や開発フロヌを芋盎し、改善策を実斜しおきたした。 今回は以䞋の 3 ぀の改善策をご玹介したす。具䜓的な実装に぀いおは、䞻に iOS で䜿甚しおいるコヌドを匕甚しおご玹介したす。コヌドの䞀郚を抜粋しおいるので、そのたたでは䜿甚するこずはできたせん。あくたでも参考コヌドずしお読んでください。 DLSデザむン蚀語システムの導入 アプリ゚ラヌの共通化 コヌドレビュヌの手順改善 改善策 1 DLSデザむン蚀語システムの導入 たずは DLSデザむン蚀語システムの導入に぀いおです。DLS ずは以前、本ブログでもデザむナヌの前田がご玹介させおいただきたしたが デザむン蚀語システムを入れたらコミュニケヌションコストがぐっず䞋がった話〜メドレヌ TechLunch〜 、** UI に䞀貫性をもたせるため、配色やレむアりト、タむポグラフィやマヌゞンなどのルヌル **を策定し、チヌム党䜓で継続的に運甚しおいくための仕組みです。策定したルヌルを組み蟌んだ各コンポヌネントのデザむンを元に、Web / iOS / Android の各プラットフォヌムで UI を実装しお開発時に再利甚できるようにしおいたす。デザむン自䜓は䞋蚘のような圢で Sketch ファむルで管理しおいたす。 iOS に぀いおは各コンポヌネントをカスタムビュヌクラスずしお実装し、再利甚できるようにしたした。DLS 導入以前はプラットフォヌム毎に違った UI やルヌルで開発しおいたので、実装段階で担圓する開発者毎の認識によっお品質や仕様に差が出おいる状態でした。DLS 導入によっおそのような差が出にくくなり、䞀定の品質を保぀こずができるようになりたした。 たた、** UI の埮調敎などが枛っお、機胜ロゞックに重点を眮いた開発に専念できるようになり、さらにデザむナヌずの認識合わせが最小限になったこずにより開発効率も䞊がった **ず感じおいたす。UI の基盀を぀くったこずで新しく画面を開発する堎合でもコンポヌネントを組み合わせ、゚ンゞニアだけで実装が完了するこずも倚くなり、その分デザむナヌは次の斜策やプロゞェクトに専念できるようになりたした。 実装に぀いおですが、各コンポヌネント毎に xib ファむルで UI パヌツを䜜成し、それをクラスファむルで読み蟌んでカスタムビュヌクラスの芋た目ずしお䜿っおいたす。カスタムビュヌは再利甚しやすく、利甚時にバラツキが出にくいように以䞋の点を満たすように実装したした。 Interface Builder/コヌドのどちらからでも初期化できる ビルドする前に Storyboard 䞊で UI パヌツのデザむンを確認できるように IBDesignable ず IBInspectable を指定する カスタムビュヌの䞭で UI 芁玠のマヌゞンや高さを指定する 䟋えば、セレクトフォヌムコンポヌネントのカスタムビュヌは以䞋のような実装になっおいたす。 xib ファむル クラスファむル import UIKit protocol ClinicsFormSelectDelegate : class { func didClickFormSelect ( sender : ClinicsFormSelect) } @IBDesignable class ClinicsFormSelect : UIView { @IBOutlet weak var selectView: SelectView! @IBInspectable var labelText: String = "Form-parts" { didSet { selectView. labelText = labelText } } weak var delegate: ClinicsFormSelectDelegate? // コヌドから初期化する堎合に呌ばれる override init ( frame : CGRect) { super . init ( frame : frame) commonInit () } // Interface Builder から初期化する堎合に呌ばれる required init? ( coder aDecoder : NSCoder) { super . init ( coder : aDecoder) commonInit () } private func commonInit () { // xib ファむルの読み蟌み let bundle = Bundle ( for : type ( of : self )) let view = UINib ( nibName : "ClinicsFormSelect" , bundle : bundle). instantiate ( withOwner : self , options : nil ). first as! UIView addSubview (view) backgroundColor = . clear view. backgroundColor = . clear // 読み蟌んだ View のサむズがカスタムクラスClinicsFormSelectず同じサむズになるように Constraint を蚭定する view. translatesAutoresizingMaskIntoConstraints = false let bindings = [ "view" : view] addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "H:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) addConstraints (NSLayoutConstraint. constraints ( withVisualFormat : "V:|[view]|" , options : NSLayoutFormatOptions ( rawValue : 0 ), metrics : nil , views : bindings)) } // xib ファむルの䞭に配眮した UI 芁玠ぞのアクションのハンドリング @IBAction func didTap ( _ sender : UITapGestureRecognizer) { delegate?. didClickFormSelect ( sender : self ) } } CLINICS では䞻に Storyboard を䜿っお UI を実装しおいるので、䜿甚するずきは Storyboard に UIView を眮き、コンポヌネントのクラス名を指定しお䜿いたす。テキストなどのプロパティを蚭定し、Constraint を指定しお配眮すれば完了です。ナヌザによるアクションのハンドリングや動的にプロパティを切り替える必芁がある堎合は、呌び出し偎で凊理を远加したす。 最終的にビルドするず以䞋のように衚瀺されたす。衚瀺されおいる内容は開発䞭に䜜成した仮のデヌタで実際のものずは異なりたす。 改善策 2 アプリ゚ラヌの共通化 以前は業務的に重芁な凊理の゚ラヌ以倖はプラットフォヌム毎で衚瀺する゚ラヌメッセヌゞが異なっおいたり、゚ラヌハンドリング時に違った挙動をしおいるこずがありたした。その結果、ナヌザ䜓隓が䞀貫したものになっおいないずいうだけでなく、お問い合わせがあっおもカスタマヌサポヌトが䞀次回答しにくかったり、䌝えられた内容が曖昧なため開発者が調査するのに時間がかかったりするこずがありたした。 そこで、改めおフロント偎で発生する゚ラヌの定矩を共通化し、゚ラヌメッセヌゞや゚ラヌハンドリング時の凊理も統䞀したした。** 問い合わせの効率化のために共通の゚ラヌコヌドも決めお、゚ラヌ発生時に衚瀺されるアラヌトに远加し、それらの゚ラヌ定矩はドキュメントで䞀芧化しお、カスタマヌサポヌトにも共有 **するようにしたした。 たた、゚ラヌハンドリング時にクラッシュレポヌトのログに蚘録する内容や送信するタむミングを統䞀しお、開発者党員が理解しやすいようにしたした。゚ラヌコヌドの衚瀺に぀いおは、改善を怜蚎しおいた時期にちょうど参加しおいた iOSDC Japan 2017 で、同じような課題に察する知芋を 発衚 されおいたのを芋お、早速取り入れたした。最近ではナヌザからの問い合わせにも゚ラヌコヌドが䜿われるこずがあり、実際にコミュニケヌションコストを䜎䞋させるこずができおいるように思いたす。 ゚ラヌのフィヌドバックは现かいずころではありたすが、ナヌザのアクションを継続させるために重芁な芁玠のひず぀です。CLINICS はナヌザ属性が老若男女問わず幅広いので特に気を配っお改善を行っおきたした。 実装に぀いおですが、iOS では以䞋のように定矩しおいたす。 enum ApplicationError : Error { case commonRequestError ( String ) case createReservationCardError case createReservationScheduleIsFullError ~ var errorCode: String { switch self { case let . commonRequestError (viewId): return " \( viewId ) -0000" case . createReservationCardError : return "40-0001" case . createReservationScheduleIsFullError : return "40-0002" ~ var title: String { switch self { case . commonRequestError : return "接続゚ラヌ" case . createReservationCardError : return "決枈倱敗゚ラヌ" ~ var description: String { switch self { case . commonRequestError : return "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" case . createReservationCardError : return "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ~ Android でも同様に enum で定矩しおいたす。 enum class ApplicationError ( var code: String , val title: String , val description: String ) { CommonRequestError ( "0000" , "接続゚ラヌ" , "デヌタを正しく衚瀺出来ない可胜性がありたす。 \n 通信状況をお確かめいただくか、しばらく経っおから再床起動しおください。" ), CreateReservationCardError ( "40-0001" , "決枈倱敗゚ラヌ" , "ご登録されおいるクレゞットカヌドの決枈䞭に゚ラヌが発生したした。 \n おそれいりたすが、もう䞀床最初から操䜜ください。" ), CreateReservationScheduleIsFullError ( "40-0002" , "スケゞュヌル空きなし゚ラヌ" , "遞択された予玄日時のスケゞュヌルに空きがありたせんでした。 \n おそれいりたすが、別の予玄日時をご遞択のうえ、もう䞀床最初から操䜜ください。" ), ~ 改善策 3 コヌドレビュヌの手順改善 リリヌス圓初から実装者以倖のメンバヌによるレビュヌは適宜行なっおいたしたが、レビュヌの段階でデグレや仕様の違いを芋逃しおしたうこずがあったので、レビュヌ䜓制の匷化ずメンバヌの゜ヌス理解の向䞊を図るために、以䞋のようにルヌルを蚭定したした。 セルフマヌゞはしない PR に察しお 2 人以䞊でレビュヌする ビュヌの倉曎があった堎合には画面キャプチャを貌る それらを守りやすく、より効率的にするために Danger も導入したした。 導入手順は こちら にたずめられおいるほか、怜玢すればけっこう出おくるので省略したす。匊瀟では iOS の CI は Bitrise を䜿甚しおいるので Bitrise 䞊で実行しお GitHub の PR に反映させおいたす。 Danger では、以䞋の項目をチェックしおいたす。䞊蚘のルヌルを反映しおいるのに加えお、PR の向き先ず SwiftLint の実行結果もチェックしおいたす。CLINICS の iOS アプリでは GitFlow を導入しおいるため、release ブランチず hot-fix ブランチ以倖からの PR の向き先が develop ブランチになっおいない堎合には譊告を出すようにしおいたす。 レビュアヌの人数が 2 人以䞊になっおいるか ビュヌの倉曎xib、storyboard を觊ったかどうかのみ確認があった堎合に画面キャプチャを貌っおいるかどうか PR が develop に向けお䜜成されおいるか SwiftLint のチェックを通っおいるか 匊瀟が iOS 開発で利甚しおいる Danger ファむルは以䞋の通りずなっおいたす。導入する際のご参考にしおください。 # for only difference github. dismiss_out_of_range_messages # reviewers warn ( "レビュアヌは 2 人以䞊指定しおください" ) if github. github . pr_json [ "requested_reviewers" ]. length < 2 # view changes view_extensions = [ ".xib" , ".storyboard" ] has_view_changes = git. modified_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} has_view_added = git. added_files . any? { | file | view_extensions. any? { | ext | file. end_with? ext }} pr_has_screenshot = github. pr_body =~ /https?: \/\/\S * \. (png|jpg|jpeg|gif){1}/ warn ( "芋た目に倉曎がある堎合は画面キャプチャを貌っおください" ) if (has_view_changes or has_view_added) and !pr_has_screenshot # base branch is_to_master = github. branch_for_base == 'master' is_to_develop = github. branch_for_base == 'develop' is_from_releases = !!github. branch_for_head . match ( /releases \/ [0-9]+ \. [0-9]+ \. [0-9]/ ) warn ( 'PR は develop に向けおください' ) if !is_to_develop and !(is_from_releases and is_to_master) # swiftLint swiftlint. lint_files inline_mode: true たずめ CLINICS におけるアプリ開発の品質ず効率性を向䞊するための取り組みをご玹介したした。これらの取り組みによっお プラットフォヌム毎のデザむンや機胜のブレが少なくなり、認識ずれによる手戻りなどが少なくなったこずで開発効率が䞊がった ず感じたす。プラットフォヌム毎の違いを少なくしお、より倚くのメンバヌがコヌドに手を入れやすい状態にするこずで実装やコヌドレビュヌの質も向䞊しおいるように思いたす。 React Native などを利甚しお、コヌドそのものを共通化する方法もあるずは思いたすが、プラットフォヌム毎に別のコヌドで開発する堎合でも、仕様や実装のルヌルを工倫するこずでより効率的に開発できるのではないでしょうか。 CLINICS チヌムでは他にも実装や開発プロセス、プロダクト運甚に぀いお日々改善を行なっおいたす。今埌も、こうした取り組みを積極的に実践し、KPT 圢匏で振り返っお、たた次のアクションに぀なげるこずで、倚くの方に愛されるプロダクトを育おおいきたいず思っおいたす。 お知らせ メドレヌでは、゚ンゞニアやデザむナヌを募集しおいたす。ご興味のある方は、こちらからどうぞ メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
アバタヌ
こんにちは。開発本郚の医療メディアチヌムでデザむンをしおいる波切です。 メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で、デザむナヌ以倖の方も知っおおいお損はない「ブランドずは」ずいうお話をさせおいただきたした。倚くの方が䜕ずなく知っおいるこずも倚いかもしれたせんが、再入門的に参考にしおいただけるず嬉しいです。 背景 メドレヌでは時期を問わずプロダクトの圚り方に぀いお垞日頃から様々な堎面で議論がなされおいたす。 こういった議論の䞭でブランドずしおどのように芋せられるのが良いだろうか、ずいった怜蚎をするこずも倚々あり、改めおブランドに぀いお孊び盎したいず思ったのが今回のきっかけになりたす。 TechLunch でぱンゞニア・デザむナヌ・ディレクタヌ・医垫ず様々な職皮の人が参加しおいたす。 この時代では圓たり前かもしれないブランドの基瀎を改めお孊び盎し、デザむナヌ以倖の職皮の方にも共有したしたので、ブログでもご玹介させおいただければず思いたす。 ブランドっおなんでしょう ブランドずブランディングの違いっおᅩ たずは混合しやすいブランドずブランディングの定矩から。 ある特定の商品やサヌビスが消費者・顧客によっお識別されおいるずき、 その商品やサヌビスを「ブランド」ず呌ぶ ※補品名、パッケヌゞング、広告、䟡栌、䜿甚経隓などにより、その補品に぀けられた補品特性ず䟡倀機胜的および非機胜的ずのナニヌクなコンビネヌション。消費者・顧客の目から芋た堎合、その補品を競合から差別化するもの。 (via ブランド・マネヌゞャヌ認定協䌚 甚語集 ) ブランディングずは、ブランドに察する共感や信頌などを通じお顧客にずっおの䟡倀を高めおいく、䌁業ず組織のマヌケティング戊略の 1 ぀。ブランドずしお認知されおいないものをブランドに育お䞊げる、あるいはブランド構成芁玠を匷化し、掻性・維持管理しおいくこず。たた、その手法。ここでいうブランドずは高玚消費財に限らず、その察象ずしおは、商品やサヌビス、それらを䟛絊する䌁業や団䜓のほか、人物・建築物・史跡・地域 ・祭事など、あらゆるものが該圓する。 (via wikipedia:ブランディング ) ブランド ずは「䌁業・補品に察しお消費者が持っおいるむメヌゞ(蚘号)であり、競合ずの差別化を生み出す䟡倀の総䜓」を指し、 ブランディング は「ブランド䟡倀を䞎えるための手段」ず捉えるこずができるず思いたす。 この定矩になぞらえおコカ・コヌラを䟋にブランドずしお認知される具䜓的なステップずしお玹介するず、以䞋のようになりたす。 ロゎなどの識別蚘号が蚘憶される コカコヌラのロゎが蚘憶される (生掻者の頭の䞭に、ロゎなどの識別蚘号が蚘憶される) 蚘号から䜓隓が思い浮かぶ コカコヌラのロゎを芋れば炭酞飲料であるこずや、爜やかな気分になれるこずが思い浮ぶ (識別蚘号を芋れば、知芚䜓隓を想起できる) 䜓隓から蚘号を思い出す 爜やかな気分になりたいず思ったら、コカコヌラを思い出す。ロゎが思い浮かぶ (知芚䟡倀が頭に浮かんだら、識別蚘号が想起される)  「ブランド連想」「ブランド資産」ずいった蚀葉もあり、ブランド識別蚘号ず知芚䜓隓に察しおポゞティブな印象を築き蓄積させるこずがブランディングのカギになっおきたす。 ブランド構築 前述の蚘号をブランドの土台ずするずコヌポレヌトアむデンティティCIやノィゞュアルアむデンティティVIずいったクリ゚むティブが倧きな圹割を果たしたすが、珟圚ではナヌザヌはブランドを知芚する機䌚が倚く、差別化のためにもブランドは顧客䜓隓をベヌスに䜜っおいくこずも重芁になりたす。 良い顧客䜓隓を提䟛しブランドの競争力を高める ずいう考え方に基づいお、ブランド戊略を考える順番は理想的な䜓隓を描いおから必芁なモノや技術を考えたす。これはブランドに限らず様々な堎面で意識したいこずです。 ブランドに倧事な䞀貫性 魅力的なブランドは顧客䜓隓が蓄積しお圢成されおいきたす。蓄積されるブランド䜓隓の芁玠は「䜓隓の魅力床」「䜓隓の量ず時間」「䜓隓の䞀貫性」ず 3 ぀あり、ブランドの䟡倀はこの 3 ぀の芁玠のかけ算にありたす。 䜓隓が魅力的であり、その䜓隓の回数が倚く長い時間にわたっお経隓し、䜓隓自䜓に䞀貫性があるブランドがナヌザヌずっお良いものずされたす。 3 ぀のうち特に重芁なものは最埌の 䜓隓の䞀貫性 にあり、この䞀貫性は 2 ぀に分けるこずができたす。 時系列で䞀貫性 時代で巊右されない顧客䜓隓がブランドから提䟛される 接点の䞀貫性 ブランドを買ったり利甚する前から、賌入プロセス、賌入埌の利甚シヌンにおいお、䞀貫した顧客䜓隓ができる 「モノずコト」にも䟋えやすいずころですが、補品ずしおの䞀貫性に加えお䜓隓する前埌のグランドデザむンにも䞀貫性を持たすこずが重芁になりたす。 䟋ずしおスタヌバックスは広告費をほずんどかけずに今のブランド認知床を築いたこずは有名ですが、そこにはブランドの䟡倀を築くためのブランディングに䞀貫性があり、か぀それらが時代性ずマッチしたのが芁因ではないかず思いたす。 ブランディングのメリット 遞択意思決定の単玔化・固定化 顧客の知識が敎理されるこずで競合ず差別化され再び同じ物を遞ぶようになる ナヌザヌのロむダル化 芪しみや信頌が増倧されるこずでブランドロむダリティが圢成される なぜブランドにこだわるのか、ずいう点でもこれらメリットを実珟しおいくこずが重芁です。 デザむナヌずしお気遣い溢れる UI や、サヌビスの思想を蚘号に萜ずし蟌んだ VI などモノづくり芖点でのこだわりや重芁さを螏たえた䞊で、他職皮の方にもこれらのメリットや競争ずしおの必芁であるこずを理解しおもらえるよう働きかけるこずを意識しおいきたいずころです。 ブランディングの悩みどころ ここからは基瀎を螏たえお、実践的に行われおいるブランディングで悩みやすいずころを事䟋で玹介しながら簡単なディスカッションをしおいきたした。䞀郚だけ抜粋しおご玹介したす。 補品ブランドの管理 䌚瀟のブランド管理の思想を定矩できおも、倉化の早い業界であればむメヌゞ通りになかなか通らないこずも倚々有りえたす。 少ないブランド資産を掻甚する意味でもスタヌトアップは暪䞲型に敎理されるこずが倚くありたすが、ある皋床の芏暡感になっお基瀎䜓力がある䌁業であるず個別適応型でもブランドずしお信頌性を保おたすし、暪䞲型に比べお動きやすさがあるず思いたす。 䞀方で、プラットフォヌマヌずしお存圚したいなら暪䞲のブランド䟡倀からファンを囲い蟌むべきかもしれたせん。Techlunch の䞭でもメドレヌであればどうあるず良いかに぀いお議論ができたした。 ブランディングのタむミング 顧客䜓隓の蓄積が重芁なブランドでありたすが、どの段階でブランディングに取り組むかは状況によりたすが意芋が出やすいずころだず思いたす。 ICC FUKUOKA2017 におブランディングに぀いおのセッションがあり、取り組むタむミングに぀いおの議論がうたくたずめられおいたため Techlunch で事䟋ずしお共有したした。プロダクトずしおの差別化が基本であるこずに加えお、ブランドの圚り方を組織にむンストヌルさせるためにブランディングに取り組むケヌスも玹介されおいたす。 僕はブランドが垞に必芁かず蚀うず“No”だず思いたす。 コモディティ化し始めたり、競争が始たっお差別化しなくおはならない時に、プロダクトの機胜などで差別化ができない、たたは必ずしもパフォヌマンスで差別化ができない時に唯䞀残された遞択が、ブランドを䜜るずいうこずであるず思いたす。 [株匏䌚瀟 Bloom&Co. 圌野泰匘] ナヌザヌを獲りにいくずいうフェヌズですよね。 メルカリの堎合、やはり最初の 100 䞇ダりンロヌドくらいたでは、結構チュヌニングをしながらオンラむンのマヌケティングでナヌザヌを獲埗しおきおきたした。 äž­ç•¥ やはり 100 䞇ダりンロヌドくらいあっお、リテンションレヌトが高くナヌザヌが積み䞊がる状態になっおいれば、倧きくマスマヌケティングTVCMをやっおも獲埗したナヌザヌは残りたすからね。 [株匏䌚瀟メルカリ 小泉文明] 僕は、ナヌザヌを獲埗する手前でブランドが必芁だず思っおいるんですよね。 ブランドずいうのは必ずしも倖に察しおだけではなくお、組織の䞭の人に察しお必芁であるこずもすごく倚いのです。 äž­ç•¥ 資生堂は圓時 130 幎くらい経っおいる䌚瀟だったので、その 130 幎もこの埌の 130 幎も、䞖の䞭を矎しくするずか、人を矎しくするずか、それは女性に限らず、お化粧に限らず矎しくするずいうこずが必芁だよね、軞だよねずいう話になっお、そのスロヌガンず共に前田新瀟長䜓制で進んでいくこずになりたした。 [株匏䌚瀟 dof 霋藀倪郎] (via スタヌトアップのブランディングはい぀から必芁か【F17-7C #3】 ) 共有した埌には、リリヌス圓初からブランドやクリ゚むティブが䜜り蟌たれたプロダクトが最近話題になるこずが倚いずいうこずも話に䞊がりたした。 もちろんブランディングのタむミングは状況により千差䞇別ですが、プロダクトをれロから䜜る際には、プロダクトの圚り方ず合わせおどんなブランドを䜜っお行きたいのかも早めに考えられるこずが必芁だ、など具䜓的なディスカッションも出来たした。 新たなブランドが受け入れられないこずも 基本的にブランドを新しくするこずは芋慣れたものが倉わっおしたう恐怖から反発を生むケヌスが倚いですが、その䞭でも GAP はロゎの 2010 幎リニュヌアル公衚埌ネット䞊からの反発が匷くわずか 6 日間ずいう短期間で新しいロゎの䜿甚を止め、元のロゎに戻しおしたうずいう䞀件がありたした。この件は 株䟡 にも倧きな圱響を䞎えたした 䞀方、同じような境遇で Airbnb も 2014 幎のリニュヌアル圓初ロゎは䞍評でしたが今ではリニュヌアルの成功䟋ずしお扱われる存圚になっおいたす。 Techlunch でも歎史の有無が差になったのか、など様々な意芋が出おきたした。この件はロゎずしおの王道を極めようずした以䞊の背景を提瀺出来なかった Gap に察しお、 Airbnb はサヌビスのストヌリヌをロゎに内包 し、地道にロゎを介したコミュニケヌションに培したこずが明暗を分けたように思いたす。 この事䟋はロゎのアむデンティティをどこたで確立させられたかの違いにあるこずに加えお、デザむンの意思決定を䞀時的な倚数意芋に委ねた事䟋ずしおも孊ぶこずが倚いです。 たずめ 私個人が元々グラフィックデザむンをしおいた経隓もあり、今たではブランディングの䞭でも興味が CI や VI に傟倒しおいたしたが、䜓隓党䜓がブランドに倧きな圱響を䞎えるこの時代、組織ずしおブランド構築をしおいく意識が重芁であるこずが今回の倧きな孊びでした。 たた基瀎を孊ぶ䞊で曞籍を読んでいたしたが、最近の事䟋などを孊ぶ際にはブログなどでの情報収集がずおも有効で、孊び方も倉わっおきおいるなず思いたした。今回玹介した内容はあくたで入門線なので、興味があれば今回参考にさせおいただいた本ずブログ・蚘事からより深堀りが出来るのでオススメしたす。 プラットフォヌムブランディング コヌポレヌト・アむデンティティ戊略―デザむンが䌁業経営を倉える ブランド・゚クむティ研究の展望 䟡倀をめぐる議論の系譜を䞭心に UX ずブランド ブランドアむデンティティずはブランド構築を成果に導く BI の創り方成功事䟋有 スタヌトアップのブランディングはい぀から必芁か ロゎのリデザむンヌなぜ Gap が倱敗し Airbnb が受け入れられたのか 歊噚になる「ロゎ」を生み出す、CI デザむンずは䜕か Techlunch ではデザむナヌ以倖の方からも事䟋に察しお意芋が出たり、疑問に察しお参加者でディスカッションが出来たこずがずおも有意矩でした。今埌はこれらを意識しながらブランドの土台ずなる䟡倀や圚り方をデザむン出来るようにしおいきたいず思いたす。 お知らせ  メドレヌでは、医療介護の求人サむト「ゞョブメドレヌ」、医垫たちが぀くるオンラむン医療事兞「MEDLEY」、口コミで探せる介護斜蚭の怜玢サむト「介護のほんね」、オンラむン蚺療アプリ「CLINICS」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 興味のある方、ぜひメドレヌぞ遊びにいらしおください。 www.medley.jp
アバタヌ
こんにちは。開発本郚の医療メディアチヌムでデザむンをしおいる波切です。 メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で、デザむナヌ以倖の方も知っおおいお損はない「ブランドずは」ずいうお話をさせおいただきたした。倚くの方が䜕ずなく知っおいるこずも倚いかもしれたせんが、再入門的に参考にしおいただけるず嬉しいです。 背景 メドレヌでは時期を問わずプロダクトの圚り方に぀いお垞日頃から様々な堎面で議論がなされおいたす。 こういった議論の䞭でブランドずしおどのように芋せられるのが良いだろうか、ずいった怜蚎をするこずも倚々あり、改めおブランドに぀いお孊び盎したいず思ったのが今回のきっかけになりたす。 TechLunch でぱンゞニア・デザむナヌ・ディレクタヌ・医垫ず様々な職皮の人が参加しおいたす。 この時代では圓たり前かもしれないブランドの基瀎を改めお孊び盎し、デザむナヌ以倖の職皮の方にも共有したしたので、ブログでもご玹介させおいただければず思いたす。 ブランドっおなんでしょう ブランドずブランディングの違いっおᅩ たずは混合しやすいブランドずブランディングの定矩から。 ある特定の商品やサヌビスが消費者・顧客によっお識別されおいるずき、 その商品やサヌビスを「ブランド」ず呌ぶ ※補品名、パッケヌゞング、広告、䟡栌、䜿甚経隓などにより、その補品に぀けられた補品特性ず䟡倀機胜的および非機胜的ずのナニヌクなコンビネヌション。消費者・顧客の目から芋た堎合、その補品を競合から差別化するもの。 (via ブランド・マネヌゞャヌ認定協䌚 甚語集 ) ブランディングずは、ブランドに察する共感や信頌などを通じお顧客にずっおの䟡倀を高めおいく、䌁業ず組織のマヌケティング戊略の 1 ぀。ブランドずしお認知されおいないものをブランドに育お䞊げる、あるいはブランド構成芁玠を匷化し、掻性・維持管理しおいくこず。たた、その手法。ここでいうブランドずは高玚消費財に限らず、その察象ずしおは、商品やサヌビス、それらを䟛絊する䌁業や団䜓のほか、人物・建築物・史跡・地域 ・祭事など、あらゆるものが該圓する。 (via wikipedia:ブランディング ) ブランド ずは「䌁業・補品に察しお消費者が持っおいるむメヌゞ(蚘号)であり、競合ずの差別化を生み出す䟡倀の総䜓」を指し、 ブランディング は「ブランド䟡倀を䞎えるための手段」ず捉えるこずができるず思いたす。 この定矩になぞらえおコカ・コヌラを䟋にブランドずしお認知される具䜓的なステップずしお玹介するず、以䞋のようになりたす。 ロゎなどの識別蚘号が蚘憶される コカコヌラのロゎが蚘憶される (生掻者の頭の䞭に、ロゎなどの識別蚘号が蚘憶される) 蚘号から䜓隓が思い浮かぶ コカコヌラのロゎを芋れば炭酞飲料であるこずや、爜やかな気分になれるこずが思い浮ぶ (識別蚘号を芋れば、知芚䜓隓を想起できる) 䜓隓から蚘号を思い出す 爜やかな気分になりたいず思ったら、コカコヌラを思い出す。ロゎが思い浮かぶ (知芚䟡倀が頭に浮かんだら、識別蚘号が想起される)  「ブランド連想」「ブランド資産」ずいった蚀葉もあり、ブランド識別蚘号ず知芚䜓隓に察しおポゞティブな印象を築き蓄積させるこずがブランディングのカギになっおきたす。 ブランド構築 前述の蚘号をブランドの土台ずするずコヌポレヌトアむデンティティCIやノィゞュアルアむデンティティVIずいったクリ゚むティブが倧きな圹割を果たしたすが、珟圚ではナヌザヌはブランドを知芚する機䌚が倚く、差別化のためにもブランドは顧客䜓隓をベヌスに䜜っおいくこずも重芁になりたす。 良い顧客䜓隓を提䟛しブランドの競争力を高める ずいう考え方に基づいお、ブランド戊略を考える順番は理想的な䜓隓を描いおから必芁なモノや技術を考えたす。これはブランドに限らず様々な堎面で意識したいこずです。 ブランドに倧事な䞀貫性 魅力的なブランドは顧客䜓隓が蓄積しお圢成されおいきたす。蓄積されるブランド䜓隓の芁玠は「䜓隓の魅力床」「䜓隓の量ず時間」「䜓隓の䞀貫性」ず 3 ぀あり、ブランドの䟡倀はこの 3 ぀の芁玠のかけ算にありたす。 䜓隓が魅力的であり、その䜓隓の回数が倚く長い時間にわたっお経隓し、䜓隓自䜓に䞀貫性があるブランドがナヌザヌずっお良いものずされたす。 3 ぀のうち特に重芁なものは最埌の 䜓隓の䞀貫性 にあり、この䞀貫性は 2 ぀に分けるこずができたす。 時系列で䞀貫性 時代で巊右されない顧客䜓隓がブランドから提䟛される 接点の䞀貫性 ブランドを買ったり利甚する前から、賌入プロセス、賌入埌の利甚シヌンにおいお、䞀貫した顧客䜓隓ができる 「モノずコト」にも䟋えやすいずころですが、補品ずしおの䞀貫性に加えお䜓隓する前埌のグランドデザむンにも䞀貫性を持たすこずが重芁になりたす。 䟋ずしおスタヌバックスは広告費をほずんどかけずに今のブランド認知床を築いたこずは有名ですが、そこにはブランドの䟡倀を築くためのブランディングに䞀貫性があり、か぀それらが時代性ずマッチしたのが芁因ではないかず思いたす。 ブランディングのメリット 遞択意思決定の単玔化・固定化 顧客の知識が敎理されるこずで競合ず差別化され再び同じ物を遞ぶようになる ナヌザヌのロむダル化 芪しみや信頌が増倧されるこずでブランドロむダリティが圢成される なぜブランドにこだわるのか、ずいう点でもこれらメリットを実珟しおいくこずが重芁です。 デザむナヌずしお気遣い溢れる UI や、サヌビスの思想を蚘号に萜ずし蟌んだ VI などモノづくり芖点でのこだわりや重芁さを螏たえた䞊で、他職皮の方にもこれらのメリットや競争ずしおの必芁であるこずを理解しおもらえるよう働きかけるこずを意識しおいきたいずころです。 ブランディングの悩みどころ ここからは基瀎を螏たえお、実践的に行われおいるブランディングで悩みやすいずころを事䟋で玹介しながら簡単なディスカッションをしおいきたした。䞀郚だけ抜粋しおご玹介したす。 補品ブランドの管理 䌚瀟のブランド管理の思想を定矩できおも、倉化の早い業界であればむメヌゞ通りになかなか通らないこずも倚々有りえたす。 少ないブランド資産を掻甚する意味でもスタヌトアップは暪䞲型に敎理されるこずが倚くありたすが、ある皋床の芏暡感になっお基瀎䜓力がある䌁業であるず個別適応型でもブランドずしお信頌性を保おたすし、暪䞲型に比べお動きやすさがあるず思いたす。 䞀方で、プラットフォヌマヌずしお存圚したいなら暪䞲のブランド䟡倀からファンを囲い蟌むべきかもしれたせん。Techlunch の䞭でもメドレヌであればどうあるず良いかに぀いお議論ができたした。 ブランディングのタむミング 顧客䜓隓の蓄積が重芁なブランドでありたすが、どの段階でブランディングに取り組むかは状況によりたすが意芋が出やすいずころだず思いたす。 ICC FUKUOKA2017 におブランディングに぀いおのセッションがあり、取り組むタむミングに぀いおの議論がうたくたずめられおいたため Techlunch で事䟋ずしお共有したした。プロダクトずしおの差別化が基本であるこずに加えお、ブランドの圚り方を組織にむンストヌルさせるためにブランディングに取り組むケヌスも玹介されおいたす。 僕はブランドが垞に必芁かず蚀うず“No”だず思いたす。 コモディティ化し始めたり、競争が始たっお差別化しなくおはならない時に、プロダクトの機胜などで差別化ができない、たたは必ずしもパフォヌマンスで差別化ができない時に唯䞀残された遞択が、ブランドを䜜るずいうこずであるず思いたす。 [株匏䌚瀟 Bloom&Co. 圌野泰匘] ナヌザヌを獲りにいくずいうフェヌズですよね。 メルカリの堎合、やはり最初の 100 䞇ダりンロヌドくらいたでは、結構チュヌニングをしながらオンラむンのマヌケティングでナヌザヌを獲埗しおきおきたした。 äž­ç•¥ やはり 100 䞇ダりンロヌドくらいあっお、リテンションレヌトが高くナヌザヌが積み䞊がる状態になっおいれば、倧きくマスマヌケティングTVCMをやっおも獲埗したナヌザヌは残りたすからね。 [株匏䌚瀟メルカリ 小泉文明] 僕は、ナヌザヌを獲埗する手前でブランドが必芁だず思っおいるんですよね。 ブランドずいうのは必ずしも倖に察しおだけではなくお、組織の䞭の人に察しお必芁であるこずもすごく倚いのです。 äž­ç•¥ 資生堂は圓時 130 幎くらい経っおいる䌚瀟だったので、その 130 幎もこの埌の 130 幎も、䞖の䞭を矎しくするずか、人を矎しくするずか、それは女性に限らず、お化粧に限らず矎しくするずいうこずが必芁だよね、軞だよねずいう話になっお、そのスロヌガンず共に前田新瀟長䜓制で進んでいくこずになりたした。 [株匏䌚瀟 dof 霋藀倪郎] (via スタヌトアップのブランディングはい぀から必芁か【F17-7C #3】 ) 共有した埌には、リリヌス圓初からブランドやクリ゚むティブが䜜り蟌たれたプロダクトが最近話題になるこずが倚いずいうこずも話に䞊がりたした。 もちろんブランディングのタむミングは状況により千差䞇別ですが、プロダクトをれロから䜜る際には、プロダクトの圚り方ず合わせおどんなブランドを䜜っお行きたいのかも早めに考えられるこずが必芁だ、など具䜓的なディスカッションも出来たした。 新たなブランドが受け入れられないこずも 基本的にブランドを新しくするこずは芋慣れたものが倉わっおしたう恐怖から反発を生むケヌスが倚いですが、その䞭でも GAP はロゎの 2010 幎リニュヌアル公衚埌ネット䞊からの反発が匷くわずか 6 日間ずいう短期間で新しいロゎの䜿甚を止め、元のロゎに戻しおしたうずいう䞀件がありたした。この件は 株䟡 にも倧きな圱響を䞎えたした 䞀方、同じような境遇で Airbnb も 2014 幎のリニュヌアル圓初ロゎは䞍評でしたが今ではリニュヌアルの成功䟋ずしお扱われる存圚になっおいたす。 Techlunch でも歎史の有無が差になったのか、など様々な意芋が出おきたした。この件はロゎずしおの王道を極めようずした以䞊の背景を提瀺出来なかった Gap に察しお、 Airbnb はサヌビスのストヌリヌをロゎに内包 し、地道にロゎを介したコミュニケヌションに培したこずが明暗を分けたように思いたす。 この事䟋はロゎのアむデンティティをどこたで確立させられたかの違いにあるこずに加えお、デザむンの意思決定を䞀時的な倚数意芋に委ねた事䟋ずしおも孊ぶこずが倚いです。 たずめ 私個人が元々グラフィックデザむンをしおいた経隓もあり、今たではブランディングの䞭でも興味が CI や VI に傟倒しおいたしたが、䜓隓党䜓がブランドに倧きな圱響を䞎えるこの時代、組織ずしおブランド構築をしおいく意識が重芁であるこずが今回の倧きな孊びでした。 たた基瀎を孊ぶ䞊で曞籍を読んでいたしたが、最近の事䟋などを孊ぶ際にはブログなどでの情報収集がずおも有効で、孊び方も倉わっおきおいるなず思いたした。今回玹介した内容はあくたで入門線なので、興味があれば今回参考にさせおいただいた本ずブログ・蚘事からより深堀りが出来るのでオススメしたす。 プラットフォヌムブランディング コヌポレヌト・アむデンティティ戊略―デザむンが䌁業経営を倉える ブランド・゚クむティ研究の展望 䟡倀をめぐる議論の系譜を䞭心に UX ずブランド ブランドアむデンティティずはブランド構築を成果に導く BI の創り方成功事䟋有 スタヌトアップのブランディングはい぀から必芁か ロゎのリデザむンヌなぜ Gap が倱敗し Airbnb が受け入れられたのか 歊噚になる「ロゎ」を生み出す、CI デザむンずは䜕か Techlunch ではデザむナヌ以倖の方からも事䟋に察しお意芋が出たり、疑問に察しお参加者でディスカッションが出来たこずがずおも有意矩でした。今埌はこれらを意識しながらブランドの土台ずなる䟡倀や圚り方をデザむン出来るようにしおいきたいず思いたす。 お知らせ  メドレヌでは、医療介護の求人サむト「ゞョブメドレヌ」、医垫たちが぀くるオンラむン医療事兞「MEDLEY」、口コミで探せる介護斜蚭の怜玢サむト「介護のほんね」、オンラむン蚺療アプリ「CLINICS」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 興味のある方、ぜひメドレヌぞ遊びにいらしおください。 www.medley.jp
アバタヌ
こんにちは。開発本郚の医療メディアチヌムでデザむンをしおいる波切です。 メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で、デザむナヌ以倖の方も知っおおいお損はない「ブランドずは」ずいうお話をさせおいただきたした。倚くの方が䜕ずなく知っおいるこずも倚いかもしれたせんが、再入門的に参考にしおいただけるず嬉しいです。 背景 メドレヌでは時期を問わずプロダクトの圚り方に぀いお垞日頃から様々な堎面で議論がなされおいたす。 こういった議論の䞭でブランドずしおどのように芋せられるのが良いだろうか、ずいった怜蚎をするこずも倚々あり、改めおブランドに぀いお孊び盎したいず思ったのが今回のきっかけになりたす。 TechLunch でぱンゞニア・デザむナヌ・ディレクタヌ・医垫ず様々な職皮の人が参加しおいたす。 この時代では圓たり前かもしれないブランドの基瀎を改めお孊び盎し、デザむナヌ以倖の職皮の方にも共有したしたので、ブログでもご玹介させおいただければず思いたす。 ブランドっおなんでしょう ブランドずブランディングの違いっおᅩ たずは混合しやすいブランドずブランディングの定矩から。 ある特定の商品やサヌビスが消費者・顧客によっお識別されおいるずき、 その商品やサヌビスを「ブランド」ず呌ぶ ※補品名、パッケヌゞング、広告、䟡栌、䜿甚経隓などにより、その補品に぀けられた補品特性ず䟡倀機胜的および非機胜的ずのナニヌクなコンビネヌション。消費者・顧客の目から芋た堎合、その補品を競合から差別化するもの。 (via ブランド・マネヌゞャヌ認定協䌚 甚語集 ) ブランディングずは、ブランドに察する共感や信頌などを通じお顧客にずっおの䟡倀を高めおいく、䌁業ず組織のマヌケティング戊略の 1 ぀。ブランドずしお認知されおいないものをブランドに育お䞊げる、あるいはブランド構成芁玠を匷化し、掻性・維持管理しおいくこず。たた、その手法。ここでいうブランドずは高玚消費財に限らず、その察象ずしおは、商品やサヌビス、それらを䟛絊する䌁業や団䜓のほか、人物・建築物・史跡・地域 ・祭事など、あらゆるものが該圓する。 (via wikipedia:ブランディング ) ブランド ずは「䌁業・補品に察しお消費者が持っおいるむメヌゞ(蚘号)であり、競合ずの差別化を生み出す䟡倀の総䜓」を指し、 ブランディング は「ブランド䟡倀を䞎えるための手段」ず捉えるこずができるず思いたす。 この定矩になぞらえおコカ・コヌラを䟋にブランドずしお認知される具䜓的なステップずしお玹介するず、以䞋のようになりたす。 ロゎなどの識別蚘号が蚘憶される コカコヌラのロゎが蚘憶される (生掻者の頭の䞭に、ロゎなどの識別蚘号が蚘憶される) 蚘号から䜓隓が思い浮かぶ コカコヌラのロゎを芋れば炭酞飲料であるこずや、爜やかな気分になれるこずが思い浮ぶ (識別蚘号を芋れば、知芚䜓隓を想起できる) 䜓隓から蚘号を思い出す 爜やかな気分になりたいず思ったら、コカコヌラを思い出す。ロゎが思い浮かぶ (知芚䟡倀が頭に浮かんだら、識別蚘号が想起される)  「ブランド連想」「ブランド資産」ずいった蚀葉もあり、ブランド識別蚘号ず知芚䜓隓に察しおポゞティブな印象を築き蓄積させるこずがブランディングのカギになっおきたす。 ブランド構築 前述の蚘号をブランドの土台ずするずコヌポレヌトアむデンティティCIやノィゞュアルアむデンティティVIずいったクリ゚むティブが倧きな圹割を果たしたすが、珟圚ではナヌザヌはブランドを知芚する機䌚が倚く、差別化のためにもブランドは顧客䜓隓をベヌスに䜜っおいくこずも重芁になりたす。 良い顧客䜓隓を提䟛しブランドの競争力を高める ずいう考え方に基づいお、ブランド戊略を考える順番は理想的な䜓隓を描いおから必芁なモノや技術を考えたす。これはブランドに限らず様々な堎面で意識したいこずです。 ブランドに倧事な䞀貫性 魅力的なブランドは顧客䜓隓が蓄積しお圢成されおいきたす。蓄積されるブランド䜓隓の芁玠は「䜓隓の魅力床」「䜓隓の量ず時間」「䜓隓の䞀貫性」ず 3 ぀あり、ブランドの䟡倀はこの 3 ぀の芁玠のかけ算にありたす。 䜓隓が魅力的であり、その䜓隓の回数が倚く長い時間にわたっお経隓し、䜓隓自䜓に䞀貫性があるブランドがナヌザヌずっお良いものずされたす。 3 ぀のうち特に重芁なものは最埌の 䜓隓の䞀貫性 にあり、この䞀貫性は 2 ぀に分けるこずができたす。 時系列で䞀貫性 時代で巊右されない顧客䜓隓がブランドから提䟛される 接点の䞀貫性 ブランドを買ったり利甚する前から、賌入プロセス、賌入埌の利甚シヌンにおいお、䞀貫した顧客䜓隓ができる 「モノずコト」にも䟋えやすいずころですが、補品ずしおの䞀貫性に加えお䜓隓する前埌のグランドデザむンにも䞀貫性を持たすこずが重芁になりたす。 䟋ずしおスタヌバックスは広告費をほずんどかけずに今のブランド認知床を築いたこずは有名ですが、そこにはブランドの䟡倀を築くためのブランディングに䞀貫性があり、か぀それらが時代性ずマッチしたのが芁因ではないかず思いたす。 ブランディングのメリット 遞択意思決定の単玔化・固定化 顧客の知識が敎理されるこずで競合ず差別化され再び同じ物を遞ぶようになる ナヌザヌのロむダル化 芪しみや信頌が増倧されるこずでブランドロむダリティが圢成される なぜブランドにこだわるのか、ずいう点でもこれらメリットを実珟しおいくこずが重芁です。 デザむナヌずしお気遣い溢れる UI や、サヌビスの思想を蚘号に萜ずし蟌んだ VI などモノづくり芖点でのこだわりや重芁さを螏たえた䞊で、他職皮の方にもこれらのメリットや競争ずしおの必芁であるこずを理解しおもらえるよう働きかけるこずを意識しおいきたいずころです。 ブランディングの悩みどころ ここからは基瀎を螏たえお、実践的に行われおいるブランディングで悩みやすいずころを事䟋で玹介しながら簡単なディスカッションをしおいきたした。䞀郚だけ抜粋しおご玹介したす。 補品ブランドの管理 䌚瀟のブランド管理の思想を定矩できおも、倉化の早い業界であればむメヌゞ通りになかなか通らないこずも倚々有りえたす。 少ないブランド資産を掻甚する意味でもスタヌトアップは暪䞲型に敎理されるこずが倚くありたすが、ある皋床の芏暡感になっお基瀎䜓力がある䌁業であるず個別適応型でもブランドずしお信頌性を保おたすし、暪䞲型に比べお動きやすさがあるず思いたす。 䞀方で、プラットフォヌマヌずしお存圚したいなら暪䞲のブランド䟡倀からファンを囲い蟌むべきかもしれたせん。Techlunch の䞭でもメドレヌであればどうあるず良いかに぀いお議論ができたした。 ブランディングのタむミング 顧客䜓隓の蓄積が重芁なブランドでありたすが、どの段階でブランディングに取り組むかは状況によりたすが意芋が出やすいずころだず思いたす。 ICC FUKUOKA2017 におブランディングに぀いおのセッションがあり、取り組むタむミングに぀いおの議論がうたくたずめられおいたため Techlunch で事䟋ずしお共有したした。プロダクトずしおの差別化が基本であるこずに加えお、ブランドの圚り方を組織にむンストヌルさせるためにブランディングに取り組むケヌスも玹介されおいたす。 僕はブランドが垞に必芁かず蚀うず“No”だず思いたす。 コモディティ化し始めたり、競争が始たっお差別化しなくおはならない時に、プロダクトの機胜などで差別化ができない、たたは必ずしもパフォヌマンスで差別化ができない時に唯䞀残された遞択が、ブランドを䜜るずいうこずであるず思いたす。 [株匏䌚瀟 Bloom&Co. 圌野泰匘] ナヌザヌを獲りにいくずいうフェヌズですよね。 メルカリの堎合、やはり最初の 100 䞇ダりンロヌドくらいたでは、結構チュヌニングをしながらオンラむンのマヌケティングでナヌザヌを獲埗しおきおきたした。 äž­ç•¥ やはり 100 䞇ダりンロヌドくらいあっお、リテンションレヌトが高くナヌザヌが積み䞊がる状態になっおいれば、倧きくマスマヌケティングTVCMをやっおも獲埗したナヌザヌは残りたすからね。 [株匏䌚瀟メルカリ 小泉文明] 僕は、ナヌザヌを獲埗する手前でブランドが必芁だず思っおいるんですよね。 ブランドずいうのは必ずしも倖に察しおだけではなくお、組織の䞭の人に察しお必芁であるこずもすごく倚いのです。 äž­ç•¥ 資生堂は圓時 130 幎くらい経っおいる䌚瀟だったので、その 130 幎もこの埌の 130 幎も、䞖の䞭を矎しくするずか、人を矎しくするずか、それは女性に限らず、お化粧に限らず矎しくするずいうこずが必芁だよね、軞だよねずいう話になっお、そのスロヌガンず共に前田新瀟長䜓制で進んでいくこずになりたした。 [株匏䌚瀟 dof 霋藀倪郎] (via スタヌトアップのブランディングはい぀から必芁か【F17-7C #3】 ) 共有した埌には、リリヌス圓初からブランドやクリ゚むティブが䜜り蟌たれたプロダクトが最近話題になるこずが倚いずいうこずも話に䞊がりたした。 もちろんブランディングのタむミングは状況により千差䞇別ですが、プロダクトをれロから䜜る際には、プロダクトの圚り方ず合わせおどんなブランドを䜜っお行きたいのかも早めに考えられるこずが必芁だ、など具䜓的なディスカッションも出来たした。 新たなブランドが受け入れられないこずも 基本的にブランドを新しくするこずは芋慣れたものが倉わっおしたう恐怖から反発を生むケヌスが倚いですが、その䞭でも GAP はロゎの 2010 幎リニュヌアル公衚埌ネット䞊からの反発が匷くわずか 6 日間ずいう短期間で新しいロゎの䜿甚を止め、元のロゎに戻しおしたうずいう䞀件がありたした。この件は 株䟡 にも倧きな圱響を䞎えたした 䞀方、同じような境遇で Airbnb も 2014 幎のリニュヌアル圓初ロゎは䞍評でしたが今ではリニュヌアルの成功䟋ずしお扱われる存圚になっおいたす。 Techlunch でも歎史の有無が差になったのか、など様々な意芋が出おきたした。この件はロゎずしおの王道を極めようずした以䞊の背景を提瀺出来なかった Gap に察しお、 Airbnb はサヌビスのストヌリヌをロゎに内包 し、地道にロゎを介したコミュニケヌションに培したこずが明暗を分けたように思いたす。 この事䟋はロゎのアむデンティティをどこたで確立させられたかの違いにあるこずに加えお、デザむンの意思決定を䞀時的な倚数意芋に委ねた事䟋ずしおも孊ぶこずが倚いです。 たずめ 私個人が元々グラフィックデザむンをしおいた経隓もあり、今たではブランディングの䞭でも興味が CI や VI に傟倒しおいたしたが、䜓隓党䜓がブランドに倧きな圱響を䞎えるこの時代、組織ずしおブランド構築をしおいく意識が重芁であるこずが今回の倧きな孊びでした。 たた基瀎を孊ぶ䞊で曞籍を読んでいたしたが、最近の事䟋などを孊ぶ際にはブログなどでの情報収集がずおも有効で、孊び方も倉わっおきおいるなず思いたした。今回玹介した内容はあくたで入門線なので、興味があれば今回参考にさせおいただいた本ずブログ・蚘事からより深堀りが出来るのでオススメしたす。 プラットフォヌムブランディング コヌポレヌト・アむデンティティ戊略―デザむンが䌁業経営を倉える ブランド・゚クむティ研究の展望 䟡倀をめぐる議論の系譜を䞭心に UX ずブランド ブランドアむデンティティずはブランド構築を成果に導く BI の創り方成功事䟋有 スタヌトアップのブランディングはい぀から必芁か ロゎのリデザむンヌなぜ Gap が倱敗し Airbnb が受け入れられたのか 歊噚になる「ロゎ」を生み出す、CI デザむンずは䜕か Techlunch ではデザむナヌ以倖の方からも事䟋に察しお意芋が出たり、疑問に察しお参加者でディスカッションが出来たこずがずおも有意矩でした。今埌はこれらを意識しながらブランドの土台ずなる䟡倀や圚り方をデザむン出来るようにしおいきたいず思いたす。 お知らせ  メドレヌでは、医療介護の求人サむト「ゞョブメドレヌ」、医垫たちが぀くるオンラむン医療事兞「MEDLEY」、口コミで探せる介護斜蚭の怜玢サむト「介護のほんね」、オンラむン蚺療アプリ「CLINICS」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 興味のある方、ぜひメドレヌぞ遊びにいらしおください。 www.medley.jp
アバタヌ
こんにちは。開発本郚の医療メディアチヌムでデザむンをしおいる波切です。 メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で、デザむナヌ以倖の方も知っおおいお損はない「ブランドずは」ずいうお話をさせおいただきたした。倚くの方が䜕ずなく知っおいるこずも倚いかもしれたせんが、再入門的に参考にしおいただけるず嬉しいです。 背景 メドレヌでは時期を問わずプロダクトの圚り方に぀いお垞日頃から様々な堎面で議論がなされおいたす。 こういった議論の䞭でブランドずしおどのように芋せられるのが良いだろうか、ずいった怜蚎をするこずも倚々あり、改めおブランドに぀いお孊び盎したいず思ったのが今回のきっかけになりたす。 TechLunch でぱンゞニア・デザむナヌ・ディレクタヌ・医垫ず様々な職皮の人が参加しおいたす。 この時代では圓たり前かもしれないブランドの基瀎を改めお孊び盎し、デザむナヌ以倖の職皮の方にも共有したしたので、ブログでもご玹介させおいただければず思いたす。 ブランドっおなんでしょう ブランドずブランディングの違いっおᅩ たずは混合しやすいブランドずブランディングの定矩から。 ある特定の商品やサヌビスが消費者・顧客によっお識別されおいるずき、 その商品やサヌビスを「ブランド」ず呌ぶ ※補品名、パッケヌゞング、広告、䟡栌、䜿甚経隓などにより、その補品に぀けられた補品特性ず䟡倀機胜的および非機胜的ずのナニヌクなコンビネヌション。消費者・顧客の目から芋た堎合、その補品を競合から差別化するもの。 (via ブランド・マネヌゞャヌ認定協䌚 甚語集 ) ブランディングずは、ブランドに察する共感や信頌などを通じお顧客にずっおの䟡倀を高めおいく、䌁業ず組織のマヌケティング戊略の 1 ぀。ブランドずしお認知されおいないものをブランドに育お䞊げる、あるいはブランド構成芁玠を匷化し、掻性・維持管理しおいくこず。たた、その手法。ここでいうブランドずは高玚消費財に限らず、その察象ずしおは、商品やサヌビス、それらを䟛絊する䌁業や団䜓のほか、人物・建築物・史跡・地域 ・祭事など、あらゆるものが該圓する。 (via wikipedia:ブランディング ) ブランド ずは「䌁業・補品に察しお消費者が持っおいるむメヌゞ(蚘号)であり、競合ずの差別化を生み出す䟡倀の総䜓」を指し、 ブランディング は「ブランド䟡倀を䞎えるための手段」ず捉えるこずができるず思いたす。 この定矩になぞらえおコカ・コヌラを䟋にブランドずしお認知される具䜓的なステップずしお玹介するず、以䞋のようになりたす。 ロゎなどの識別蚘号が蚘憶される コカコヌラのロゎが蚘憶される (生掻者の頭の䞭に、ロゎなどの識別蚘号が蚘憶される) 蚘号から䜓隓が思い浮かぶ コカコヌラのロゎを芋れば炭酞飲料であるこずや、爜やかな気分になれるこずが思い浮ぶ (識別蚘号を芋れば、知芚䜓隓を想起できる) 䜓隓から蚘号を思い出す 爜やかな気分になりたいず思ったら、コカコヌラを思い出す。ロゎが思い浮かぶ (知芚䟡倀が頭に浮かんだら、識別蚘号が想起される)  「ブランド連想」「ブランド資産」ずいった蚀葉もあり、ブランド識別蚘号ず知芚䜓隓に察しおポゞティブな印象を築き蓄積させるこずがブランディングのカギになっおきたす。 ブランド構築 前述の蚘号をブランドの土台ずするずコヌポレヌトアむデンティティCIやノィゞュアルアむデンティティVIずいったクリ゚むティブが倧きな圹割を果たしたすが、珟圚ではナヌザヌはブランドを知芚する機䌚が倚く、差別化のためにもブランドは顧客䜓隓をベヌスに䜜っおいくこずも重芁になりたす。 良い顧客䜓隓を提䟛しブランドの競争力を高める ずいう考え方に基づいお、ブランド戊略を考える順番は理想的な䜓隓を描いおから必芁なモノや技術を考えたす。これはブランドに限らず様々な堎面で意識したいこずです。 ブランドに倧事な䞀貫性 魅力的なブランドは顧客䜓隓が蓄積しお圢成されおいきたす。蓄積されるブランド䜓隓の芁玠は「䜓隓の魅力床」「䜓隓の量ず時間」「䜓隓の䞀貫性」ず 3 ぀あり、ブランドの䟡倀はこの 3 ぀の芁玠のかけ算にありたす。 䜓隓が魅力的であり、その䜓隓の回数が倚く長い時間にわたっお経隓し、䜓隓自䜓に䞀貫性があるブランドがナヌザヌずっお良いものずされたす。 3 ぀のうち特に重芁なものは最埌の 䜓隓の䞀貫性 にあり、この䞀貫性は 2 ぀に分けるこずができたす。 時系列で䞀貫性 時代で巊右されない顧客䜓隓がブランドから提䟛される 接点の䞀貫性 ブランドを買ったり利甚する前から、賌入プロセス、賌入埌の利甚シヌンにおいお、䞀貫した顧客䜓隓ができる 「モノずコト」にも䟋えやすいずころですが、補品ずしおの䞀貫性に加えお䜓隓する前埌のグランドデザむンにも䞀貫性を持たすこずが重芁になりたす。 䟋ずしおスタヌバックスは広告費をほずんどかけずに今のブランド認知床を築いたこずは有名ですが、そこにはブランドの䟡倀を築くためのブランディングに䞀貫性があり、か぀それらが時代性ずマッチしたのが芁因ではないかず思いたす。 ブランディングのメリット 遞択意思決定の単玔化・固定化 顧客の知識が敎理されるこずで競合ず差別化され再び同じ物を遞ぶようになる ナヌザヌのロむダル化 芪しみや信頌が増倧されるこずでブランドロむダリティが圢成される なぜブランドにこだわるのか、ずいう点でもこれらメリットを実珟しおいくこずが重芁です。 デザむナヌずしお気遣い溢れる UI や、サヌビスの思想を蚘号に萜ずし蟌んだ VI などモノづくり芖点でのこだわりや重芁さを螏たえた䞊で、他職皮の方にもこれらのメリットや競争ずしおの必芁であるこずを理解しおもらえるよう働きかけるこずを意識しおいきたいずころです。 ブランディングの悩みどころ ここからは基瀎を螏たえお、実践的に行われおいるブランディングで悩みやすいずころを事䟋で玹介しながら簡単なディスカッションをしおいきたした。䞀郚だけ抜粋しおご玹介したす。 補品ブランドの管理 䌚瀟のブランド管理の思想を定矩できおも、倉化の早い業界であればむメヌゞ通りになかなか通らないこずも倚々有りえたす。 少ないブランド資産を掻甚する意味でもスタヌトアップは暪䞲型に敎理されるこずが倚くありたすが、ある皋床の芏暡感になっお基瀎䜓力がある䌁業であるず個別適応型でもブランドずしお信頌性を保おたすし、暪䞲型に比べお動きやすさがあるず思いたす。 䞀方で、プラットフォヌマヌずしお存圚したいなら暪䞲のブランド䟡倀からファンを囲い蟌むべきかもしれたせん。Techlunch の䞭でもメドレヌであればどうあるず良いかに぀いお議論ができたした。 ブランディングのタむミング 顧客䜓隓の蓄積が重芁なブランドでありたすが、どの段階でブランディングに取り組むかは状況によりたすが意芋が出やすいずころだず思いたす。 ICC FUKUOKA2017 におブランディングに぀いおのセッションがあり、取り組むタむミングに぀いおの議論がうたくたずめられおいたため Techlunch で事䟋ずしお共有したした。プロダクトずしおの差別化が基本であるこずに加えお、ブランドの圚り方を組織にむンストヌルさせるためにブランディングに取り組むケヌスも玹介されおいたす。 僕はブランドが垞に必芁かず蚀うず“No”だず思いたす。 コモディティ化し始めたり、競争が始たっお差別化しなくおはならない時に、プロダクトの機胜などで差別化ができない、たたは必ずしもパフォヌマンスで差別化ができない時に唯䞀残された遞択が、ブランドを䜜るずいうこずであるず思いたす。 [株匏䌚瀟 Bloom&Co. 圌野泰匘] ナヌザヌを獲りにいくずいうフェヌズですよね。 メルカリの堎合、やはり最初の 100 䞇ダりンロヌドくらいたでは、結構チュヌニングをしながらオンラむンのマヌケティングでナヌザヌを獲埗しおきおきたした。 äž­ç•¥ やはり 100 䞇ダりンロヌドくらいあっお、リテンションレヌトが高くナヌザヌが積み䞊がる状態になっおいれば、倧きくマスマヌケティングTVCMをやっおも獲埗したナヌザヌは残りたすからね。 [株匏䌚瀟メルカリ 小泉文明] 僕は、ナヌザヌを獲埗する手前でブランドが必芁だず思っおいるんですよね。 ブランドずいうのは必ずしも倖に察しおだけではなくお、組織の䞭の人に察しお必芁であるこずもすごく倚いのです。 äž­ç•¥ 資生堂は圓時 130 幎くらい経っおいる䌚瀟だったので、その 130 幎もこの埌の 130 幎も、䞖の䞭を矎しくするずか、人を矎しくするずか、それは女性に限らず、お化粧に限らず矎しくするずいうこずが必芁だよね、軞だよねずいう話になっお、そのスロヌガンず共に前田新瀟長䜓制で進んでいくこずになりたした。 [株匏䌚瀟 dof 霋藀倪郎] (via スタヌトアップのブランディングはい぀から必芁か【F17-7C #3】 ) 共有した埌には、リリヌス圓初からブランドやクリ゚むティブが䜜り蟌たれたプロダクトが最近話題になるこずが倚いずいうこずも話に䞊がりたした。 もちろんブランディングのタむミングは状況により千差䞇別ですが、プロダクトをれロから䜜る際には、プロダクトの圚り方ず合わせおどんなブランドを䜜っお行きたいのかも早めに考えられるこずが必芁だ、など具䜓的なディスカッションも出来たした。 新たなブランドが受け入れられないこずも 基本的にブランドを新しくするこずは芋慣れたものが倉わっおしたう恐怖から反発を生むケヌスが倚いですが、その䞭でも GAP はロゎの 2010 幎リニュヌアル公衚埌ネット䞊からの反発が匷くわずか 6 日間ずいう短期間で新しいロゎの䜿甚を止め、元のロゎに戻しおしたうずいう䞀件がありたした。この件は 株䟡 にも倧きな圱響を䞎えたした 䞀方、同じような境遇で Airbnb も 2014 幎のリニュヌアル圓初ロゎは䞍評でしたが今ではリニュヌアルの成功䟋ずしお扱われる存圚になっおいたす。 Techlunch でも歎史の有無が差になったのか、など様々な意芋が出おきたした。この件はロゎずしおの王道を極めようずした以䞊の背景を提瀺出来なかった Gap に察しお、 Airbnb はサヌビスのストヌリヌをロゎに内包 し、地道にロゎを介したコミュニケヌションに培したこずが明暗を分けたように思いたす。 この事䟋はロゎのアむデンティティをどこたで確立させられたかの違いにあるこずに加えお、デザむンの意思決定を䞀時的な倚数意芋に委ねた事䟋ずしおも孊ぶこずが倚いです。 たずめ 私個人が元々グラフィックデザむンをしおいた経隓もあり、今たではブランディングの䞭でも興味が CI や VI に傟倒しおいたしたが、䜓隓党䜓がブランドに倧きな圱響を䞎えるこの時代、組織ずしおブランド構築をしおいく意識が重芁であるこずが今回の倧きな孊びでした。 たた基瀎を孊ぶ䞊で曞籍を読んでいたしたが、最近の事䟋などを孊ぶ際にはブログなどでの情報収集がずおも有効で、孊び方も倉わっおきおいるなず思いたした。今回玹介した内容はあくたで入門線なので、興味があれば今回参考にさせおいただいた本ずブログ・蚘事からより深堀りが出来るのでオススメしたす。 プラットフォヌムブランディング コヌポレヌト・アむデンティティ戊略―デザむンが䌁業経営を倉える ブランド・゚クむティ研究の展望 䟡倀をめぐる議論の系譜を䞭心に UX ずブランド ブランドアむデンティティずはブランド構築を成果に導く BI の創り方成功事䟋有 スタヌトアップのブランディングはい぀から必芁か ロゎのリデザむンヌなぜ Gap が倱敗し Airbnb が受け入れられたのか 歊噚になる「ロゎ」を生み出す、CI デザむンずは䜕か Techlunch ではデザむナヌ以倖の方からも事䟋に察しお意芋が出たり、疑問に察しお参加者でディスカッションが出来たこずがずおも有意矩でした。今埌はこれらを意識しながらブランドの土台ずなる䟡倀や圚り方をデザむン出来るようにしおいきたいず思いたす。 お知らせ  メドレヌでは、医療介護の求人サむト「ゞョブメドレヌ」、医垫たちが぀くるオンラむン医療事兞「MEDLEY」、口コミで探せる介護斜蚭の怜玢サむト「介護のほんね」、オンラむン蚺療アプリ「CLINICS」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 興味のある方、ぜひメドレヌぞ遊びにいらしおください。 www.medley.jp
アバタヌ
こんにちは。開発本郚の医療メディアチヌムでデザむンをしおいる波切です。 メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で、デザむナヌ以倖の方も知っおおいお損はない「ブランドずは」ずいうお話をさせおいただきたした。倚くの方が䜕ずなく知っおいるこずも倚いかもしれたせんが、再入門的に参考にしおいただけるず嬉しいです。 背景 メドレヌでは時期を問わずプロダクトの圚り方に぀いお垞日頃から様々な堎面で議論がなされおいたす。 こういった議論の䞭でブランドずしおどのように芋せられるのが良いだろうか、ずいった怜蚎をするこずも倚々あり、改めおブランドに぀いお孊び盎したいず思ったのが今回のきっかけになりたす。 TechLunch でぱンゞニア・デザむナヌ・ディレクタヌ・医垫ず様々な職皮の人が参加しおいたす。 この時代では圓たり前かもしれないブランドの基瀎を改めお孊び盎し、デザむナヌ以倖の職皮の方にも共有したしたので、ブログでもご玹介させおいただければず思いたす。 ブランドっおなんでしょう ブランドずブランディングの違いっおᅩ たずは混合しやすいブランドずブランディングの定矩から。 ある特定の商品やサヌビスが消費者・顧客によっお識別されおいるずき、 その商品やサヌビスを「ブランド」ず呌ぶ ※補品名、パッケヌゞング、広告、䟡栌、䜿甚経隓などにより、その補品に぀けられた補品特性ず䟡倀機胜的および非機胜的ずのナニヌクなコンビネヌション。消費者・顧客の目から芋た堎合、その補品を競合から差別化するもの。 (via ブランド・マネヌゞャヌ認定協䌚 甚語集 ) ブランディングずは、ブランドに察する共感や信頌などを通じお顧客にずっおの䟡倀を高めおいく、䌁業ず組織のマヌケティング戊略の 1 ぀。ブランドずしお認知されおいないものをブランドに育お䞊げる、あるいはブランド構成芁玠を匷化し、掻性・維持管理しおいくこず。たた、その手法。ここでいうブランドずは高玚消費財に限らず、その察象ずしおは、商品やサヌビス、それらを䟛絊する䌁業や団䜓のほか、人物・建築物・史跡・地域 ・祭事など、あらゆるものが該圓する。 (via wikipedia:ブランディング ) ブランド ずは「䌁業・補品に察しお消費者が持っおいるむメヌゞ(蚘号)であり、競合ずの差別化を生み出す䟡倀の総䜓」を指し、 ブランディング は「ブランド䟡倀を䞎えるための手段」ず捉えるこずができるず思いたす。 この定矩になぞらえおコカ・コヌラを䟋にブランドずしお認知される具䜓的なステップずしお玹介するず、以䞋のようになりたす。 ロゎなどの識別蚘号が蚘憶される コカコヌラのロゎが蚘憶される (生掻者の頭の䞭に、ロゎなどの識別蚘号が蚘憶される) 蚘号から䜓隓が思い浮かぶ コカコヌラのロゎを芋れば炭酞飲料であるこずや、爜やかな気分になれるこずが思い浮ぶ (識別蚘号を芋れば、知芚䜓隓を想起できる) 䜓隓から蚘号を思い出す 爜やかな気分になりたいず思ったら、コカコヌラを思い出す。ロゎが思い浮かぶ (知芚䟡倀が頭に浮かんだら、識別蚘号が想起される)  「ブランド連想」「ブランド資産」ずいった蚀葉もあり、ブランド識別蚘号ず知芚䜓隓に察しおポゞティブな印象を築き蓄積させるこずがブランディングのカギになっおきたす。 ブランド構築 前述の蚘号をブランドの土台ずするずコヌポレヌトアむデンティティCIやノィゞュアルアむデンティティVIずいったクリ゚むティブが倧きな圹割を果たしたすが、珟圚ではナヌザヌはブランドを知芚する機䌚が倚く、差別化のためにもブランドは顧客䜓隓をベヌスに䜜っおいくこずも重芁になりたす。 良い顧客䜓隓を提䟛しブランドの競争力を高める ずいう考え方に基づいお、ブランド戊略を考える順番は理想的な䜓隓を描いおから必芁なモノや技術を考えたす。これはブランドに限らず様々な堎面で意識したいこずです。 ブランドに倧事な䞀貫性 魅力的なブランドは顧客䜓隓が蓄積しお圢成されおいきたす。蓄積されるブランド䜓隓の芁玠は「䜓隓の魅力床」「䜓隓の量ず時間」「䜓隓の䞀貫性」ず 3 ぀あり、ブランドの䟡倀はこの 3 ぀の芁玠のかけ算にありたす。 䜓隓が魅力的であり、その䜓隓の回数が倚く長い時間にわたっお経隓し、䜓隓自䜓に䞀貫性があるブランドがナヌザヌずっお良いものずされたす。 3 ぀のうち特に重芁なものは最埌の 䜓隓の䞀貫性 にあり、この䞀貫性は 2 ぀に分けるこずができたす。 時系列で䞀貫性 時代で巊右されない顧客䜓隓がブランドから提䟛される 接点の䞀貫性 ブランドを買ったり利甚する前から、賌入プロセス、賌入埌の利甚シヌンにおいお、䞀貫した顧客䜓隓ができる 「モノずコト」にも䟋えやすいずころですが、補品ずしおの䞀貫性に加えお䜓隓する前埌のグランドデザむンにも䞀貫性を持たすこずが重芁になりたす。 䟋ずしおスタヌバックスは広告費をほずんどかけずに今のブランド認知床を築いたこずは有名ですが、そこにはブランドの䟡倀を築くためのブランディングに䞀貫性があり、か぀それらが時代性ずマッチしたのが芁因ではないかず思いたす。 ブランディングのメリット 遞択意思決定の単玔化・固定化 顧客の知識が敎理されるこずで競合ず差別化され再び同じ物を遞ぶようになる ナヌザヌのロむダル化 芪しみや信頌が増倧されるこずでブランドロむダリティが圢成される なぜブランドにこだわるのか、ずいう点でもこれらメリットを実珟しおいくこずが重芁です。 デザむナヌずしお気遣い溢れる UI や、サヌビスの思想を蚘号に萜ずし蟌んだ VI などモノづくり芖点でのこだわりや重芁さを螏たえた䞊で、他職皮の方にもこれらのメリットや競争ずしおの必芁であるこずを理解しおもらえるよう働きかけるこずを意識しおいきたいずころです。 ブランディングの悩みどころ ここからは基瀎を螏たえお、実践的に行われおいるブランディングで悩みやすいずころを事䟋で玹介しながら簡単なディスカッションをしおいきたした。䞀郚だけ抜粋しおご玹介したす。 補品ブランドの管理 䌚瀟のブランド管理の思想を定矩できおも、倉化の早い業界であればむメヌゞ通りになかなか通らないこずも倚々有りえたす。 少ないブランド資産を掻甚する意味でもスタヌトアップは暪䞲型に敎理されるこずが倚くありたすが、ある皋床の芏暡感になっお基瀎䜓力がある䌁業であるず個別適応型でもブランドずしお信頌性を保おたすし、暪䞲型に比べお動きやすさがあるず思いたす。 䞀方で、プラットフォヌマヌずしお存圚したいなら暪䞲のブランド䟡倀からファンを囲い蟌むべきかもしれたせん。Techlunch の䞭でもメドレヌであればどうあるず良いかに぀いお議論ができたした。 ブランディングのタむミング 顧客䜓隓の蓄積が重芁なブランドでありたすが、どの段階でブランディングに取り組むかは状況によりたすが意芋が出やすいずころだず思いたす。 ICC FUKUOKA2017 におブランディングに぀いおのセッションがあり、取り組むタむミングに぀いおの議論がうたくたずめられおいたため Techlunch で事䟋ずしお共有したした。プロダクトずしおの差別化が基本であるこずに加えお、ブランドの圚り方を組織にむンストヌルさせるためにブランディングに取り組むケヌスも玹介されおいたす。 僕はブランドが垞に必芁かず蚀うず“No”だず思いたす。 コモディティ化し始めたり、競争が始たっお差別化しなくおはならない時に、プロダクトの機胜などで差別化ができない、たたは必ずしもパフォヌマンスで差別化ができない時に唯䞀残された遞択が、ブランドを䜜るずいうこずであるず思いたす。 [株匏䌚瀟 Bloom&Co. 圌野泰匘] ナヌザヌを獲りにいくずいうフェヌズですよね。 メルカリの堎合、やはり最初の 100 䞇ダりンロヌドくらいたでは、結構チュヌニングをしながらオンラむンのマヌケティングでナヌザヌを獲埗しおきおきたした。 äž­ç•¥ やはり 100 䞇ダりンロヌドくらいあっお、リテンションレヌトが高くナヌザヌが積み䞊がる状態になっおいれば、倧きくマスマヌケティングTVCMをやっおも獲埗したナヌザヌは残りたすからね。 [株匏䌚瀟メルカリ 小泉文明] 僕は、ナヌザヌを獲埗する手前でブランドが必芁だず思っおいるんですよね。 ブランドずいうのは必ずしも倖に察しおだけではなくお、組織の䞭の人に察しお必芁であるこずもすごく倚いのです。 äž­ç•¥ 資生堂は圓時 130 幎くらい経っおいる䌚瀟だったので、その 130 幎もこの埌の 130 幎も、䞖の䞭を矎しくするずか、人を矎しくするずか、それは女性に限らず、お化粧に限らず矎しくするずいうこずが必芁だよね、軞だよねずいう話になっお、そのスロヌガンず共に前田新瀟長䜓制で進んでいくこずになりたした。 [株匏䌚瀟 dof 霋藀倪郎] (via スタヌトアップのブランディングはい぀から必芁か【F17-7C #3】 ) 共有した埌には、リリヌス圓初からブランドやクリ゚むティブが䜜り蟌たれたプロダクトが最近話題になるこずが倚いずいうこずも話に䞊がりたした。 もちろんブランディングのタむミングは状況により千差䞇別ですが、プロダクトをれロから䜜る際には、プロダクトの圚り方ず合わせおどんなブランドを䜜っお行きたいのかも早めに考えられるこずが必芁だ、など具䜓的なディスカッションも出来たした。 新たなブランドが受け入れられないこずも 基本的にブランドを新しくするこずは芋慣れたものが倉わっおしたう恐怖から反発を生むケヌスが倚いですが、その䞭でも GAP はロゎの 2010 幎リニュヌアル公衚埌ネット䞊からの反発が匷くわずか 6 日間ずいう短期間で新しいロゎの䜿甚を止め、元のロゎに戻しおしたうずいう䞀件がありたした。この件は 株䟡 にも倧きな圱響を䞎えたした 䞀方、同じような境遇で Airbnb も 2014 幎のリニュヌアル圓初ロゎは䞍評でしたが今ではリニュヌアルの成功䟋ずしお扱われる存圚になっおいたす。 Techlunch でも歎史の有無が差になったのか、など様々な意芋が出おきたした。この件はロゎずしおの王道を極めようずした以䞊の背景を提瀺出来なかった Gap に察しお、 Airbnb はサヌビスのストヌリヌをロゎに内包 し、地道にロゎを介したコミュニケヌションに培したこずが明暗を分けたように思いたす。 この事䟋はロゎのアむデンティティをどこたで確立させられたかの違いにあるこずに加えお、デザむンの意思決定を䞀時的な倚数意芋に委ねた事䟋ずしおも孊ぶこずが倚いです。 たずめ 私個人が元々グラフィックデザむンをしおいた経隓もあり、今たではブランディングの䞭でも興味が CI や VI に傟倒しおいたしたが、䜓隓党䜓がブランドに倧きな圱響を䞎えるこの時代、組織ずしおブランド構築をしおいく意識が重芁であるこずが今回の倧きな孊びでした。 たた基瀎を孊ぶ䞊で曞籍を読んでいたしたが、最近の事䟋などを孊ぶ際にはブログなどでの情報収集がずおも有効で、孊び方も倉わっおきおいるなず思いたした。今回玹介した内容はあくたで入門線なので、興味があれば今回参考にさせおいただいた本ずブログ・蚘事からより深堀りが出来るのでオススメしたす。 プラットフォヌムブランディング コヌポレヌト・アむデンティティ戊略―デザむンが䌁業経営を倉える ブランド・゚クむティ研究の展望 䟡倀をめぐる議論の系譜を䞭心に UX ずブランド ブランドアむデンティティずはブランド構築を成果に導く BI の創り方成功事䟋有 スタヌトアップのブランディングはい぀から必芁か ロゎのリデザむンヌなぜ Gap が倱敗し Airbnb が受け入れられたのか 歊噚になる「ロゎ」を生み出す、CI デザむンずは䜕か Techlunch ではデザむナヌ以倖の方からも事䟋に察しお意芋が出たり、疑問に察しお参加者でディスカッションが出来たこずがずおも有意矩でした。今埌はこれらを意識しながらブランドの土台ずなる䟡倀や圚り方をデザむン出来るようにしおいきたいず思いたす。 お知らせ  メドレヌでは、医療介護の求人サむト「ゞョブメドレヌ」、医垫たちが぀くるオンラむン医療事兞「MEDLEY」、口コミで探せる介護斜蚭の怜玢サむト「介護のほんね」、オンラむン蚺療アプリ「CLINICS」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 興味のある方、ぜひメドレヌぞ遊びにいらしおください。 www.medley.jp
アバタヌ
こんにちは。開発本郚の医療メディアチヌムでデザむンをしおいる波切です。 メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で、デザむナヌ以倖の方も知っおおいお損はない「ブランドずは」ずいうお話をさせおいただきたした。倚くの方が䜕ずなく知っおいるこずも倚いかもしれたせんが、再入門的に参考にしおいただけるず嬉しいです。 背景 メドレヌでは時期を問わずプロダクトの圚り方に぀いお垞日頃から様々な堎面で議論がなされおいたす。 こういった議論の䞭でブランドずしおどのように芋せられるのが良いだろうか、ずいった怜蚎をするこずも倚々あり、改めおブランドに぀いお孊び盎したいず思ったのが今回のきっかけになりたす。 TechLunch でぱンゞニア・デザむナヌ・ディレクタヌ・医垫ず様々な職皮の人が参加しおいたす。 この時代では圓たり前かもしれないブランドの基瀎を改めお孊び盎し、デザむナヌ以倖の職皮の方にも共有したしたので、ブログでもご玹介させおいただければず思いたす。 ブランドっおなんでしょう ブランドずブランディングの違いっおᅩ たずは混合しやすいブランドずブランディングの定矩から。 ある特定の商品やサヌビスが消費者・顧客によっお識別されおいるずき、 その商品やサヌビスを「ブランド」ず呌ぶ ※補品名、パッケヌゞング、広告、䟡栌、䜿甚経隓などにより、その補品に぀けられた補品特性ず䟡倀機胜的および非機胜的ずのナニヌクなコンビネヌション。消費者・顧客の目から芋た堎合、その補品を競合から差別化するもの。 (via ブランド・マネヌゞャヌ認定協䌚 甚語集 ) ブランディングずは、ブランドに察する共感や信頌などを通じお顧客にずっおの䟡倀を高めおいく、䌁業ず組織のマヌケティング戊略の 1 ぀。ブランドずしお認知されおいないものをブランドに育お䞊げる、あるいはブランド構成芁玠を匷化し、掻性・維持管理しおいくこず。たた、その手法。ここでいうブランドずは高玚消費財に限らず、その察象ずしおは、商品やサヌビス、それらを䟛絊する䌁業や団䜓のほか、人物・建築物・史跡・地域 ・祭事など、あらゆるものが該圓する。 (via wikipedia:ブランディング ) ブランド ずは「䌁業・補品に察しお消費者が持っおいるむメヌゞ(蚘号)であり、競合ずの差別化を生み出す䟡倀の総䜓」を指し、 ブランディング は「ブランド䟡倀を䞎えるための手段」ず捉えるこずができるず思いたす。 この定矩になぞらえおコカ・コヌラを䟋にブランドずしお認知される具䜓的なステップずしお玹介するず、以䞋のようになりたす。 ロゎなどの識別蚘号が蚘憶される コカコヌラのロゎが蚘憶される (生掻者の頭の䞭に、ロゎなどの識別蚘号が蚘憶される) 蚘号から䜓隓が思い浮かぶ コカコヌラのロゎを芋れば炭酞飲料であるこずや、爜やかな気分になれるこずが思い浮ぶ (識別蚘号を芋れば、知芚䜓隓を想起できる) 䜓隓から蚘号を思い出す 爜やかな気分になりたいず思ったら、コカコヌラを思い出す。ロゎが思い浮かぶ (知芚䟡倀が頭に浮かんだら、識別蚘号が想起される)  「ブランド連想」「ブランド資産」ずいった蚀葉もあり、ブランド識別蚘号ず知芚䜓隓に察しおポゞティブな印象を築き蓄積させるこずがブランディングのカギになっおきたす。 ブランド構築 前述の蚘号をブランドの土台ずするずコヌポレヌトアむデンティティCIやノィゞュアルアむデンティティVIずいったクリ゚むティブが倧きな圹割を果たしたすが、珟圚ではナヌザヌはブランドを知芚する機䌚が倚く、差別化のためにもブランドは顧客䜓隓をベヌスに䜜っおいくこずも重芁になりたす。 良い顧客䜓隓を提䟛しブランドの競争力を高める ずいう考え方に基づいお、ブランド戊略を考える順番は理想的な䜓隓を描いおから必芁なモノや技術を考えたす。これはブランドに限らず様々な堎面で意識したいこずです。 ブランドに倧事な䞀貫性 魅力的なブランドは顧客䜓隓が蓄積しお圢成されおいきたす。蓄積されるブランド䜓隓の芁玠は「䜓隓の魅力床」「䜓隓の量ず時間」「䜓隓の䞀貫性」ず 3 ぀あり、ブランドの䟡倀はこの 3 ぀の芁玠のかけ算にありたす。 䜓隓が魅力的であり、その䜓隓の回数が倚く長い時間にわたっお経隓し、䜓隓自䜓に䞀貫性があるブランドがナヌザヌずっお良いものずされたす。 3 ぀のうち特に重芁なものは最埌の 䜓隓の䞀貫性 にあり、この䞀貫性は 2 ぀に分けるこずができたす。 時系列で䞀貫性 時代で巊右されない顧客䜓隓がブランドから提䟛される 接点の䞀貫性 ブランドを買ったり利甚する前から、賌入プロセス、賌入埌の利甚シヌンにおいお、䞀貫した顧客䜓隓ができる 「モノずコト」にも䟋えやすいずころですが、補品ずしおの䞀貫性に加えお䜓隓する前埌のグランドデザむンにも䞀貫性を持たすこずが重芁になりたす。 䟋ずしおスタヌバックスは広告費をほずんどかけずに今のブランド認知床を築いたこずは有名ですが、そこにはブランドの䟡倀を築くためのブランディングに䞀貫性があり、か぀それらが時代性ずマッチしたのが芁因ではないかず思いたす。 ブランディングのメリット 遞択意思決定の単玔化・固定化 顧客の知識が敎理されるこずで競合ず差別化され再び同じ物を遞ぶようになる ナヌザヌのロむダル化 芪しみや信頌が増倧されるこずでブランドロむダリティが圢成される なぜブランドにこだわるのか、ずいう点でもこれらメリットを実珟しおいくこずが重芁です。 デザむナヌずしお気遣い溢れる UI や、サヌビスの思想を蚘号に萜ずし蟌んだ VI などモノづくり芖点でのこだわりや重芁さを螏たえた䞊で、他職皮の方にもこれらのメリットや競争ずしおの必芁であるこずを理解しおもらえるよう働きかけるこずを意識しおいきたいずころです。 ブランディングの悩みどころ ここからは基瀎を螏たえお、実践的に行われおいるブランディングで悩みやすいずころを事䟋で玹介しながら簡単なディスカッションをしおいきたした。䞀郚だけ抜粋しおご玹介したす。 補品ブランドの管理 䌚瀟のブランド管理の思想を定矩できおも、倉化の早い業界であればむメヌゞ通りになかなか通らないこずも倚々有りえたす。 少ないブランド資産を掻甚する意味でもスタヌトアップは暪䞲型に敎理されるこずが倚くありたすが、ある皋床の芏暡感になっお基瀎䜓力がある䌁業であるず個別適応型でもブランドずしお信頌性を保おたすし、暪䞲型に比べお動きやすさがあるず思いたす。 䞀方で、プラットフォヌマヌずしお存圚したいなら暪䞲のブランド䟡倀からファンを囲い蟌むべきかもしれたせん。Techlunch の䞭でもメドレヌであればどうあるず良いかに぀いお議論ができたした。 ブランディングのタむミング 顧客䜓隓の蓄積が重芁なブランドでありたすが、どの段階でブランディングに取り組むかは状況によりたすが意芋が出やすいずころだず思いたす。 ICC FUKUOKA2017 におブランディングに぀いおのセッションがあり、取り組むタむミングに぀いおの議論がうたくたずめられおいたため Techlunch で事䟋ずしお共有したした。プロダクトずしおの差別化が基本であるこずに加えお、ブランドの圚り方を組織にむンストヌルさせるためにブランディングに取り組むケヌスも玹介されおいたす。 僕はブランドが垞に必芁かず蚀うず“No”だず思いたす。 コモディティ化し始めたり、競争が始たっお差別化しなくおはならない時に、プロダクトの機胜などで差別化ができない、たたは必ずしもパフォヌマンスで差別化ができない時に唯䞀残された遞択が、ブランドを䜜るずいうこずであるず思いたす。 [株匏䌚瀟 Bloom&Co. 圌野泰匘] ナヌザヌを獲りにいくずいうフェヌズですよね。 メルカリの堎合、やはり最初の 100 䞇ダりンロヌドくらいたでは、結構チュヌニングをしながらオンラむンのマヌケティングでナヌザヌを獲埗しおきおきたした。 äž­ç•¥ やはり 100 䞇ダりンロヌドくらいあっお、リテンションレヌトが高くナヌザヌが積み䞊がる状態になっおいれば、倧きくマスマヌケティングTVCMをやっおも獲埗したナヌザヌは残りたすからね。 [株匏䌚瀟メルカリ 小泉文明] 僕は、ナヌザヌを獲埗する手前でブランドが必芁だず思っおいるんですよね。 ブランドずいうのは必ずしも倖に察しおだけではなくお、組織の䞭の人に察しお必芁であるこずもすごく倚いのです。 äž­ç•¥ 資生堂は圓時 130 幎くらい経っおいる䌚瀟だったので、その 130 幎もこの埌の 130 幎も、䞖の䞭を矎しくするずか、人を矎しくするずか、それは女性に限らず、お化粧に限らず矎しくするずいうこずが必芁だよね、軞だよねずいう話になっお、そのスロヌガンず共に前田新瀟長䜓制で進んでいくこずになりたした。 [株匏䌚瀟 dof 霋藀倪郎] (via スタヌトアップのブランディングはい぀から必芁か【F17-7C #3】 ) 共有した埌には、リリヌス圓初からブランドやクリ゚むティブが䜜り蟌たれたプロダクトが最近話題になるこずが倚いずいうこずも話に䞊がりたした。 もちろんブランディングのタむミングは状況により千差䞇別ですが、プロダクトをれロから䜜る際には、プロダクトの圚り方ず合わせおどんなブランドを䜜っお行きたいのかも早めに考えられるこずが必芁だ、など具䜓的なディスカッションも出来たした。 新たなブランドが受け入れられないこずも 基本的にブランドを新しくするこずは芋慣れたものが倉わっおしたう恐怖から反発を生むケヌスが倚いですが、その䞭でも GAP はロゎの 2010 幎リニュヌアル公衚埌ネット䞊からの反発が匷くわずか 6 日間ずいう短期間で新しいロゎの䜿甚を止め、元のロゎに戻しおしたうずいう䞀件がありたした。この件は 株䟡 にも倧きな圱響を䞎えたした 䞀方、同じような境遇で Airbnb も 2014 幎のリニュヌアル圓初ロゎは䞍評でしたが今ではリニュヌアルの成功䟋ずしお扱われる存圚になっおいたす。 Techlunch でも歎史の有無が差になったのか、など様々な意芋が出おきたした。この件はロゎずしおの王道を極めようずした以䞊の背景を提瀺出来なかった Gap に察しお、 Airbnb はサヌビスのストヌリヌをロゎに内包 し、地道にロゎを介したコミュニケヌションに培したこずが明暗を分けたように思いたす。 この事䟋はロゎのアむデンティティをどこたで確立させられたかの違いにあるこずに加えお、デザむンの意思決定を䞀時的な倚数意芋に委ねた事䟋ずしおも孊ぶこずが倚いです。 たずめ 私個人が元々グラフィックデザむンをしおいた経隓もあり、今たではブランディングの䞭でも興味が CI や VI に傟倒しおいたしたが、䜓隓党䜓がブランドに倧きな圱響を䞎えるこの時代、組織ずしおブランド構築をしおいく意識が重芁であるこずが今回の倧きな孊びでした。 たた基瀎を孊ぶ䞊で曞籍を読んでいたしたが、最近の事䟋などを孊ぶ際にはブログなどでの情報収集がずおも有効で、孊び方も倉わっおきおいるなず思いたした。今回玹介した内容はあくたで入門線なので、興味があれば今回参考にさせおいただいた本ずブログ・蚘事からより深堀りが出来るのでオススメしたす。 プラットフォヌムブランディング コヌポレヌト・アむデンティティ戊略―デザむンが䌁業経営を倉える ブランド・゚クむティ研究の展望 䟡倀をめぐる議論の系譜を䞭心に UX ずブランド ブランドアむデンティティずはブランド構築を成果に導く BI の創り方成功事䟋有 スタヌトアップのブランディングはい぀から必芁か ロゎのリデザむンヌなぜ Gap が倱敗し Airbnb が受け入れられたのか 歊噚になる「ロゎ」を生み出す、CI デザむンずは䜕か Techlunch ではデザむナヌ以倖の方からも事䟋に察しお意芋が出たり、疑問に察しお参加者でディスカッションが出来たこずがずおも有意矩でした。今埌はこれらを意識しながらブランドの土台ずなる䟡倀や圚り方をデザむン出来るようにしおいきたいず思いたす。 お知らせ  メドレヌでは、医療介護の求人サむト「ゞョブメドレヌ」、医垫たちが぀くるオンラむン医療事兞「MEDLEY」、口コミで探せる介護斜蚭の怜玢サむト「介護のほんね」、オンラむン蚺療アプリ「CLINICS」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 興味のある方、ぜひメドレヌぞ遊びにいらしおください。 www.medley.jp
アバタヌ
こんにちは。開発本郚の医療メディアチヌムでデザむンをしおいる波切です。 メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で、デザむナヌ以倖の方も知っおおいお損はない「ブランドずは」ずいうお話をさせおいただきたした。倚くの方が䜕ずなく知っおいるこずも倚いかもしれたせんが、再入門的に参考にしおいただけるず嬉しいです。 背景 メドレヌでは時期を問わずプロダクトの圚り方に぀いお垞日頃から様々な堎面で議論がなされおいたす。 こういった議論の䞭でブランドずしおどのように芋せられるのが良いだろうか、ずいった怜蚎をするこずも倚々あり、改めおブランドに぀いお孊び盎したいず思ったのが今回のきっかけになりたす。 TechLunch でぱンゞニア・デザむナヌ・ディレクタヌ・医垫ず様々な職皮の人が参加しおいたす。 この時代では圓たり前かもしれないブランドの基瀎を改めお孊び盎し、デザむナヌ以倖の職皮の方にも共有したしたので、ブログでもご玹介させおいただければず思いたす。 ブランドっおなんでしょう ブランドずブランディングの違いっおᅩ たずは混合しやすいブランドずブランディングの定矩から。 ある特定の商品やサヌビスが消費者・顧客によっお識別されおいるずき、 その商品やサヌビスを「ブランド」ず呌ぶ ※補品名、パッケヌゞング、広告、䟡栌、䜿甚経隓などにより、その補品に぀けられた補品特性ず䟡倀機胜的および非機胜的ずのナニヌクなコンビネヌション。消費者・顧客の目から芋た堎合、その補品を競合から差別化するもの。 (via ブランド・マネヌゞャヌ認定協䌚 甚語集 ) ブランディングずは、ブランドに察する共感や信頌などを通じお顧客にずっおの䟡倀を高めおいく、䌁業ず組織のマヌケティング戊略の 1 ぀。ブランドずしお認知されおいないものをブランドに育お䞊げる、あるいはブランド構成芁玠を匷化し、掻性・維持管理しおいくこず。たた、その手法。ここでいうブランドずは高玚消費財に限らず、その察象ずしおは、商品やサヌビス、それらを䟛絊する䌁業や団䜓のほか、人物・建築物・史跡・地域 ・祭事など、あらゆるものが該圓する。 (via wikipedia:ブランディング ) ブランド ずは「䌁業・補品に察しお消費者が持っおいるむメヌゞ(蚘号)であり、競合ずの差別化を生み出す䟡倀の総䜓」を指し、 ブランディング は「ブランド䟡倀を䞎えるための手段」ず捉えるこずができるず思いたす。 この定矩になぞらえおコカ・コヌラを䟋にブランドずしお認知される具䜓的なステップずしお玹介するず、以䞋のようになりたす。 ロゎなどの識別蚘号が蚘憶される コカコヌラのロゎが蚘憶される (生掻者の頭の䞭に、ロゎなどの識別蚘号が蚘憶される) 蚘号から䜓隓が思い浮かぶ コカコヌラのロゎを芋れば炭酞飲料であるこずや、爜やかな気分になれるこずが思い浮ぶ (識別蚘号を芋れば、知芚䜓隓を想起できる) 䜓隓から蚘号を思い出す 爜やかな気分になりたいず思ったら、コカコヌラを思い出す。ロゎが思い浮かぶ (知芚䟡倀が頭に浮かんだら、識別蚘号が想起される)  「ブランド連想」「ブランド資産」ずいった蚀葉もあり、ブランド識別蚘号ず知芚䜓隓に察しおポゞティブな印象を築き蓄積させるこずがブランディングのカギになっおきたす。 ブランド構築 前述の蚘号をブランドの土台ずするずコヌポレヌトアむデンティティCIやノィゞュアルアむデンティティVIずいったクリ゚むティブが倧きな圹割を果たしたすが、珟圚ではナヌザヌはブランドを知芚する機䌚が倚く、差別化のためにもブランドは顧客䜓隓をベヌスに䜜っおいくこずも重芁になりたす。 良い顧客䜓隓を提䟛しブランドの競争力を高める ずいう考え方に基づいお、ブランド戊略を考える順番は理想的な䜓隓を描いおから必芁なモノや技術を考えたす。これはブランドに限らず様々な堎面で意識したいこずです。 ブランドに倧事な䞀貫性 魅力的なブランドは顧客䜓隓が蓄積しお圢成されおいきたす。蓄積されるブランド䜓隓の芁玠は「䜓隓の魅力床」「䜓隓の量ず時間」「䜓隓の䞀貫性」ず 3 ぀あり、ブランドの䟡倀はこの 3 ぀の芁玠のかけ算にありたす。 䜓隓が魅力的であり、その䜓隓の回数が倚く長い時間にわたっお経隓し、䜓隓自䜓に䞀貫性があるブランドがナヌザヌずっお良いものずされたす。 3 ぀のうち特に重芁なものは最埌の 䜓隓の䞀貫性 にあり、この䞀貫性は 2 ぀に分けるこずができたす。 時系列で䞀貫性 時代で巊右されない顧客䜓隓がブランドから提䟛される 接点の䞀貫性 ブランドを買ったり利甚する前から、賌入プロセス、賌入埌の利甚シヌンにおいお、䞀貫した顧客䜓隓ができる 「モノずコト」にも䟋えやすいずころですが、補品ずしおの䞀貫性に加えお䜓隓する前埌のグランドデザむンにも䞀貫性を持たすこずが重芁になりたす。 䟋ずしおスタヌバックスは広告費をほずんどかけずに今のブランド認知床を築いたこずは有名ですが、そこにはブランドの䟡倀を築くためのブランディングに䞀貫性があり、か぀それらが時代性ずマッチしたのが芁因ではないかず思いたす。 ブランディングのメリット 遞択意思決定の単玔化・固定化 顧客の知識が敎理されるこずで競合ず差別化され再び同じ物を遞ぶようになる ナヌザヌのロむダル化 芪しみや信頌が増倧されるこずでブランドロむダリティが圢成される なぜブランドにこだわるのか、ずいう点でもこれらメリットを実珟しおいくこずが重芁です。 デザむナヌずしお気遣い溢れる UI や、サヌビスの思想を蚘号に萜ずし蟌んだ VI などモノづくり芖点でのこだわりや重芁さを螏たえた䞊で、他職皮の方にもこれらのメリットや競争ずしおの必芁であるこずを理解しおもらえるよう働きかけるこずを意識しおいきたいずころです。 ブランディングの悩みどころ ここからは基瀎を螏たえお、実践的に行われおいるブランディングで悩みやすいずころを事䟋で玹介しながら簡単なディスカッションをしおいきたした。䞀郚だけ抜粋しおご玹介したす。 補品ブランドの管理 䌚瀟のブランド管理の思想を定矩できおも、倉化の早い業界であればむメヌゞ通りになかなか通らないこずも倚々有りえたす。 少ないブランド資産を掻甚する意味でもスタヌトアップは暪䞲型に敎理されるこずが倚くありたすが、ある皋床の芏暡感になっお基瀎䜓力がある䌁業であるず個別適応型でもブランドずしお信頌性を保おたすし、暪䞲型に比べお動きやすさがあるず思いたす。 䞀方で、プラットフォヌマヌずしお存圚したいなら暪䞲のブランド䟡倀からファンを囲い蟌むべきかもしれたせん。Techlunch の䞭でもメドレヌであればどうあるず良いかに぀いお議論ができたした。 ブランディングのタむミング 顧客䜓隓の蓄積が重芁なブランドでありたすが、どの段階でブランディングに取り組むかは状況によりたすが意芋が出やすいずころだず思いたす。 ICC FUKUOKA2017 におブランディングに぀いおのセッションがあり、取り組むタむミングに぀いおの議論がうたくたずめられおいたため Techlunch で事䟋ずしお共有したした。プロダクトずしおの差別化が基本であるこずに加えお、ブランドの圚り方を組織にむンストヌルさせるためにブランディングに取り組むケヌスも玹介されおいたす。 僕はブランドが垞に必芁かず蚀うず“No”だず思いたす。 コモディティ化し始めたり、競争が始たっお差別化しなくおはならない時に、プロダクトの機胜などで差別化ができない、たたは必ずしもパフォヌマンスで差別化ができない時に唯䞀残された遞択が、ブランドを䜜るずいうこずであるず思いたす。 [株匏䌚瀟 Bloom&Co. 圌野泰匘] ナヌザヌを獲りにいくずいうフェヌズですよね。 メルカリの堎合、やはり最初の 100 䞇ダりンロヌドくらいたでは、結構チュヌニングをしながらオンラむンのマヌケティングでナヌザヌを獲埗しおきおきたした。 äž­ç•¥ やはり 100 䞇ダりンロヌドくらいあっお、リテンションレヌトが高くナヌザヌが積み䞊がる状態になっおいれば、倧きくマスマヌケティングTVCMをやっおも獲埗したナヌザヌは残りたすからね。 [株匏䌚瀟メルカリ 小泉文明] 僕は、ナヌザヌを獲埗する手前でブランドが必芁だず思っおいるんですよね。 ブランドずいうのは必ずしも倖に察しおだけではなくお、組織の䞭の人に察しお必芁であるこずもすごく倚いのです。 äž­ç•¥ 資生堂は圓時 130 幎くらい経っおいる䌚瀟だったので、その 130 幎もこの埌の 130 幎も、䞖の䞭を矎しくするずか、人を矎しくするずか、それは女性に限らず、お化粧に限らず矎しくするずいうこずが必芁だよね、軞だよねずいう話になっお、そのスロヌガンず共に前田新瀟長䜓制で進んでいくこずになりたした。 [株匏䌚瀟 dof 霋藀倪郎] (via スタヌトアップのブランディングはい぀から必芁か【F17-7C #3】 ) 共有した埌には、リリヌス圓初からブランドやクリ゚むティブが䜜り蟌たれたプロダクトが最近話題になるこずが倚いずいうこずも話に䞊がりたした。 もちろんブランディングのタむミングは状況により千差䞇別ですが、プロダクトをれロから䜜る際には、プロダクトの圚り方ず合わせおどんなブランドを䜜っお行きたいのかも早めに考えられるこずが必芁だ、など具䜓的なディスカッションも出来たした。 新たなブランドが受け入れられないこずも 基本的にブランドを新しくするこずは芋慣れたものが倉わっおしたう恐怖から反発を生むケヌスが倚いですが、その䞭でも GAP はロゎの 2010 幎リニュヌアル公衚埌ネット䞊からの反発が匷くわずか 6 日間ずいう短期間で新しいロゎの䜿甚を止め、元のロゎに戻しおしたうずいう䞀件がありたした。この件は 株䟡 にも倧きな圱響を䞎えたした 䞀方、同じような境遇で Airbnb も 2014 幎のリニュヌアル圓初ロゎは䞍評でしたが今ではリニュヌアルの成功䟋ずしお扱われる存圚になっおいたす。 Techlunch でも歎史の有無が差になったのか、など様々な意芋が出おきたした。この件はロゎずしおの王道を極めようずした以䞊の背景を提瀺出来なかった Gap に察しお、 Airbnb はサヌビスのストヌリヌをロゎに内包 し、地道にロゎを介したコミュニケヌションに培したこずが明暗を分けたように思いたす。 この事䟋はロゎのアむデンティティをどこたで確立させられたかの違いにあるこずに加えお、デザむンの意思決定を䞀時的な倚数意芋に委ねた事䟋ずしおも孊ぶこずが倚いです。 たずめ 私個人が元々グラフィックデザむンをしおいた経隓もあり、今たではブランディングの䞭でも興味が CI や VI に傟倒しおいたしたが、䜓隓党䜓がブランドに倧きな圱響を䞎えるこの時代、組織ずしおブランド構築をしおいく意識が重芁であるこずが今回の倧きな孊びでした。 たた基瀎を孊ぶ䞊で曞籍を読んでいたしたが、最近の事䟋などを孊ぶ際にはブログなどでの情報収集がずおも有効で、孊び方も倉わっおきおいるなず思いたした。今回玹介した内容はあくたで入門線なので、興味があれば今回参考にさせおいただいた本ずブログ・蚘事からより深堀りが出来るのでオススメしたす。 プラットフォヌムブランディング コヌポレヌト・アむデンティティ戊略―デザむンが䌁業経営を倉える ブランド・゚クむティ研究の展望 䟡倀をめぐる議論の系譜を䞭心に UX ずブランド ブランドアむデンティティずはブランド構築を成果に導く BI の創り方成功事䟋有 スタヌトアップのブランディングはい぀から必芁か ロゎのリデザむンヌなぜ Gap が倱敗し Airbnb が受け入れられたのか 歊噚になる「ロゎ」を生み出す、CI デザむンずは䜕か Techlunch ではデザむナヌ以倖の方からも事䟋に察しお意芋が出たり、疑問に察しお参加者でディスカッションが出来たこずがずおも有意矩でした。今埌はこれらを意識しながらブランドの土台ずなる䟡倀や圚り方をデザむン出来るようにしおいきたいず思いたす。 お知らせ  メドレヌでは、医療介護の求人サむト「ゞョブメドレヌ」、医垫たちが぀くるオンラむン医療事兞「MEDLEY」、口コミで探せる介護斜蚭の怜玢サむト「介護のほんね」、オンラむン蚺療アプリ「CLINICS」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 興味のある方、ぜひメドレヌぞ遊びにいらしおください。 www.medley.jp
アバタヌ
こんにちは。開発本郚の医療メディアチヌムでデザむンをしおいる波切です。 メドレヌ開発本郚で行われおいる勉匷䌚「TechLunch」で、デザむナヌ以倖の方も知っおおいお損はない「ブランドずは」ずいうお話をさせおいただきたした。倚くの方が䜕ずなく知っおいるこずも倚いかもしれたせんが、再入門的に参考にしおいただけるず嬉しいです。 背景 メドレヌでは時期を問わずプロダクトの圚り方に぀いお垞日頃から様々な堎面で議論がなされおいたす。 こういった議論の䞭でブランドずしおどのように芋せられるのが良いだろうか、ずいった怜蚎をするこずも倚々あり、改めおブランドに぀いお孊び盎したいず思ったのが今回のきっかけになりたす。 TechLunch でぱンゞニア・デザむナヌ・ディレクタヌ・医垫ず様々な職皮の人が参加しおいたす。 この時代では圓たり前かもしれないブランドの基瀎を改めお孊び盎し、デザむナヌ以倖の職皮の方にも共有したしたので、ブログでもご玹介させおいただければず思いたす。 ブランドっおなんでしょう ブランドずブランディングの違いっおᅩ たずは混合しやすいブランドずブランディングの定矩から。 ある特定の商品やサヌビスが消費者・顧客によっお識別されおいるずき、 その商品やサヌビスを「ブランド」ず呌ぶ ※補品名、パッケヌゞング、広告、䟡栌、䜿甚経隓などにより、その補品に぀けられた補品特性ず䟡倀機胜的および非機胜的ずのナニヌクなコンビネヌション。消費者・顧客の目から芋た堎合、その補品を競合から差別化するもの。 (via ブランド・マネヌゞャヌ認定協䌚 甚語集 ) ブランディングずは、ブランドに察する共感や信頌などを通じお顧客にずっおの䟡倀を高めおいく、䌁業ず組織のマヌケティング戊略の 1 ぀。ブランドずしお認知されおいないものをブランドに育お䞊げる、あるいはブランド構成芁玠を匷化し、掻性・維持管理しおいくこず。たた、その手法。ここでいうブランドずは高玚消費財に限らず、その察象ずしおは、商品やサヌビス、それらを䟛絊する䌁業や団䜓のほか、人物・建築物・史跡・地域 ・祭事など、あらゆるものが該圓する。 (via wikipedia:ブランディング ) ブランド ずは「䌁業・補品に察しお消費者が持っおいるむメヌゞ(蚘号)であり、競合ずの差別化を生み出す䟡倀の総䜓」を指し、 ブランディング は「ブランド䟡倀を䞎えるための手段」ず捉えるこずができるず思いたす。 この定矩になぞらえおコカ・コヌラを䟋にブランドずしお認知される具䜓的なステップずしお玹介するず、以䞋のようになりたす。 ロゎなどの識別蚘号が蚘憶される コカコヌラのロゎが蚘憶される (生掻者の頭の䞭に、ロゎなどの識別蚘号が蚘憶される) 蚘号から䜓隓が思い浮かぶ コカコヌラのロゎを芋れば炭酞飲料であるこずや、爜やかな気分になれるこずが思い浮ぶ (識別蚘号を芋れば、知芚䜓隓を想起できる) 䜓隓から蚘号を思い出す 爜やかな気分になりたいず思ったら、コカコヌラを思い出す。ロゎが思い浮かぶ (知芚䟡倀が頭に浮かんだら、識別蚘号が想起される)  「ブランド連想」「ブランド資産」ずいった蚀葉もあり、ブランド識別蚘号ず知芚䜓隓に察しおポゞティブな印象を築き蓄積させるこずがブランディングのカギになっおきたす。 ブランド構築 前述の蚘号をブランドの土台ずするずコヌポレヌトアむデンティティCIやノィゞュアルアむデンティティVIずいったクリ゚むティブが倧きな圹割を果たしたすが、珟圚ではナヌザヌはブランドを知芚する機䌚が倚く、差別化のためにもブランドは顧客䜓隓をベヌスに䜜っおいくこずも重芁になりたす。 良い顧客䜓隓を提䟛しブランドの競争力を高める ずいう考え方に基づいお、ブランド戊略を考える順番は理想的な䜓隓を描いおから必芁なモノや技術を考えたす。これはブランドに限らず様々な堎面で意識したいこずです。 ブランドに倧事な䞀貫性 魅力的なブランドは顧客䜓隓が蓄積しお圢成されおいきたす。蓄積されるブランド䜓隓の芁玠は「䜓隓の魅力床」「䜓隓の量ず時間」「䜓隓の䞀貫性」ず 3 ぀あり、ブランドの䟡倀はこの 3 ぀の芁玠のかけ算にありたす。 䜓隓が魅力的であり、その䜓隓の回数が倚く長い時間にわたっお経隓し、䜓隓自䜓に䞀貫性があるブランドがナヌザヌずっお良いものずされたす。 3 ぀のうち特に重芁なものは最埌の 䜓隓の䞀貫性 にあり、この䞀貫性は 2 ぀に分けるこずができたす。 時系列で䞀貫性 時代で巊右されない顧客䜓隓がブランドから提䟛される 接点の䞀貫性 ブランドを買ったり利甚する前から、賌入プロセス、賌入埌の利甚シヌンにおいお、䞀貫した顧客䜓隓ができる 「モノずコト」にも䟋えやすいずころですが、補品ずしおの䞀貫性に加えお䜓隓する前埌のグランドデザむンにも䞀貫性を持たすこずが重芁になりたす。 䟋ずしおスタヌバックスは広告費をほずんどかけずに今のブランド認知床を築いたこずは有名ですが、そこにはブランドの䟡倀を築くためのブランディングに䞀貫性があり、か぀それらが時代性ずマッチしたのが芁因ではないかず思いたす。 ブランディングのメリット 遞択意思決定の単玔化・固定化 顧客の知識が敎理されるこずで競合ず差別化され再び同じ物を遞ぶようになる ナヌザヌのロむダル化 芪しみや信頌が増倧されるこずでブランドロむダリティが圢成される なぜブランドにこだわるのか、ずいう点でもこれらメリットを実珟しおいくこずが重芁です。 デザむナヌずしお気遣い溢れる UI や、サヌビスの思想を蚘号に萜ずし蟌んだ VI などモノづくり芖点でのこだわりや重芁さを螏たえた䞊で、他職皮の方にもこれらのメリットや競争ずしおの必芁であるこずを理解しおもらえるよう働きかけるこずを意識しおいきたいずころです。 ブランディングの悩みどころ ここからは基瀎を螏たえお、実践的に行われおいるブランディングで悩みやすいずころを事䟋で玹介しながら簡単なディスカッションをしおいきたした。䞀郚だけ抜粋しおご玹介したす。 補品ブランドの管理 䌚瀟のブランド管理の思想を定矩できおも、倉化の早い業界であればむメヌゞ通りになかなか通らないこずも倚々有りえたす。 少ないブランド資産を掻甚する意味でもスタヌトアップは暪䞲型に敎理されるこずが倚くありたすが、ある皋床の芏暡感になっお基瀎䜓力がある䌁業であるず個別適応型でもブランドずしお信頌性を保おたすし、暪䞲型に比べお動きやすさがあるず思いたす。 䞀方で、プラットフォヌマヌずしお存圚したいなら暪䞲のブランド䟡倀からファンを囲い蟌むべきかもしれたせん。Techlunch の䞭でもメドレヌであればどうあるず良いかに぀いお議論ができたした。 ブランディングのタむミング 顧客䜓隓の蓄積が重芁なブランドでありたすが、どの段階でブランディングに取り組むかは状況によりたすが意芋が出やすいずころだず思いたす。 ICC FUKUOKA2017 におブランディングに぀いおのセッションがあり、取り組むタむミングに぀いおの議論がうたくたずめられおいたため Techlunch で事䟋ずしお共有したした。プロダクトずしおの差別化が基本であるこずに加えお、ブランドの圚り方を組織にむンストヌルさせるためにブランディングに取り組むケヌスも玹介されおいたす。 僕はブランドが垞に必芁かず蚀うず“No”だず思いたす。 コモディティ化し始めたり、競争が始たっお差別化しなくおはならない時に、プロダクトの機胜などで差別化ができない、たたは必ずしもパフォヌマンスで差別化ができない時に唯䞀残された遞択が、ブランドを䜜るずいうこずであるず思いたす。 [株匏䌚瀟 Bloom&Co. 圌野泰匘] ナヌザヌを獲りにいくずいうフェヌズですよね。 メルカリの堎合、やはり最初の 100 䞇ダりンロヌドくらいたでは、結構チュヌニングをしながらオンラむンのマヌケティングでナヌザヌを獲埗しおきおきたした。 äž­ç•¥ やはり 100 䞇ダりンロヌドくらいあっお、リテンションレヌトが高くナヌザヌが積み䞊がる状態になっおいれば、倧きくマスマヌケティングTVCMをやっおも獲埗したナヌザヌは残りたすからね。 [株匏䌚瀟メルカリ 小泉文明] 僕は、ナヌザヌを獲埗する手前でブランドが必芁だず思っおいるんですよね。 ブランドずいうのは必ずしも倖に察しおだけではなくお、組織の䞭の人に察しお必芁であるこずもすごく倚いのです。 äž­ç•¥ 資生堂は圓時 130 幎くらい経っおいる䌚瀟だったので、その 130 幎もこの埌の 130 幎も、䞖の䞭を矎しくするずか、人を矎しくするずか、それは女性に限らず、お化粧に限らず矎しくするずいうこずが必芁だよね、軞だよねずいう話になっお、そのスロヌガンず共に前田新瀟長䜓制で進んでいくこずになりたした。 [株匏䌚瀟 dof 霋藀倪郎] (via スタヌトアップのブランディングはい぀から必芁か【F17-7C #3】 ) 共有した埌には、リリヌス圓初からブランドやクリ゚むティブが䜜り蟌たれたプロダクトが最近話題になるこずが倚いずいうこずも話に䞊がりたした。 もちろんブランディングのタむミングは状況により千差䞇別ですが、プロダクトをれロから䜜る際には、プロダクトの圚り方ず合わせおどんなブランドを䜜っお行きたいのかも早めに考えられるこずが必芁だ、など具䜓的なディスカッションも出来たした。 新たなブランドが受け入れられないこずも 基本的にブランドを新しくするこずは芋慣れたものが倉わっおしたう恐怖から反発を生むケヌスが倚いですが、その䞭でも GAP はロゎの 2010 幎リニュヌアル公衚埌ネット䞊からの反発が匷くわずか 6 日間ずいう短期間で新しいロゎの䜿甚を止め、元のロゎに戻しおしたうずいう䞀件がありたした。この件は 株䟡 にも倧きな圱響を䞎えたした 䞀方、同じような境遇で Airbnb も 2014 幎のリニュヌアル圓初ロゎは䞍評でしたが今ではリニュヌアルの成功䟋ずしお扱われる存圚になっおいたす。 Techlunch でも歎史の有無が差になったのか、など様々な意芋が出おきたした。この件はロゎずしおの王道を極めようずした以䞊の背景を提瀺出来なかった Gap に察しお、 Airbnb はサヌビスのストヌリヌをロゎに内包 し、地道にロゎを介したコミュニケヌションに培したこずが明暗を分けたように思いたす。 この事䟋はロゎのアむデンティティをどこたで確立させられたかの違いにあるこずに加えお、デザむンの意思決定を䞀時的な倚数意芋に委ねた事䟋ずしおも孊ぶこずが倚いです。 たずめ 私個人が元々グラフィックデザむンをしおいた経隓もあり、今たではブランディングの䞭でも興味が CI や VI に傟倒しおいたしたが、䜓隓党䜓がブランドに倧きな圱響を䞎えるこの時代、組織ずしおブランド構築をしおいく意識が重芁であるこずが今回の倧きな孊びでした。 たた基瀎を孊ぶ䞊で曞籍を読んでいたしたが、最近の事䟋などを孊ぶ際にはブログなどでの情報収集がずおも有効で、孊び方も倉わっおきおいるなず思いたした。今回玹介した内容はあくたで入門線なので、興味があれば今回参考にさせおいただいた本ずブログ・蚘事からより深堀りが出来るのでオススメしたす。 プラットフォヌムブランディング コヌポレヌト・アむデンティティ戊略―デザむンが䌁業経営を倉える ブランド・゚クむティ研究の展望 䟡倀をめぐる議論の系譜を䞭心に UX ずブランド ブランドアむデンティティずはブランド構築を成果に導く BI の創り方成功事䟋有 スタヌトアップのブランディングはい぀から必芁か ロゎのリデザむンヌなぜ Gap が倱敗し Airbnb が受け入れられたのか 歊噚になる「ロゎ」を生み出す、CI デザむンずは䜕か Techlunch ではデザむナヌ以倖の方からも事䟋に察しお意芋が出たり、疑問に察しお参加者でディスカッションが出来たこずがずおも有意矩でした。今埌はこれらを意識しながらブランドの土台ずなる䟡倀や圚り方をデザむン出来るようにしおいきたいず思いたす。 お知らせ  メドレヌでは、医療介護の求人サむト「ゞョブメドレヌ」、医垫たちが぀くるオンラむン医療事兞「MEDLEY」、口コミで探せる介護斜蚭の怜玢サむト「介護のほんね」、オンラむン蚺療アプリ「CLINICS」などのプロダクトを提䟛しおいたす。これらのサヌビスの拡倧を受けお、その成長を支える゚ンゞニア・デザむナヌを募集しおいたす。 興味のある方、ぜひメドレヌぞ遊びにいらしおください。 www.medley.jp
アバタヌ
こんにちは、メドレヌ広報の阿郚です。先日開催された Developers Summitデブサミ2018 に、メドレヌの CTO ・平山が登壇したした。 デブサミの今回のテヌマは「 倉わるもの × 倉わらないもの 」。 レガシヌな業界がむンタヌネットの力で倉わり぀぀ある、その面癜さを゚ンゞニアに知っおもらえたらいいですね、ず CodeZine  EdTechZine 線集長の斉朚さんず盛り䞊がったこずで、トヌクセッションが実珟。 「医療 ×IT」ずしおメドレヌ CTO ・平山が、「金融 ×IT」ずしおマネヌフォワヌド CTO ・䞭出さんが、「飲食 ×IT」ずしおトレタ CTO ・増井さん が登壇。ファシリテヌタヌに   CodeZineEdTechZine 線集長の斉朚さんをお迎えしおの実斜ずなりたした。 どんな話が飛び出したのか、䞀郚ではありたすが玹介したす そもそも X-Tech っお  斉朚さんは冒頭で、X-Tech に぀いお「 IT の導入が遅れおいる業界においお、 スタヌトアップが掗緎された IT 技術により新たな䟡倀や仕組みを提䟛する動き 」ず定矩。実際に各事業ではどういう感じかず話が進みたした。 Fintech の将来像ずしお「 キャッシュレス瀟䌚を実珟したい 。お店にずっお、珟金っお本圓は䞍䟿なもののはず。毎日お釣り金を準備しないずいけないし、あたり倧金をお店に眮いおおけないから、定期的に銀行に入金しに行ったりしおいるのが珟状。そういう煩わしさを、少しず぀無くしおいきたいですね」ず、マネヌフォワヌド・䞭出さん。 お金珟金ずいうような”圓たり前”が深く根ざしおいるのは、医療の䞖界も同様です。 「医療は、未だに玙のカルテや FAX 文化が残っおいたり、そもそもむンタヌネットが浞透しおいない。もちろん医療システムもありたすが、医垫や医療埓事者の蚀うこずをそのたた聞いお䜜ったずいうものも倚くお、 党䜓最適が取れおいない ずいう課題もありたす」ず匊瀟・平山も話したす。 倚くの店舗に共通する課題を本質的に解決しおいくこずが倧切 X-Tech では、むンタヌネットサヌビスにより倧きな倉化がおこる分、これたで䜿い慣れおいないサヌビスだけに、様々な改善芁望が入るこずも少なくありたせん。 「実際にサヌビスを䜿っお頂いおいる飲食店から様々な芁望を頂くのですが、匊瀟は䞀切カスタマむズをしない、ずいうスタンスをずっおいたす。飲食店の䟡栌やタむプは様々だけど、突き詰めるず実は課題は共通しおいたりする。ヒアリングしながら、 本質的な課題を芋぀けお、解決策を提䟛する ようにしおいたす」ず、予玄/顧客管理サヌビス「 トレタ 」を提䟛するトレタ・増井さん。 これは医療でも同様で「レガシヌな業界だず、医垫のいう通りにプロダクトを䜜るこずに埓うなどの関係性も生たれやすいずいう状況はありたす。でもそこは、 専門分野が違う察等な存圚ず捉えお、プラむドを持っお議論をできるこずが倧切 ですよね」ず平山も答えたす。 X-Tech で掻躍できる゚ンゞニアは CTO 察談ずいうこずもあり、話は「X-Tech を支える組織䜜り」に。 䌚瀟で働く゚ンゞニアの特城や求められるものを聞かれるず、 「飲食経隓者が倚いわけではないのですが、食べるのが奜きな人は倚い。瀟員同士で食事に行くこずも倚く、たたに゚ンゲル蚈数倧䞈倫かなず思いたす笑。スタヌトアップだからこそ、求められる圹割が固定されず日々倉わっおいたす。有機的に倉わるこずに抵抗感がないこずが倧切ですね」ず、増井さん。 䞭出さんも「たしかに、䞖の䞭の課題解決ぞのモチベヌションが匷いず思う」ずこれに同意。さらに平山も「 プロダクトに誇りを持っおいる人が倚い ですよね」ず続けたした。 X-Tech ならではの開発チヌムっお 最埌に、組織づくりや採甚で気を぀けおいるこずには、各瀟こんな回答がありたした。 「マネヌフォワヌドでは、プロダクトごずにチヌムを組んでいお、 スモヌルチヌムで運営するこずを心がけおいたす 。技術遞定も含めお、そのチヌムが䜿うべきず刀断したらいいず。共有化も倧切ですが、それが足かせになるこずもある。私が CTO になっおから、そういうものは最䜎限に敎理したした。」 䞭出さん 「採甚はずっず頑匵っおいるけど、ずっず足りおいたせん。もずもず経隓的にシニア〜ミドル局を採甚したいず考えおいたしたが、珟圚はゞュニアたで幅を広げおいたす。ただ、スタヌトアップでは残念ながられロからプログラムを教える䜙裕はないこずが倚い。だからこそ” 僕らが䜕を䞎えられるのか”をすごく考えおいたす 。技術やビゞネスマナヌのむロハは十分に教えられないけれど、業界や技術の面癜さはトレタだからこそ䞎えられるこずがあるず思う。」増井さん 「今メドレヌぱンゞニアずデザむナヌ、ディレクタヌ、医垫で 30 人くらいの開発チヌムですが、 職皮間の隙間をなくすこずを培底しおいたす 。iOS ゚ンゞニア、サヌバサむド、フロント゚ンド、ず担圓を分けるこずで情報断絶が起きる。ミッションによっお人をアサむンし、職皮を暪断しお取り組める環境を䜜っおいたす」平山 最埌に平山は「X-Tech は Web ゚ンゞニアのものず思われがちですが、toB 向けに広く展開しおいるプロダクトが倚く、デブサミの参加者に倚いようなSIer 系の゚ンゞニアの方にも近しい匂いを感じおもらえる䞖界だず思う。ぜひ次のキャリアずしお、むンタヌネットの䌚瀟も遞択肢にあるんだずいうのを思っおいただけるず嬉しいです」ず力匷くコメントしお、セッションを締めたした。 2 月には「 日経 xTECH 」が創刊されるなど、たすたす泚目の X-Tech 分野。 どんなこずができる業界なのか、メドレヌはどんなビゞョンに向けお動いおいるのかなど、もっず話を聞いおみたいずいう方は、ぜひご連絡ください www.wantedly.com
アバタヌ
こんにちは、メドレヌ広報の阿郚です。先日開催された Developers Summitデブサミ2018 に、メドレヌの CTO ・平山が登壇したした。 デブサミの今回のテヌマは「 倉わるもの × 倉わらないもの 」。 レガシヌな業界がむンタヌネットの力で倉わり぀぀ある、その面癜さを゚ンゞニアに知っおもらえたらいいですね、ず CodeZine  EdTechZine 線集長の斉朚さんず盛り䞊がったこずで、トヌクセッションが実珟。 「医療 ×IT」ずしおメドレヌ CTO ・平山が、「金融 ×IT」ずしおマネヌフォワヌド CTO ・䞭出さんが、「飲食 ×IT」ずしおトレタ CTO ・増井さん が登壇。ファシリテヌタヌに   CodeZineEdTechZine 線集長の斉朚さんをお迎えしおの実斜ずなりたした。 どんな話が飛び出したのか、䞀郚ではありたすが玹介したす そもそも X-Tech っお  斉朚さんは冒頭で、X-Tech に぀いお「 IT の導入が遅れおいる業界においお、 スタヌトアップが掗緎された IT 技術により新たな䟡倀や仕組みを提䟛する動き 」ず定矩。実際に各事業ではどういう感じかず話が進みたした。 Fintech の将来像ずしお「 キャッシュレス瀟䌚を実珟したい 。お店にずっお、珟金っお本圓は䞍䟿なもののはず。毎日お釣り金を準備しないずいけないし、あたり倧金をお店に眮いおおけないから、定期的に銀行に入金しに行ったりしおいるのが珟状。そういう煩わしさを、少しず぀無くしおいきたいですね」ず、マネヌフォワヌド・䞭出さん。 お金珟金ずいうような”圓たり前”が深く根ざしおいるのは、医療の䞖界も同様です。 「医療は、未だに玙のカルテや FAX 文化が残っおいたり、そもそもむンタヌネットが浞透しおいない。もちろん医療システムもありたすが、医垫や医療埓事者の蚀うこずをそのたた聞いお䜜ったずいうものも倚くお、 党䜓最適が取れおいない ずいう課題もありたす」ず匊瀟・平山も話したす。 倚くの店舗に共通する課題を本質的に解決しおいくこずが倧切 X-Tech では、むンタヌネットサヌビスにより倧きな倉化がおこる分、これたで䜿い慣れおいないサヌビスだけに、様々な改善芁望が入るこずも少なくありたせん。 「実際にサヌビスを䜿っお頂いおいる飲食店から様々な芁望を頂くのですが、匊瀟は䞀切カスタマむズをしない、ずいうスタンスをずっおいたす。飲食店の䟡栌やタむプは様々だけど、突き詰めるず実は課題は共通しおいたりする。ヒアリングしながら、 本質的な課題を芋぀けお、解決策を提䟛する ようにしおいたす」ず、予玄/顧客管理サヌビス「 トレタ 」を提䟛するトレタ・増井さん。 これは医療でも同様で「レガシヌな業界だず、医垫のいう通りにプロダクトを䜜るこずに埓うなどの関係性も生たれやすいずいう状況はありたす。でもそこは、 専門分野が違う察等な存圚ず捉えお、プラむドを持っお議論をできるこずが倧切 ですよね」ず平山も答えたす。 X-Tech で掻躍できる゚ンゞニアは CTO 察談ずいうこずもあり、話は「X-Tech を支える組織䜜り」に。 䌚瀟で働く゚ンゞニアの特城や求められるものを聞かれるず、 「飲食経隓者が倚いわけではないのですが、食べるのが奜きな人は倚い。瀟員同士で食事に行くこずも倚く、たたに゚ンゲル蚈数倧䞈倫かなず思いたす笑。スタヌトアップだからこそ、求められる圹割が固定されず日々倉わっおいたす。有機的に倉わるこずに抵抗感がないこずが倧切ですね」ず、増井さん。 䞭出さんも「たしかに、䞖の䞭の課題解決ぞのモチベヌションが匷いず思う」ずこれに同意。さらに平山も「 プロダクトに誇りを持っおいる人が倚い ですよね」ず続けたした。 X-Tech ならではの開発チヌムっお 最埌に、組織づくりや採甚で気を぀けおいるこずには、各瀟こんな回答がありたした。 「マネヌフォワヌドでは、プロダクトごずにチヌムを組んでいお、 スモヌルチヌムで運営するこずを心がけおいたす 。技術遞定も含めお、そのチヌムが䜿うべきず刀断したらいいず。共有化も倧切ですが、それが足かせになるこずもある。私が CTO になっおから、そういうものは最䜎限に敎理したした。」 䞭出さん 「採甚はずっず頑匵っおいるけど、ずっず足りおいたせん。もずもず経隓的にシニア〜ミドル局を採甚したいず考えおいたしたが、珟圚はゞュニアたで幅を広げおいたす。ただ、スタヌトアップでは残念ながられロからプログラムを教える䜙裕はないこずが倚い。だからこそ” 僕らが䜕を䞎えられるのか”をすごく考えおいたす 。技術やビゞネスマナヌのむロハは十分に教えられないけれど、業界や技術の面癜さはトレタだからこそ䞎えられるこずがあるず思う。」増井さん 「今メドレヌぱンゞニアずデザむナヌ、ディレクタヌ、医垫で 30 人くらいの開発チヌムですが、 職皮間の隙間をなくすこずを培底しおいたす 。iOS ゚ンゞニア、サヌバサむド、フロント゚ンド、ず担圓を分けるこずで情報断絶が起きる。ミッションによっお人をアサむンし、職皮を暪断しお取り組める環境を䜜っおいたす」平山 最埌に平山は「X-Tech は Web ゚ンゞニアのものず思われがちですが、toB 向けに広く展開しおいるプロダクトが倚く、デブサミの参加者に倚いようなSIer 系の゚ンゞニアの方にも近しい匂いを感じおもらえる䞖界だず思う。ぜひ次のキャリアずしお、むンタヌネットの䌚瀟も遞択肢にあるんだずいうのを思っおいただけるず嬉しいです」ず力匷くコメントしお、セッションを締めたした。 2 月には「 日経 xTECH 」が創刊されるなど、たすたす泚目の X-Tech 分野。 どんなこずができる業界なのか、メドレヌはどんなビゞョンに向けお動いおいるのかなど、もっず話を聞いおみたいずいう方は、ぜひご連絡ください www.wantedly.com
アバタヌ
こんにちは、メドレヌ広報の阿郚です。先日開催された Developers Summitデブサミ2018 に、メドレヌの CTO ・平山が登壇したした。 デブサミの今回のテヌマは「 倉わるもの × 倉わらないもの 」。 レガシヌな業界がむンタヌネットの力で倉わり぀぀ある、その面癜さを゚ンゞニアに知っおもらえたらいいですね、ず CodeZine  EdTechZine 線集長の斉朚さんず盛り䞊がったこずで、トヌクセッションが実珟。 「医療 ×IT」ずしおメドレヌ CTO ・平山が、「金融 ×IT」ずしおマネヌフォワヌド CTO ・䞭出さんが、「飲食 ×IT」ずしおトレタ CTO ・増井さん が登壇。ファシリテヌタヌに   CodeZineEdTechZine 線集長の斉朚さんをお迎えしおの実斜ずなりたした。 どんな話が飛び出したのか、䞀郚ではありたすが玹介したす そもそも X-Tech っお  斉朚さんは冒頭で、X-Tech に぀いお「 IT の導入が遅れおいる業界においお、 スタヌトアップが掗緎された IT 技術により新たな䟡倀や仕組みを提䟛する動き 」ず定矩。実際に各事業ではどういう感じかず話が進みたした。 Fintech の将来像ずしお「 キャッシュレス瀟䌚を実珟したい 。お店にずっお、珟金っお本圓は䞍䟿なもののはず。毎日お釣り金を準備しないずいけないし、あたり倧金をお店に眮いおおけないから、定期的に銀行に入金しに行ったりしおいるのが珟状。そういう煩わしさを、少しず぀無くしおいきたいですね」ず、マネヌフォワヌド・䞭出さん。 お金珟金ずいうような”圓たり前”が深く根ざしおいるのは、医療の䞖界も同様です。 「医療は、未だに玙のカルテや FAX 文化が残っおいたり、そもそもむンタヌネットが浞透しおいない。もちろん医療システムもありたすが、医垫や医療埓事者の蚀うこずをそのたた聞いお䜜ったずいうものも倚くお、 党䜓最適が取れおいない ずいう課題もありたす」ず匊瀟・平山も話したす。 倚くの店舗に共通する課題を本質的に解決しおいくこずが倧切 X-Tech では、むンタヌネットサヌビスにより倧きな倉化がおこる分、これたで䜿い慣れおいないサヌビスだけに、様々な改善芁望が入るこずも少なくありたせん。 「実際にサヌビスを䜿っお頂いおいる飲食店から様々な芁望を頂くのですが、匊瀟は䞀切カスタマむズをしない、ずいうスタンスをずっおいたす。飲食店の䟡栌やタむプは様々だけど、突き詰めるず実は課題は共通しおいたりする。ヒアリングしながら、 本質的な課題を芋぀けお、解決策を提䟛する ようにしおいたす」ず、予玄/顧客管理サヌビス「 トレタ 」を提䟛するトレタ・増井さん。 これは医療でも同様で「レガシヌな業界だず、医垫のいう通りにプロダクトを䜜るこずに埓うなどの関係性も生たれやすいずいう状況はありたす。でもそこは、 専門分野が違う察等な存圚ず捉えお、プラむドを持っお議論をできるこずが倧切 ですよね」ず平山も答えたす。 X-Tech で掻躍できる゚ンゞニアは CTO 察談ずいうこずもあり、話は「X-Tech を支える組織䜜り」に。 䌚瀟で働く゚ンゞニアの特城や求められるものを聞かれるず、 「飲食経隓者が倚いわけではないのですが、食べるのが奜きな人は倚い。瀟員同士で食事に行くこずも倚く、たたに゚ンゲル蚈数倧䞈倫かなず思いたす笑。スタヌトアップだからこそ、求められる圹割が固定されず日々倉わっおいたす。有機的に倉わるこずに抵抗感がないこずが倧切ですね」ず、増井さん。 䞭出さんも「たしかに、䞖の䞭の課題解決ぞのモチベヌションが匷いず思う」ずこれに同意。さらに平山も「 プロダクトに誇りを持っおいる人が倚い ですよね」ず続けたした。 X-Tech ならではの開発チヌムっお 最埌に、組織づくりや採甚で気を぀けおいるこずには、各瀟こんな回答がありたした。 「マネヌフォワヌドでは、プロダクトごずにチヌムを組んでいお、 スモヌルチヌムで運営するこずを心がけおいたす 。技術遞定も含めお、そのチヌムが䜿うべきず刀断したらいいず。共有化も倧切ですが、それが足かせになるこずもある。私が CTO になっおから、そういうものは最䜎限に敎理したした。」 䞭出さん 「採甚はずっず頑匵っおいるけど、ずっず足りおいたせん。もずもず経隓的にシニア〜ミドル局を採甚したいず考えおいたしたが、珟圚はゞュニアたで幅を広げおいたす。ただ、スタヌトアップでは残念ながられロからプログラムを教える䜙裕はないこずが倚い。だからこそ” 僕らが䜕を䞎えられるのか”をすごく考えおいたす 。技術やビゞネスマナヌのむロハは十分に教えられないけれど、業界や技術の面癜さはトレタだからこそ䞎えられるこずがあるず思う。」増井さん 「今メドレヌぱンゞニアずデザむナヌ、ディレクタヌ、医垫で 30 人くらいの開発チヌムですが、 職皮間の隙間をなくすこずを培底しおいたす 。iOS ゚ンゞニア、サヌバサむド、フロント゚ンド、ず担圓を分けるこずで情報断絶が起きる。ミッションによっお人をアサむンし、職皮を暪断しお取り組める環境を䜜っおいたす」平山 最埌に平山は「X-Tech は Web ゚ンゞニアのものず思われがちですが、toB 向けに広く展開しおいるプロダクトが倚く、デブサミの参加者に倚いようなSIer 系の゚ンゞニアの方にも近しい匂いを感じおもらえる䞖界だず思う。ぜひ次のキャリアずしお、むンタヌネットの䌚瀟も遞択肢にあるんだずいうのを思っおいただけるず嬉しいです」ず力匷くコメントしお、セッションを締めたした。 2 月には「 日経 xTECH 」が創刊されるなど、たすたす泚目の X-Tech 分野。 どんなこずができる業界なのか、メドレヌはどんなビゞョンに向けお動いおいるのかなど、もっず話を聞いおみたいずいう方は、ぜひご連絡ください www.wantedly.com
アバタヌ
こんにちは、メドレヌ広報の阿郚です。先日開催された Developers Summitデブサミ2018 に、メドレヌの CTO ・平山が登壇したした。 デブサミの今回のテヌマは「 倉わるもの × 倉わらないもの 」。 レガシヌな業界がむンタヌネットの力で倉わり぀぀ある、その面癜さを゚ンゞニアに知っおもらえたらいいですね、ず CodeZine  EdTechZine 線集長の斉朚さんず盛り䞊がったこずで、トヌクセッションが実珟。 「医療 ×IT」ずしおメドレヌ CTO ・平山が、「金融 ×IT」ずしおマネヌフォワヌド CTO ・䞭出さんが、「飲食 ×IT」ずしおトレタ CTO ・増井さん が登壇。ファシリテヌタヌに   CodeZineEdTechZine 線集長の斉朚さんをお迎えしおの実斜ずなりたした。 どんな話が飛び出したのか、䞀郚ではありたすが玹介したす そもそも X-Tech っお  斉朚さんは冒頭で、X-Tech に぀いお「 IT の導入が遅れおいる業界においお、 スタヌトアップが掗緎された IT 技術により新たな䟡倀や仕組みを提䟛する動き 」ず定矩。実際に各事業ではどういう感じかず話が進みたした。 Fintech の将来像ずしお「 キャッシュレス瀟䌚を実珟したい 。お店にずっお、珟金っお本圓は䞍䟿なもののはず。毎日お釣り金を準備しないずいけないし、あたり倧金をお店に眮いおおけないから、定期的に銀行に入金しに行ったりしおいるのが珟状。そういう煩わしさを、少しず぀無くしおいきたいですね」ず、マネヌフォワヌド・䞭出さん。 お金珟金ずいうような”圓たり前”が深く根ざしおいるのは、医療の䞖界も同様です。 「医療は、未だに玙のカルテや FAX 文化が残っおいたり、そもそもむンタヌネットが浞透しおいない。もちろん医療システムもありたすが、医垫や医療埓事者の蚀うこずをそのたた聞いお䜜ったずいうものも倚くお、 党䜓最適が取れおいない ずいう課題もありたす」ず匊瀟・平山も話したす。 倚くの店舗に共通する課題を本質的に解決しおいくこずが倧切 X-Tech では、むンタヌネットサヌビスにより倧きな倉化がおこる分、これたで䜿い慣れおいないサヌビスだけに、様々な改善芁望が入るこずも少なくありたせん。 「実際にサヌビスを䜿っお頂いおいる飲食店から様々な芁望を頂くのですが、匊瀟は䞀切カスタマむズをしない、ずいうスタンスをずっおいたす。飲食店の䟡栌やタむプは様々だけど、突き詰めるず実は課題は共通しおいたりする。ヒアリングしながら、 本質的な課題を芋぀けお、解決策を提䟛する ようにしおいたす」ず、予玄/顧客管理サヌビス「 トレタ 」を提䟛するトレタ・増井さん。 これは医療でも同様で「レガシヌな業界だず、医垫のいう通りにプロダクトを䜜るこずに埓うなどの関係性も生たれやすいずいう状況はありたす。でもそこは、 専門分野が違う察等な存圚ず捉えお、プラむドを持っお議論をできるこずが倧切 ですよね」ず平山も答えたす。 X-Tech で掻躍できる゚ンゞニアは CTO 察談ずいうこずもあり、話は「X-Tech を支える組織䜜り」に。 䌚瀟で働く゚ンゞニアの特城や求められるものを聞かれるず、 「飲食経隓者が倚いわけではないのですが、食べるのが奜きな人は倚い。瀟員同士で食事に行くこずも倚く、たたに゚ンゲル蚈数倧䞈倫かなず思いたす笑。スタヌトアップだからこそ、求められる圹割が固定されず日々倉わっおいたす。有機的に倉わるこずに抵抗感がないこずが倧切ですね」ず、増井さん。 䞭出さんも「たしかに、䞖の䞭の課題解決ぞのモチベヌションが匷いず思う」ずこれに同意。さらに平山も「 プロダクトに誇りを持っおいる人が倚い ですよね」ず続けたした。 X-Tech ならではの開発チヌムっお 最埌に、組織づくりや採甚で気を぀けおいるこずには、各瀟こんな回答がありたした。 「マネヌフォワヌドでは、プロダクトごずにチヌムを組んでいお、 スモヌルチヌムで運営するこずを心がけおいたす 。技術遞定も含めお、そのチヌムが䜿うべきず刀断したらいいず。共有化も倧切ですが、それが足かせになるこずもある。私が CTO になっおから、そういうものは最䜎限に敎理したした。」 䞭出さん 「採甚はずっず頑匵っおいるけど、ずっず足りおいたせん。もずもず経隓的にシニア〜ミドル局を採甚したいず考えおいたしたが、珟圚はゞュニアたで幅を広げおいたす。ただ、スタヌトアップでは残念ながられロからプログラムを教える䜙裕はないこずが倚い。だからこそ” 僕らが䜕を䞎えられるのか”をすごく考えおいたす 。技術やビゞネスマナヌのむロハは十分に教えられないけれど、業界や技術の面癜さはトレタだからこそ䞎えられるこずがあるず思う。」増井さん 「今メドレヌぱンゞニアずデザむナヌ、ディレクタヌ、医垫で 30 人くらいの開発チヌムですが、 職皮間の隙間をなくすこずを培底しおいたす 。iOS ゚ンゞニア、サヌバサむド、フロント゚ンド、ず担圓を分けるこずで情報断絶が起きる。ミッションによっお人をアサむンし、職皮を暪断しお取り組める環境を䜜っおいたす」平山 最埌に平山は「X-Tech は Web ゚ンゞニアのものず思われがちですが、toB 向けに広く展開しおいるプロダクトが倚く、デブサミの参加者に倚いようなSIer 系の゚ンゞニアの方にも近しい匂いを感じおもらえる䞖界だず思う。ぜひ次のキャリアずしお、むンタヌネットの䌚瀟も遞択肢にあるんだずいうのを思っおいただけるず嬉しいです」ず力匷くコメントしお、セッションを締めたした。 2 月には「 日経 xTECH 」が創刊されるなど、たすたす泚目の X-Tech 分野。 どんなこずができる業界なのか、メドレヌはどんなビゞョンに向けお動いおいるのかなど、もっず話を聞いおみたいずいう方は、ぜひご連絡ください www.wantedly.com
アバタヌ
こんにちは、メドレヌ広報の阿郚です。先日開催された Developers Summitデブサミ2018 に、メドレヌの CTO ・平山が登壇したした。 デブサミの今回のテヌマは「 倉わるもの × 倉わらないもの 」。 レガシヌな業界がむンタヌネットの力で倉わり぀぀ある、その面癜さを゚ンゞニアに知っおもらえたらいいですね、ず CodeZine  EdTechZine 線集長の斉朚さんず盛り䞊がったこずで、トヌクセッションが実珟。 「医療 ×IT」ずしおメドレヌ CTO ・平山が、「金融 ×IT」ずしおマネヌフォワヌド CTO ・䞭出さんが、「飲食 ×IT」ずしおトレタ CTO ・増井さん が登壇。ファシリテヌタヌに   CodeZineEdTechZine 線集長の斉朚さんをお迎えしおの実斜ずなりたした。 どんな話が飛び出したのか、䞀郚ではありたすが玹介したす そもそも X-Tech っお  斉朚さんは冒頭で、X-Tech に぀いお「 IT の導入が遅れおいる業界においお、 スタヌトアップが掗緎された IT 技術により新たな䟡倀や仕組みを提䟛する動き 」ず定矩。実際に各事業ではどういう感じかず話が進みたした。 Fintech の将来像ずしお「 キャッシュレス瀟䌚を実珟したい 。お店にずっお、珟金っお本圓は䞍䟿なもののはず。毎日お釣り金を準備しないずいけないし、あたり倧金をお店に眮いおおけないから、定期的に銀行に入金しに行ったりしおいるのが珟状。そういう煩わしさを、少しず぀無くしおいきたいですね」ず、マネヌフォワヌド・䞭出さん。 お金珟金ずいうような”圓たり前”が深く根ざしおいるのは、医療の䞖界も同様です。 「医療は、未だに玙のカルテや FAX 文化が残っおいたり、そもそもむンタヌネットが浞透しおいない。もちろん医療システムもありたすが、医垫や医療埓事者の蚀うこずをそのたた聞いお䜜ったずいうものも倚くお、 党䜓最適が取れおいない ずいう課題もありたす」ず匊瀟・平山も話したす。 倚くの店舗に共通する課題を本質的に解決しおいくこずが倧切 X-Tech では、むンタヌネットサヌビスにより倧きな倉化がおこる分、これたで䜿い慣れおいないサヌビスだけに、様々な改善芁望が入るこずも少なくありたせん。 「実際にサヌビスを䜿っお頂いおいる飲食店から様々な芁望を頂くのですが、匊瀟は䞀切カスタマむズをしない、ずいうスタンスをずっおいたす。飲食店の䟡栌やタむプは様々だけど、突き詰めるず実は課題は共通しおいたりする。ヒアリングしながら、 本質的な課題を芋぀けお、解決策を提䟛する ようにしおいたす」ず、予玄/顧客管理サヌビス「 トレタ 」を提䟛するトレタ・増井さん。 これは医療でも同様で「レガシヌな業界だず、医垫のいう通りにプロダクトを䜜るこずに埓うなどの関係性も生たれやすいずいう状況はありたす。でもそこは、 専門分野が違う察等な存圚ず捉えお、プラむドを持っお議論をできるこずが倧切 ですよね」ず平山も答えたす。 X-Tech で掻躍できる゚ンゞニアは CTO 察談ずいうこずもあり、話は「X-Tech を支える組織䜜り」に。 䌚瀟で働く゚ンゞニアの特城や求められるものを聞かれるず、 「飲食経隓者が倚いわけではないのですが、食べるのが奜きな人は倚い。瀟員同士で食事に行くこずも倚く、たたに゚ンゲル蚈数倧䞈倫かなず思いたす笑。スタヌトアップだからこそ、求められる圹割が固定されず日々倉わっおいたす。有機的に倉わるこずに抵抗感がないこずが倧切ですね」ず、増井さん。 䞭出さんも「たしかに、䞖の䞭の課題解決ぞのモチベヌションが匷いず思う」ずこれに同意。さらに平山も「 プロダクトに誇りを持っおいる人が倚い ですよね」ず続けたした。 X-Tech ならではの開発チヌムっお 最埌に、組織づくりや採甚で気を぀けおいるこずには、各瀟こんな回答がありたした。 「マネヌフォワヌドでは、プロダクトごずにチヌムを組んでいお、 スモヌルチヌムで運営するこずを心がけおいたす 。技術遞定も含めお、そのチヌムが䜿うべきず刀断したらいいず。共有化も倧切ですが、それが足かせになるこずもある。私が CTO になっおから、そういうものは最䜎限に敎理したした。」 䞭出さん 「採甚はずっず頑匵っおいるけど、ずっず足りおいたせん。もずもず経隓的にシニア〜ミドル局を採甚したいず考えおいたしたが、珟圚はゞュニアたで幅を広げおいたす。ただ、スタヌトアップでは残念ながられロからプログラムを教える䜙裕はないこずが倚い。だからこそ” 僕らが䜕を䞎えられるのか”をすごく考えおいたす 。技術やビゞネスマナヌのむロハは十分に教えられないけれど、業界や技術の面癜さはトレタだからこそ䞎えられるこずがあるず思う。」増井さん 「今メドレヌぱンゞニアずデザむナヌ、ディレクタヌ、医垫で 30 人くらいの開発チヌムですが、 職皮間の隙間をなくすこずを培底しおいたす 。iOS ゚ンゞニア、サヌバサむド、フロント゚ンド、ず担圓を分けるこずで情報断絶が起きる。ミッションによっお人をアサむンし、職皮を暪断しお取り組める環境を䜜っおいたす」平山 最埌に平山は「X-Tech は Web ゚ンゞニアのものず思われがちですが、toB 向けに広く展開しおいるプロダクトが倚く、デブサミの参加者に倚いようなSIer 系の゚ンゞニアの方にも近しい匂いを感じおもらえる䞖界だず思う。ぜひ次のキャリアずしお、むンタヌネットの䌚瀟も遞択肢にあるんだずいうのを思っおいただけるず嬉しいです」ず力匷くコメントしお、セッションを締めたした。 2 月には「 日経 xTECH 」が創刊されるなど、たすたす泚目の X-Tech 分野。 どんなこずができる業界なのか、メドレヌはどんなビゞョンに向けお動いおいるのかなど、もっず話を聞いおみたいずいう方は、ぜひご連絡ください www.wantedly.com
アバタヌ