Robot Frameworkで自動受け入れテスト

ギルドワークスさんとパートナーとして一緒にお仕事させていただいています、木目沢(@pilgrim_reds)と申します。

Robot Frameworkの紹介

Robot Frameworkは受け入れテスト、受け入れテスト駆動開発のための、python製の自動テストフレームワークです。

海外では利用されているようですが、日本ではなじみの薄いツールのようなので紹介したいと思います。

特徴は、キーワード駆動です。
「キーワード」と「キーワードの実際の動作」を定義し、テストケースでそのキーワードを組み合わせてテストを実行させます。

また、予めキーワードが実装されたライブラリを使用することができます。
例えば、Selenium2 Web Driverのラッパーである、Selenium2Libraryを使用することでRobot FrameworkでSelenium2 Web Driverを使用できます。

OperatingSystemLibraryを使用するとOSやファイルの操作ができますし、DatabaseLibraryを使用するとデータベースの操作ができます。

他にも、AndroidやiOSのテストツールAppiumのラッパーであるAppiumLibraryや、SSHが利用できるSSHLibrayなど多様なライブラリがあります。詳しくは、ドキュメントを御覧ください。

Robot Frameworkの例

早速、Robot FrameworkとSelenium2Libraryを使用した例をみてみましょう。
インストールはpythonがインストールされていれば、

pip install robotframework-selenium2library

でインストール完了です。

以下はテストファイルです。

*** Settings ***
Documentation  RobotFramework,Selenium2Libraryテスト
Library  Selenium2Library

*** Variables ***
${browser}  firefox
${login_url}  https://◯◯.com/login

*** Test Cases ***

ログイン画面を開く
  ログイン画面を開く

ログインできない
  ユーザーを入力する  user
  パスワードを入力する  no-password
  ログインボタンを押す
  ログインエラーが出力される

ログインできる
  ユーザーを入力する  user
  パスワードを入力する  password
  ログインボタンを押す
  ログイン成功の画面が表示される

[Teardown] Close Browser

*** Keywords ***

ログイン画面を開く
  Open Browser  ${login_url}  ${browser}
  Title Should Be  トップ

ユーザーを入力する  [Arguments]  ${user}
  Input Text  username  ${user}

パスワードを入力する  Arguments]  ${password}
  Input Text  password  ${password}

ログインボタンを押す
  Click Button  login

ログインエラーが出力される
  Wait Until Page Contains  ログイン
  Page Should Contain  ログインIDまたはパスワードに誤りがあります。

ログイン成功の画面が表示される
  Wait Until Page Contains  ログイン成功
  Page Should Contain  ログイン成功

これは普通のテキストファイルです。拡張子も何でも大丈夫です。
上のようなファイルを用意して、

pybot ファイルのパス

で実行できます。ファイルのパスではなく、フォルダを指定するとフォルダ内のテストを全て実行します。

*** Settings ***は使用するライブラリを定義したり、テスト結果(HTMLファイルで出力されます)に表示するドキュメントを定義したりします。

*** Variables ***でテストケースやキーワードで使用できる変数を定義できます。

*** Test Cases ***でテストケースを定義します。タブ分開けて(または空白を2文字以上開けて)定義したテストケースが実行されるキーワードになります。

*** Keywords ***でテストケースで記述したキーワードの定義とその実装を記述します。「Input Text」や「Click Button」などはSelenium2Libraryで定義されているキーワードです。Selenium2Libraryのキーワードは、Selenium2Libraryのキーワード一覧ドキュメントを御覧ください。他のライブラリを使う際もそれぞれ同様のドキュメントが用意されています。
また、キーワードは引数が取れます。キーワードと引数はタブ分開けて(または空白を2文字以上開けて)定義します。

他、注目すべき点を挙げておきます。

  • 日本語が使えます。ファイル名も日本語でOKです。
  • Selenium2Library はfirefox driverを標準で備えています。ただ、Chromeで動かしたい場合は別途ChromeDriverが必要です。
  • 上記は1つのファイルで全部記述していますが、ファイルは分けることが可能です。その場合、*** Settings *** にて参照するファイルを「Resource ファイルのpath」と記述することで読み込むことが可能です。
    Library定義や変数定義用のファイル、各画面ごとのテストケース用ファイル、各画面ごとのキーワード定義ファイル等ファイルを分割するとよいでしょう。

Robot Frameworkのここが便利

  • python製ですが、インストール以外でpython を意識するところはありません。
  • 文法がない。キーワードから必要なものを引用するだけなので学習コストが低いです。
  • ファイル名もテストケースも日本語で自由に書けるのでエンドユーザー向けにも使えるのではないでしょうか。

いかがでしょうか。とにかく、簡単にWebの自動テストが書けてしまうツールですので、ぜひ、試してみてください。

また、長い文字列のテストデータを簡単に作成する方法や、ローカル・ステージング等環境別に実行する方法、JenkinsやCircleCIなどCIツールで実行する方法などのTIPSをまた機会がありましたら紹介したいと思います。

この記事を読んでギルドワークスに興味を持たれた方はお気軽に【ギルドワークスに依頼する】をご覧の上、お問合せください

ワイガヤミーティング-自分達のことを語り合う場-

こんにちは、ギルドワークスの中村 洋です。

先日、全員鎌倉に集まり「ワイガヤミーティング」をやりました。

「ワイガヤ」とは?
立場の相違にかかわらず同じ組織に属する者たちが気軽に「ワイワイガヤガヤ」と話し合うこと。本田技研工業株式会社が提唱した言葉で、仕事・プライベートのどちらでもない職場での多人数による会話のことを指す。同社に限らず日本組織の特徴的なものともされており、仕事の仲間同士で突然発生し、周りの人たちを巻き込み進行する。テーマは会社の人間関係・仕事への不満などから、仕事とまったく関係ない話まで雑多。単なる時間の浪費か、仕事に発展的に役立つものかとの点で見解が分かれている。

コトバンク> 知恵蔵mini

なぜやったのか?

ギルドワークスは普段はリモートワークですが、2、3ヶ月に一度は合宿をやっています。その上でさらに何をやるのか?と思う方もいるかもしれませんが、このワイガヤミーティングでは自分達の話を語ることにしました。

先にあげた合宿では「ギルドワークスの事業どうしていくか?その戦略は?」「ギルドワークスが成し遂げるためにどんなアクションを取るか?」「ギルドワークスらしい新しいサービスは?」などの話がメインで、自分のことを伝え合う時間は(ドラッカー風エクササイズなどをやったものの)あまり取りませんでした

この11月でギルドワークスを立ち上げた時から2倍以上の9人になることもあり、改めて「自分のことについて伝え合う時間」が必要と考えました。

どんなことをやったの?(1日目)

週末の仕事を終えた各々が鎌倉に集結し、美味しい食事とお酒でイイ感じになった雰囲気の中、「お互いに感謝の言葉を伝える」ことをやってみました。

いきなり「みんなに感謝の言葉を言いましょう」といっても出てこないので、ちょっとしたアクティビティに仕立ててやってみました。
※参考:「感謝の言葉を伝える」ワークショップ

それぞれ手元に集まった仲間からの感謝の言葉を嬉しそうに見て、写真に撮ったり、「誰の言葉が一番嬉しいか」などを語り合っていました。
感謝の言葉

日常の現場で(仕事をやることで)「ありがとう」と言われることはあっても、「◯◯さんの△△というところ」に対して「ありがとう」と言ったり、言われることはあまりないことだと思います。
思っている以上に嬉しいものですし、意外な言葉をもらえたりするので、やってみることをオススメします。

どんなことをやったの?(2日目)

2日目は朝早くから鎌倉の宿に集まり、順番にカードを引き、そこに書いているテーマについて(5分程)しゃべるというのをやりました。
#(バラエティ番組の)「ごきげんよう」方式

「一番好きな名言」「今でも忘れない案件でカッとなった出来事」「自分のバイブル」「エモい話」「明日会社がなくなったら何をする?」といったものがテーマとして書かれていて、「そんなことがあったんだ」「そういう考えなんだ」というこれまで知らなかった多くのことを知ることができました。
20151024_113218

ひとしきり話した後は、湘南の海が見える場所で(またごきげんよう方式をやりながら)バーベキューをして、「ワイガヤミーティング」は幕を閉じました。

やったどうだったか?

やって良かった」というのが率直な感想です。

ギルドワークスでは「何をするかも大事だが、誰とするかがもっと大事」という話をしています。
その共に歩み、背中を預ける「誰か」のことを知ることで、より「正しいものを正しくつくる」ことに近づけると感じました。

こんなギルドワークスに興味が湧いた方は「ギルドワークスと組む」などを見ていただき、お気軽にお問い合わせください。

iOS9 アプリ開発でのハマりどころ

どうも、ギルドワークス 前川です。

iOS 9 公開後一月ほどたちましたが、皆さんもうアップデートされているでしょうか?OSのアップデートはワクワクして楽しい半面、やはりアプリのつくり手としては思いもよらない不具合に遭遇したりすることもあるので、なかなか困り者です。

じつは私がiOSアプリ開発をはじめて、初めて本格的なバージョンアップを体験するのがこのタイミングでして、なかなか落とし穴にハマりましたので、色々共有させていただきたいと思います。

ハマりどころ① スプラッシュスクリーンがない場合の表示崩れ

まず最初に、ひどい目にあったのが本案件、スプラッシュスクリーンがない場合の画像崩れでした。

上記Qiita記事にもあるように、iOS9 / XCode7 で起動した場合に、黒帯が出てスクリーンが表示されない、という不具合に遭遇しました。

StackOverflowなども参照した結果、どうやらiOS9よりスプラッシュイメージを適切な画像サイズにするなり、ストーリーボードを指定するなりしないと画面崩れが発生するようになったようでした(画面サイズの検知に起動時の大きさを使うようになった、という情報を見かけました)

スプラッシュスクリーンなどただの飾りと思って油断していました。。。Appleのガイドラインを守らないものに振りかかる神罰、と言った感じですね。

ハマりどころ② Bitcode問題によりiTunes Connect にアプリがアップロードできない

iOS9から新たにAppThiningと呼ばれる、アプリの最適化が導入されました。

その中にBitcodeという項目が有ります。これは、アプリの中間コード(Bitcode)をアプリケーションに埋め込んで提供することで、Appleが各CPU向けの最適化を行ってくれるものです。そしてこの機能はデフォルトでONになっています。

しかしながら、cocoapodsCarthageなどのライブラリツールで外部ライブラリを取り込んでいる場合、そのライブラリがBitCodeオプションを有効化しているか、という問題に突き当たります(そして多くの場合有効化していません)。

この結果、せっかく時間をかけてビルドしたアプリがiTunes Connectで弾かれる、という悲しい自体になります・・・

スクリーンショット 2015-10-21 21.04.31

このように数多くのアプリが弾かれてしまいました。

解決方法は簡単で、Build SettingsEnable Bitcode をFalseにすればOKです。

ただ言うまでもなく、Bitcodeオプションは今後有効になるのが標準となるべきもので、CocoapodsやCarthageでも対応が進んでいます。できるだけ早く、有効にできるようになりたいですね。

ハマりどころ③ システムフォント変更におけるUI崩れ

これは特に英語対応をしている場合の要注意項目となります。

iOS9では、英語システムフォントが Helvetica Neue からSan Francisco に変更となっています。

上記記事から分かる通り、結構サイズもダイナミックに変わる、大きめの変更です。

従って、何も考えずにシステムフォントを指定している場合、OS毎にフォントの横幅が変わり、改行などの文字崩れが起きてしまいます。

カツカツのUI設計をしていると、ここで思わぬ折り返しが発生してしまい、泣くことになってしまいます。。。

最も大切なことはOS更新時期とリリース次期をかぶせないこと

今回の最大の教訓はこれです。OSの更新時期は、こういった思わぬトラブルに加え、AppleStoreの審査待ち渋滞も数多く発生します。ですので、できるだけOSの大型更新時期と、アプリのアップデートは分けるようなリリース計画にすべきですね。(新OS対応の特急申請などは割と通りやすい印象もありますし)

ここは神様に逆らってはいけない世界。色々と智慧をめぐらせ、Appleと賢く付き合っていきましょう。

React Native を試してみる

こんにちは、上野です。
週末開発合宿を行ってきました。
その中で React Native によるアプリ開発にチャレンジしてみました。
一部では既にReactは大変という声もあったりしますが、ネイティブアプリも作成できるツールはあまりないので結構期待しています。
(最近 Androidアプリ も作れるようになりました)

そんなわけで今回は React Native の環境構築について書いてみます。

事前準備

Macでのインストールを前提としています。

  • Xcode
    App Storeから最新版をインストールしましょう。
    Xcode をインストール後 Command Line Tools も入れてください(最新だと自動で入るようです)
  • Homebrew
    まだインストールしていない方は以下のコマンドを実行してください。

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    既にインストール済みの方は以下のコマンドで最新化してください。

    brew update

React Native インストール

まずは Node をインストールしましょう。

brew install node

今回は割愛しますが Node のバージョン管理をしたい方は nodebrew を入れてください。

続いて、Watchmanflow を入れます。

brew install watchman

brew install flow

そして、react-native-cli を入れて完了です。

npm install -g react-native-cli

これで以下のコマンドが使えるようになっているはずです。

react-native

プロジェクトの作成

それではプロジェクトを作成しましょう。

react-native init [プロジェクト名]

実行すると Installing react-native package from npm… と表示され各種ファイルが生成されます。

iOSフォルダ内にある [プロジェクト名].xcodeproj を実行しましょう。
あとはシュミレータを実行するだけです。

スクリーンショット 2015-10-20 23.25.27

init で生成されたものが起動されましたね。

どんなコードかと言うと以下のような形です。
index.ios.js を開いてみましょう。

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 */
'use strict';

var React = require('react-native');
var {
  AppRegistry,
  StyleSheet,
  Text,
  View,
} = React;

var testPj = React.createClass({
  render: function() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit index.ios.js
        </Text>
        <Text style={styles.instructions}>
          Press Cmd+R to reload,{'\n'}
          Cmd+D or shake for dev menu
        </Text>
      </View>
    );
  }
});

var styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});

AppRegistry.registerComponent('testPj', () => testPj);

CSSも入っているのでちょっと長めですが、iOSのアプリ開発を知らなくてもこれをみればなんとなくわかりますよね。

createClass の中を修正して、シュミレータで Command+R をすると更新されます。
ブラウザで開発しているのと同じように開発できて便利ですね。
また、自動で更新するようにも変更が可能です。

いかがだったでしょうか。
React Native を使うとアプリ開発をしたことなかった人でも入りやすいのではないでしょうか。
興味を持たれた方はぜひ試してみてください。

ギルドワークスでも新しいチャレンジができるお仕事のご相談や、新しいチャレンジをしたいエンジニアと出会えることを楽しみにしています。
お気軽にお問い合わせください。

OS X El Capitan の新機能をみる

こんにちは、うえのです。
10月1日に OS X El Capitan がリリースされましたね。
アップル信者なので、早速アップデート(人柱)をしてみましたので、今回は新機能をみてみることにします。

先に言ってしまいますが、一番大きく変わったのはパフォーマンスです。
Yosemite からアップデートした直後に一番インパクトがあったのは軽い・早いという感覚でした。

Split View

スクリーンショット 2015-10-06 0.01.20

いままではフルスクリーンにすることはできたのですが、Split View で2つまで並べて表示することができるようになりました。

最大化?ボタンを長押しし続けるともう1つのウインドウを選択できるモードになるのですが、これが意外とわかりにくいですね。
iPhone 6s シリーズの 3D Touch も忘れがちですが慣れるまでは若干時間がかかりそうですね。

ただこの機能は要するにフルスクリーンを半分ずつできるようになったよみたいな機能なので、1つを解除するともう片方はフルスクリーンモードに戻るみたいな形なのでフルスクリーンと普通のウインドウを行き来するような人にはあまり使い勝手は良くないのではと。
個人的にはおそらく使わない気がします。。。

Mission Control

スクリーンショット 2015-10-06 0.10.20

Mission Control も結構変わっています。
ウインドウの配置位置も同じような位置に表示されたり、スワイプで他のデスクトップに遷移できたりと使い勝手が向上しています。
Yosemiteでは上部のデスクトップは常に表示された状態でしたが、El Capitanでは初期は文字だけにしてスペースを確保している感じでしょうか。

カーソル

写真は撮りにくいのでつけませんが、プロジェクターに接続したりして2画面にしたりするとよくカーソルが迷子になるのですが、カーソルを左右に揺らすとカーソルが大きくなって目立つようになりました。

これも地味に便利な機能ですね。
ただ、結構小刻みに振らないと大きくならないのでこの辺りはもう少し調整できると良さそうかなと。

新しい入力方式

ことえりにライブ変換機能が搭載されました。
どんどん入力していくと自動で変換されていきます。
しかもこの変換が意外と賢いのでこれだけでいけてしまいそうです。

個人的には候補の表示とか自動変換のタイミングがちょっと気持ち悪い感じはしていますが、Google日本語入力におさらばしてもいいかもしれません。

新しいフォント

4つの新しい日本語フォントが追加されました。
クレー、筑紫A丸ゴシック、筑紫B丸ゴシック、游明朝体+36ポかな

プレゼンテーションに個性をとありますが、使うかなはなんとも言えない感じ。。。

Spotlight

スクリーンショット 2015-10-06 0.31.09

今日の天気はみたいな形の自然な言語で結果を取得することができるようになりました。
六本木の今日の天気はとかでは出てこなかったの日本語はまだまだかな?

その他

他にもメモが強化されていたり、
全く使っていませんがメールはスワイプで削除できたり、
Safariはピンを使えるようになったりもしているみたいです。

アップデートしてみて

使えなくなるアプリとかがないか結構ヒヤヒヤしていましたが、今の所大きな問題点はありません。

唯一あったのは、開発中のサービスで Ruby の Puma というGEMを入れようとしたらエラーになりましたが、回避策がありました。

一応回避策をここにも記載しておきます。

gem install puma -v 2.13.4 — –with-opt-dir=/usr/local/opt/openssl

新しいOSが出ることによって新しいUIが出てきたりと新たな体験が増えることでいろんなチャレンジができるようになりますね。

ギルドワークスでも新しいチャレンジができるお仕事のご相談や、新しいチャレンジをしたいエンジニアと出会えることを楽しみにしています。
お気軽にお問い合わせください。

リモートワークなのに時間がないってどういうこと?

ギルドワークスさんとパートナーとして一緒にお仕事させていただいています、木目沢(@pilgrim_reds)と申します。

ギルドワークスさんの特徴の一つに「リモートワークが可能」というのがあり、私自身もリモートワークで普段お世話になっています。作業場所は主に自宅です。

自宅で仕事していると言うと大抵、「誘惑が多くて大変じゃない?」と聞かれますが、あまりテレビ見る習慣もなく、ゲームもしないし、漫画もあまり持っていないので誘惑に負けてというのは幸いあまりありません。

むしろ、大変なのは「時間がない」ということでしょうか?
なんていうと、「通勤もないし時間なんてたっぷりあるでしょ!」と突っ込まれそうですが、実はリモートワーク特有(?)の「時間がない」問題というのがあるのです。

今回はこの問題について、『いつも「時間がない」あなたに:欠乏の行動経済学』という本を引用しつつ紹介したいと思います。

トンネリング

どこで仕事をしても当然、仕事量は変わりません。
むしろ、通勤がない分その時間まで仕事にまわせてしまうという状況も作れてしまいます。
仕事に遅れが生じれば当然、空いた時間も使って集中して取り組む必要があります。

このような時間がない状態のとき、「トンネリング」という現象が起きると上記の本では解説されています。

「トンネリング」とは時間がないなか一つのことに集中しすぎて、他のことが見えなくなる現象のことです。
会社は仕事のみをする場なのでトンネリングが起こっても問題になりにくいですが、家でトンネリングが起きると生活に多大な影響が起きます。

家で仕事をする場合と会社と仕事をする場合の一番の違いは、「生活と仕事が隣りあわせ」なことです。

そんななかトンネリングが起きると、家事をしなくなる、食事をしなくなる、深夜まで仕事してる、家族の話を聞かなくなる、部屋に引きこもる、運動しなくなる、ものを片付けなくなる・・・などなど大変な状況になります。一日家にいるのにこんな状況なかなか厳しいと思いませんか?

ジャグリング

問題はもう一つ。

トンネリングが続くと、先送りにした仕事以外のことは積み重なったり、その場しのぎで緊急に片つけた問題が、別の新しい問題を産んだりしてさらに時間がない状態になるのです。

例を挙げると、仕事に集中してお風呂を沸かすのを忘れてしまい、深夜になってトンネルから抜け出したときにやっと気付きお風呂を沸かす。そのあとお風呂に入って寝る頃にはすでにド深夜。
結果、次の日は寝不足で、パフォーマンスも落ち、失敗続きでさらに時間がなくなっていく・・・
という具合です。

緊急の課題を次から次へとなんとかやりくりしていく様子からこのことを本書ではジャグリングと読んでいます。

解決するには

本書ではこれらの問題を解決すべくいろいろな提案をしてくれています。
今回はこのなかから2つほど紹介しましょう。

トンネルの中に入れる
健康のためにジョギングの習慣を取り入れたいけど、トンネリングが続くと他のことに押しのけられ、やらなくなる。
そこでマラソン大会に申し込む。締め切りができたことで走る必要性が生まれるのでトンネルの中に入ることになり、やらざるを得なくなる。

「何もしない」という予定を入れる
時間が欠乏すると突然割り込んできた課題に対応できない。そしてさらにトンネリングにはまっていく。。。ということを防ぐため予め「何もしない」という予定をいれておく。

などなど、他にもこの本にはリモートワークのための本ではない(行動経済学という学問の本です)のですが、役に立つ情報が多く紹介されています。

リモートワークをされているみなさんにおすすめの一冊です。

この記事を読んでギルドワークスに興味を持たれた方はお気軽に【ギルドワークスに依頼する】をご覧の上、お問合せください

コーチの道具箱 その1

ギルドワークス 前川です。

本日は、私がいろんな現場にコーチとして出向く際に必ず持っていくある道具についてお話ししようと思います。

それは、ホワイトボードマーカーです。私のカバンには、少なくとも4色(赤青緑黒)のホワイトボードマーカーを入れるようにしています。

いったい何でそんなかさばるものを持ち歩いてるのか、ちょっと説明したいと思います。

大前提: ホワイトボードを制する物は議論を制す

ホワイトボードがあるのに、そこに何も書かれない会議というのは、基本的には議論が空回りする空中戦となります。ただ、そこでホワイトボードの前に立つのは結構勇気がいるもので、遠慮する方も多いです。

なので、現場コーチをしていると、ホワイトボードを書くということが非常に多いのです。

理由① たいていのホワイトボードマーカーはインクが切れている or 薄い

そんなとき、さぁ板書しよう!と思って手にとったホワイトボードマーカーは、3割位の確率でかけず、8割位の確率で色が薄いのです。

もちろん、お願いすれば新しいマーカーが出てくることは多いのですが、そのやり取りの間議論を止めてしまうのも、、、となります。

そんなとき、カバンからさっと書けるホワイトボードが出てくると、非常にやりやすいんですよね。

理由② 会社のホワイトボードマーカーの品質が悪い

さて、仮に書けるホワイトボードマーカーが出てきたとしても、残念ながらその品質が悪いことが多いです。品質が悪いとは・・・

  1. すぐに書けなくなる(インクのノリが悪い)
  2. 綺麗に消せない
  3. 芯がフニャフニャで書きにくい

というあたりがネックとなります。残念ながら100均などで売られているお買い得なマーカーはイマイチなことが多いですね・・・

なので、自分のお気に入りのマーカーを持っておくことが必要です。私のお気に入りはシャチハタの「潤芯」です。4本まとまったボックスがあるのと、その名の通り乾燥に非常に強くて書き味が良いのがポイントです。

理由③ アイスブレイクになる

そして実は、カバンからホワイトボードを取り出して、4色をバッと持つと、おお!という雰囲気になります。

IMG_0352

あんまり普通の人はカバンにホワイトボードマーカーは入れていませんので、これだけで、最初に「コーチってこんな人なんだ」という最初の一歩を踏み出せるんですよね。そういう意味でも、特に最初に出向く現場には、必ず持っていくようにしています。

私にホワイトボードマーカーと一緒に現場をサポートして欲しい方は、是非お問い合わせください

心の中に火をつけよう!

かわせです。

雨の日が続いてますが、皆さんお元気でしょうか?

かわせは、熱く燃えております。

私の仕事は何か。それを表す「肩書き」がまだ決まっていなかったのですが、
その道のプロに相談しまして、自分の中に秘めていた言葉を引き出していただきました。

その結果、見つかった肩書きが「ビジネス界の松岡修造」です。

「熱くなれよ!」で、有名な松岡修造さんにあやかって、
(氏を説明する必要はもはやないですよね。)この道を極めて行こうと心に決めました。

なぜ?そう思ったのか。

普段、メンター・ティーチングアシスタント・コーチなど
さまざまな呼び名で現場に入っていますが、言葉の意味を紐解いてみても、
現場ごとに主催側から期待される「私の価値」は、様々です。

それらの期待にお応えすることはもちろん重要なことなのですが、
私が最も力を入れてきたことは「前進しようとはしている。」
だけど、「いまいち踏み込めない。」そんなチームに伴走し、
結果を共に追い求める中で、奮い立ってもらおうということでした。

「奮い立つ」という言葉を使いましたが、現場に必要なコトは、
知識よりもアイディアよりも、「もっと熱くなろう。」という思いの部分こそ
最も必要なんだということが過去を振り返ってみるととても多く、
ビジネス界の松岡修造さんというフレーズには「ピン」と来るものがあったのです。

意識をはじめて変わったこと。

自分の中の「松岡修造」さんを意識して、
現場に入ってみたところ、早速、よい感触が掴めはじめています。

まず。効果が見えてきたのは私自身でした。
普段、何気に隠すこともある「熱い心」を蓋する部分が
開けやすくなったようで、自然と力が入るのです。

次に、現場で効果が見えてきました。

普段は関係性を十分構築できてから「熱くなる」ことが
とても多かったのですが、私が熱くなることで、現場の人が着火する感じ
「ノって来る感じ」が、いつもよりはやくなる。という経験も出来ました。

今後、やっていくこと

今のスタンスで本当によいのか、まだまだ、わからないところはあります。
ただ、この「仮説」が正しいものなのか、さらに現場でトライすることで結果は見えてくるはず。
「心の中に火をつける」、そんなことを本気で考えた暑苦い自分を、
現場でもっともっと出して行こうと思います。

機会は多ければ多いほど良いので、
今、チームに必要なことはそれなんだよ!是非、気持ちに火をつけて欲しい。
そう思われた方は、是非、ご相談ください!!

(追伸)
こんな熱さに燃えている私なので、現場に突然ラケットを持って現れても驚かないでください。
(本人、至って本気ですから!)

ギャップ萌えとインターフェース

こんにちは、ギルドワークスの藤田です。

このところデレステにはまりすぎて「これが”じゃぶじゃぶ課金したくなるような射幸心を煽りまくる”ってやつか…!」と、先人の名言を思い出しながら、ひたすら課金する毎日です。

さて、そんなわけで、先だって、8月の最終週にギルドワークスでは、「ギルドミートアップ!」と題しまして、3日連続でミートアップを開催いたしました。
もっと気軽にギルドワークスの取り組みや、考えていることをお伝えしたり、また、参加者の皆さんから、もっとざっくばらんに現場の課題や相談に乗ることのできる場がもてたら、との思いからミートアップという形式で行いました。

今回は現場コーチ、サイト設計、サービス企画の3つがテーマで、私が担当したのは、「サイト設計」です。
「正しいものを正しくつくる」ことは、ギルドワークスのコンセプトとして掲げられ、我々も実行してきたと自負しているのですが、「正しくつくられたもの」を顧客に届けるために、使われるために、どのような取り組みをすべきかについても考えてきました。
そこで、サイト設計ミートアップでは、「”つたえる”ための、ユーザーの体験のプロセス上にあるインターフェースとしての”ふるまい”」について、お話しいたしました。

セミナー形式でお話ししたあと、ギルドワークスのコーポレートサイトをネタに、即興サイト設計ワークショップを行うという、力技で押した感がありつつも、参加された皆様からの鋭いつっこみや、そこから派生した議論のおかげで、お話しした私自身も、学びの多い時間となりました。

ギャップ萌えとインターフェース

20150826_GuildMeetUp-8
20150826_GuildMeetUp-9

清楚な美人が吉牛で紅生姜を山盛りにしてかっくらっていたり…しっかりしてそうなのにしょっちゅう電柱にぶつかったり……
「人」のギャップは、ときめく、萌える要素があるかもしれませんが(私自身はギャップ萌えはそうでもないです)、インターフェースにおいては、こうしたギャップはある意味悪手です。

20150826_GuildMeetUp-10

なぜなら、人が接するサイトなり、アプリケーションなりのインターフェースは、ユーザーにとっては、体験を実現するための媒体として扱われるもののため、その”ふるまい”と、”ふるまい”によって得られるものに齟齬があってはならないのです。
インターフェースという”ふるまい”は、その”つたえるべき内実”を、できるだけスムーズに、その体験とプロセスにふさわしくあるものでなければならないと考えます。

なぜなら、ユーザーにとっては、サイトやアプリケーションそれ自体に価値があるのではなく、それを経由したその先、または、それを含めた全体の体験のプロセスに価値があるためです(なお、ビジュアルデザイナーがデザインを制作する際に、「トーン&マナー」をまず設定するのも、この”ふるまい”の方針をトーン&マナーとして見立てないと、ビジュアルという「見た目」と「それを通して得る体験」によるズレが生じるためでもあります)。

「いかにして何をどうつたえるか」というコンテンツに拠った視点

ウェブサイト・アプリケーションの情報設計は、ともすれば、「構造化する」「導線を最適化する」ことにフォーカスをあてられてしまいがちですが、情報はユーザーの体験のプロセス(しばしば、時間の流れをともなう)の中でこそ扱われるため、その時間の流れの中で、どのようなタッチポイントで、どのようなアプローチで、何をつたえるか、という視点によってなされているものだと、把握しています。

「射幸心を煽る」というのも、表現として倫理的な是非はあるにせよ、実はものすごくユーザーの体験に視座をおいたものではないかと思っています。「情報の構造化」という観点だけでは、ユーザーがどのように動くか、どのように心を動かされるのか、よりよい体験を得るために何が必要なのか、というところまでは、カバーできないからです(私がデレステに課金しているのも、アプリにおけるユーザーの体験の研究なのです!)。

この、「いかにしてつたえるか」、という視点によるサイト設計には、「何を」どのようにしてつたえるか、つまり、サイトに含まれる・サイトにて表されるコンテンツがより重要になります。
ユーザーのプロセスによってコンテンツを設計し、情報を構造化し、インタフェースをそれにふさわしくふるまわせることによって、より、ユーザーに近しい、使われるためのサイト、アプリケーションとして形づくっていけるのではないか、と考えています。

「正しいものを正しくつくる」企画や開発だけでなく、それを「つたえ」、よりよい体験へとつなげるサイト設計についても、ぜひご相談ください。
http://guildworks.jp/service/#information_architecture

今後のミートアップの予定

ミートアップについては、今後もまたテーマを絞っての開催を予定しておりますので、ぜひdoorkeeperのギルドワークスグループにご登録ください!
https://guildworks.doorkeeper.jp/

ちなみに、私のプロデューサーIDは882531793です!