株式会社クイックのWebサービス開発blog

HAPPYなサービスプランナー・エンジニア・デザイナーのブログです。

調べものを依頼されたときにちょっと役立つ話

こんにちは、サービスプランナーの
いのっちです。

「○○について調べてくれんか」
「□□について知りたいんや」
と言われた時、どうすればよいでしょう?

ある人は、「えー、そもそも○○って何???」
と動揺してしまうかもしれません。

ある人は、「はい、承知しました!」と
元気に答えて、頭真っ白かもしれません。

ビジネスでは判断に必要な情報を手に入れることはとっても重要です。
そのため、誰かが何とかしなければならないのです。
ここでは、何かしらの施策を実施する判断材料を求められた時の調べものを想定し、
あなたが何とかする人になった時、ちょっと役立つ事をご紹介いたします。

何が知りたいのか知る

打ち合わせの中で依頼を受けたときは、
その「知りたい」が出てきた流れがわかっているので、
何を知って、どのような判断をしたいかを捉えやすい場合が多いですが

顔を合わせた際やメールで、依頼を簡潔な言葉でされると、
なぜそれを知りたいのかが捉えられず、結果、その人が判断に使えるような調査結果を
提供できないような事も発生します。

なるべく、なぜ何を知りたいのか捉えられるように努力しましょう。

〇〇の意味があなたと依頼者でズレていないか

依頼者は○○にあまり詳しくない中で、あなたに依頼しています。
そのため、意味を捉え間違っていたり、捉え方が抽象的だったり、
特定範囲にフォーカスしていたりする場合があります。

○○について依頼者と会話してみましょう。
きっと、○○をどう捉えているか見えてきます。

例)
依頼者「チャットについて知りたいんや」
あなた「チャットというと、ユーザーとのコミュニケ-ション活性化ですか。
あのWebでホワンと窓がでるやつですね」
依頼者「違う違う。社内コミュニケーションの活性化や」

会話でちょっと具体的な話をすることで、
捉え方の粒度やレベル感が見えてくることもあります。

依頼者は何をどう判断したいか(するのか)

依頼者は自分の中で、これを重視するという判断軸をもっていると思いますが、
それが、常に言語化されるとは限りません。

依頼としては表出していないですが、この面は見たいという部分があったりします。
そのような事を意識すると、情報収集の際、収集だけはしておく事ができ、
結果、調査⇒検討⇒調査⇒・・・といったループの段数を減らして早く答えに行きつける場合があります。

そのため、過去、依頼者がどんな点を重視して判断していたかを捉えることは有用です。
このような事は文書化されない事が多いので、依頼者と付き合いが長い人に聞くのが
よいでしょう。

情報をさがす

昨今、流通するデータ量は爆発的に増えていると言われています。
Googleでやみくも検索しても、なかなかお目当ての内容にたどり着けません。

有用な情報はどこにあるのか、当たりをつけられると、調査が捗ります。
ここでは、いくつか私が参照している情報源をご紹介します。

e-Gov

電子政府ポータルサイトです。
統計や白書、政府の研究会・審議会へのリンクがあります。

研究会・審議会で議論された内容は、その後、政策に生かされることが多いです。
PESTを押さえる上で重要ですので、気になる分野があったらウォッチしておきましょう。

www.e-gov.go.jp

専門誌・専門紙

調べたい分野に業界がある場合、専門誌・専門紙があることが多いです。
専門誌・専門紙にはその業界の課題意識がにじみ出ていますので、
3ヵ月~1年分程を目次だけでもいいのでチェックすると、流れや空気がわかってきますのでおすすめです。

私は専門誌・専門紙を探すときは、網羅性が高いFujisan.co.jpを利用しています。
www.fujisan.co.jp

シンクタンク・調査会社の資料

民間会社の調査結果も参考になりますが、
社数が多くチェックするのが大変です。

私が調査する際は、 kezaireport.com で探しています。
ここでは、レポートへのリンクが纏められており、効率的に情報を探すことができます。

www3.keizaireport.com

いかがでしたでしょうか。
今回は、何を依頼されたのかという話と、
デスクリサーチのちょっといい話をしました。
今後もちょっといい話をご紹介してきますので、よろしくお願い致します。

我々はちょっとどころではなく、とんでもなくいいサービスを目指してます!
\\『とんでもなくいいサービスを創りたい』仲間を大募集!! //
919.jp

【スプレッドシート&GAS】毎週日報シートをコピーするのが面倒だったから自動化した

こんにちは、ねこです。
最近スプシばかりいじっているので暇さえあれば(無くても)スクリプトで自動化したがります。

今回はいろんなスプシで使いまわしてるスクリプトのうちのひとつ、「定期的にシートをコピーして先頭に持ってくるスクリプト」を紹介します。
「毎日じゃなくてそんなに手順あるわけじゃないんだけど誰かが定期的にやらないといけないやつ」を自動化しました。
こういうの、ふとした瞬間に面倒くささを感じるんですよね。
そんなモヤッとはコピペスクリプトに任せてしまいましょう。

スクリプトがやってくれること

毎週月曜日に↓の処理を実行してくれます。
speakerdeck.com

導入するときの反応

毎回シートを作ってくれる人に自動化していい?と聞いてみました。

f:id:aimstogeek:20190607143434p:plain:w380
ダブルねこハッピー
とっても嬉しそうですね!やりましょう!!

準備するもの

シート名等に日付を使うのでライブラリにMoment.jsを追加します。
tonari-it.com

実際のスクリプト

function copyNextSprintSheet() {
  var SS = SpreadsheetApp.getActiveSpreadsheet();
  var sheets = SS.getSheets();
  // コピー元(先頭)のシート
  var sourceSheet = sheets[0];

  // コピー後のシート名を作る
  var openDate = Moment.moment();
  var closeDate = Moment.moment().add(4, 'days');
  var nextSheetName = '入力シート_' + openDate.format('MMDD') + '-' + closeDate.format('MMDD');

  if (SS.getSheetByName(nextSheetName) != null) {
    // すでに作られていたらなにもしない
    return;
  }

  // ① シートをコピー
  sourceSheet.copyTo(SS);

  // ② 「(コピー元シート名) のコピー」というシート名になっているのでコピー後のシート名にする
  var sourceSheetName = sourceSheet.getName();
  var copiedSheet = SS.getSheetByName(sourceSheetName + ' のコピー');
  copiedSheet.setName(nextSheetName);

  // ③ 書式はそのままに中身をクリア
  var areaLastRow = SS.getRange('B:B').getLastRow(); // メンバー列(B列)の最後の行を取得する
  copiedSheet.getRange('D6:J' + areaLastRow).clear({contentsOnly: true});

  // ④ D4セル(day1)に開始日を挿入
  copiedSheet.getRange('D4').setValue(openDate.format('YYYY/MM/DD'));
  
  // ⑤ コピー後のシートを一番初めの位置に移動する
  SS.setActiveSheet(copiedSheet);
  SS.moveActiveSheet(1);
}

定期実行の設定

スクリプトを保存したら「編集」>「現在のプロジェクトのトリガー」>「トリガーの追加」で毎週月曜日に上記のスクリプトを実行するように設定します。

f:id:aimstogeek:20190607103050p:plain:w420
スプレッドシートは便利だなあ

これで毎週月曜日にシートをコピーしてくれる人の手間が消えました。やったね!
みなさんもGASをうまく使って良きスプシライフを!


こんな感じでスプシをゴリゴリ使いまくるわたしたちは
\\『明日のはたらくを創る』仲間を募集中です!! //
919.jp

成長のために累積矢面時間を稼ぐという考え方

こんにちは、サービスプランナーのyumeです。
アイドルに憧れすぎて、自分の結婚式でゲストをヲタクにしてアイドルごっこをしてしまうという暴挙に出てしまいました。
反省はしていない。


さて、ちょっと前ですが、「累積矢面時間」についての下記エントリが話題になりました。 note.mu

うちの社内では、「活躍している人って確かにこれが要因になっている感あるよね」的な方向で納得感があるような意見が見られました。

私自身も非常に共感すると同時に、「あぁあれって今思えば矢面時間なのかな」という気づきもあったため、今回はこの矢面時間を稼ぐ方法について思いを馳せます。


※辞書などでは、「矢面に立つ」は「攻撃・批判を受ける立場になる」と説明されますが、私はこの文脈では、広く「責任を持って行動をする」に近いニュアンスで捉えています。
必ずしも、攻撃・批判のケースにとどまらないというか。
例えば、成功したケースでも前面に立って行動していれば、それは矢面に立ったことに含まれると考えています

累積矢面時間がなぜ戦闘力に繋がるか

いまさら解説はいらないと思うのですが、

  • 責任を実感し、やりぬく経験になる
  • 行動した結果のフィードバックが得られる

ということの繰り返し(つまりPDCAを回すこと)によって、決断・行動の精度が高まっていく=戦闘力 ということだと理解しています。

矢面時間を稼ぐ心構え

では、黙っていても矢面時間が稼げるかというと、そうではないから話題になっているわけで。笑
個人的には、そのための心構えが必要ではないかと思っています。

小さい矢面機会を見逃さない

「成長するには矢面時間が必要」ということと、「矢面に立つためには成長(もしくは実績)が必要」ということは、いわゆる鶏が先か卵が先かの状態であり、ジレンマです。

ではどうすればよいかと言うと、身の回りにあるような小さな矢面機会を見逃さず、地道に累積矢面時間を稼ぐ、というのが大事だと思っています。

例:電話対応

新人ビジネスマンの最初の壁である(※個人差があります)「電話対応」業務について。

発信者の名前と用件を聞いて、適切なメンバーにつなぐ。
誰がやっても変わらない仕事と軽視しがちですが、「自ら受話器に手を伸ばし」「会社の代表として電話に出る」人は、短い時間でも確実に矢面に立っています

実際、保留の時間が長くなって、電話が「ピロリロ♪」とか鳴り始めたとき、「うわ〜〜〜待たせてるどうしよ〜〜〜〜」とヒリヒリする感じ、まさに矢面ですよね。

何か用事があって電話をかけてきた相手にとって、「今この瞬間に頼れる人間は自分一人である」という状況の経験は、矢面時間を稼ぐ絶好のチャンスだと考えています。

例:ミーティングの設定やリマインド

これも地味な仕事ですが、次のミーティングが適切に設定されなければ、案件が前に進みません。
つまりそこには責任があり、責任があるということは矢面だと言えます。


もちろん、いきなり大きな案件を担い、矢面時間を一気に稼げるのが一番いいです。
ただ、

  • 矢面時間を稼ぐ方法はそれだけではなく、身の回りにたくさんある。
  • 人から矢面時間を提供されるのを待つ間に、できることはたくさんあるかもしれない。

…ということを伝えたいです。

矢面に立った自覚を正しく持つ

小さい矢面機会って誰もがやったことあるような身近なものですが、
なぜ見逃されがちなのか考えると、「矢面に立ったと自覚しづらい」ということがあるのかなと思います。

そこで大事なのが、大小の矢面機会に直面し、行動した自分を、正しく認識・自覚することかなと考えています。


例えば、、、

  • 「こんな小さなこと自分がやる意味ない」「言われたから仕方なくやっている」と思ってしまっている
  • 自分の考えが採用されたのに、「上司がGOを出したことだから」と自分の影響を軽視している

このようなケースは、個人的に、「せっかく矢面に立ったのに、矢面時間に累積できずに終わってしまう非常にもったいないケース」であり、自分に何ができたかな、自分がいなかったらどうなったかな、ということを正しく認識できたら累積につながると思います。

失敗・成功に関わらず、それをかけがえのない自分の体験として、積み重ねていける人はそれだけで強いです。


メンバーの矢面時間を創出する

逆に、他のメンバーに矢面時間を稼いでほしい、成長してほしい場合は、

  • 矢面機会をたくさん作る
  • 矢面に立った自覚を正しく持ってもらう

ということに尽きるのかなと思います。


「決断の数だけ人は強くなる」という言葉を受けた私の友人が、「私は決断しているのに、全然強くならない」と嘆いていました。

話を聞いてみると、彼女は自分なりの決断を持って上司に提案をしているが、上司がいつもその提案を受け入れてくれず、
納得ができる説明もされないまま、却下されてしまっているような状態だそうです。

めっちゃかわいそう。


ただ、本当に気の毒だとは思うのですが、周りに影響を与えていない時点でそれは決断ではなく、矢面時間にはつながっていないんだろうなと思います。


このように、周りの人間が矢面時間を奪っているケースもあるでしょう。

私自身、自分の持っている細かいタスクについて、
「こんな地味な仕事を他の人にやってもらうのもなぁ…」
と、勝手に判断して後輩に渡さない、ということがありました。本当に悪い癖です。

自分自身は小さな矢面時間の積み重ねで成長したと思っていても、
先輩としては、「どうせなら後輩にビッグな矢面時間を提供したい!」という思いが強くなってしまうのです。

矢面時間は累積で考えるべき、大きいに越したことはないが小さな積み重ねも大事、ということを、他人に対しても求めていきたい今日このごろです。

また、ふりかえりをする、感謝を伝えるなどで、矢面に立った人に適切にフィードバックを送ることも、チーム全体の累積矢面時間を蓄積するために必要なことだと感じました。

まとめ

  • 「小さい規模でも矢面に立つ」「矢面に立った自覚を持つ」の両方を意識することで、累積矢面時間を増やしていけるのではないか
  • 周囲がそれを支援することも重要

まとめると、「何事にも当事者意識を持ち、責任を実感して取り組むことが大事」みたいな至極当たり前のことを言っているようにも思えますが、「累積矢面時間」という言葉がしっくりきたのでお借りして書いてみました。



\\一緒に矢面時間を累積していけるメンバーを募集中です! //
919.jp

【Laravel】Middlewareでルートパラメータチェックする時のテクニック

こんにちは、最近ロードバイクにはまっているぱふゅーむです。
現在チームでは、ロードバイクがブームでこの半年で4人が購入しています。
ただの置物にしちゃっているメンバーが1名いますが笑(たまに座って満足しているそうです、怖いですね。。)

ということで今回はロードバイクのすすめ・・・ではなく LaravelのMiddlewareを使ったちょっとしたテクニックを紹介したいと思います。

Middlewareについて

Middlewareの詳細な説明は今回は割愛します。
詳細を確認したい方はこちらをご覧ください。=> Laravel - ウェブ職人のためのPHPフレームワーク Middleware

ルートパラメータチェックをMiddlewareで行い、ついでに取得した値をリクエストに内包する

ルートパラメータで取得したidが存在するかMiddlewareでチェックしたいケースなどに使えるテクニックです。
Middleware内でfind()したモデルをリクエストに内包することで、 Controllerに渡した後、再度取得する処理を省略することができます。

以下のようなルーティングを設定していたとします。

Route::get('/{hogeId}', 'HogeController@detail')->middleware('ValidatePkMiddleware')
Route::get('/{fugaId}', 'FugaController@detail')->middleware('ValidatePkMiddleware')

Middleware内でidの存在をチェックしたいModelを、配列で定義します。

<php

class ValidatePkMiddleware
{
    /**
     * routeで指定したidの存在を確認し、検索結果をrequestに含める(Controllerで使用可能にする)
     * Controller での参照は xxxId の場合は 「$request->xxx」(Idを取り除いた形式) となる
     * ※ 存在確認が主目的なので、結合などは考慮しない
     *
     * @var array [ routeで指定したKey => 対象Model ]
     */
    private static $validateList = [
        'hogeId' => Hoge::class,
        'fugaId' => Fuga::class,
    ];


上記で定義した配列を使用し、以下のようにルートパラメーターを取得、存在をチェックします。
この例では存在しなかった場合404を投げるようにしています。

存在チェックにexists()を使用せず、find()しているところがミソです。
存在した場合、リクエストに内包し、Controller以下の処理で値を参照できるようにしています。
このようにすることで、各処理でfind()を省略することができます。

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        foreach (self::$validateList as $routeKey => $modelClass) {
            $key = $request->route($routeKey);
            if ($key === null) {
                continue;
            }
            $model = (new $modelClass())->find((int) $key);
            if ($model === null) {
                abort(404, trans('messages.not_found'));
            }
            $requestKey = str_replace('Id', '', $routeKey);
            $request->merge([
                'fromDb' => (object) [$requestKey => $model],
            ]);
        }

        return $next($request);
    }
}

単純ですが、こういったちょっとした工夫の積み重ねで、後の実装が楽になりますよね!


\\『明日のはたらくを創る』仲間を募集中です!! //
919.jp

採用業務はエンジニアリング力を強化する!

最近Netflixオリジナルの『ラブ、デス&ロボット』に
ハマっているhamanokamiです。

そろそろクイック歴も7年目に突入しそうな私なのですが、 去年11月ごろからソフトウェアエンジニアの採用に 本格的に力を割いていました。

やっていたことは、

  • 求人票作成
  • スカウト
  • 面談・面接

です。

やってみての感想ですが、他エンジニアと本業で差をつけたいのであれば、 いちメンバーでも、関われる範囲で積極的に採用業務に携わったほうが 良いと感じました。

エンジニアリングをメインに業務してきた私が、 そう思った理由を書いていきます。

目次

  • なぜ採用業務に携わった方が良いか
  • なぜ採用業務がエンジニアリングに関係があるか
  • まとめ

なぜ採用業務に携わった方が良いか

細かいところを上げるとたくさんあるのですが、 今回は採用業務に携わったほうが良いと思う1番の理由 ひとつに絞りました。

それは、
「採用業務は、事業やプロダクトのことをより知り、考えるきっかけになり、 より適切なエンジニアリングができることにつながる」
からです。

私達エンジニアは、事業・プロダクトの継続的な価値提供の最大化のために、 要件定義、設計、コーディング等を行います。

そのためには、事業・プロダクトを知ることは必須です。

その事業の目的・目標から、 どのようにそれをいつまでに成し遂げるのか、 等を知ることで、 適切なエンジニアリングができます。

事業の目的・目標等を知らないでエンジニアリングをするということは、 個人的には本物のエンジニアではないと思っています。
(自分がそれをできているかと問われると、「うっ」っとなりますが。。。

もちろん時代の流れは早いため、 計画通りにいかないことはわかっていますが、 ざっくりでも構想のないままエンジニアリングをしてしまうと、 どうしてもツギハギのシステムになるため、 継続的に価値の最大化をしようとすると、 足かせになることは目に見えています。

現時点での最適解ではなく、 今後を見通した解を選択することは、 完全ではないにしろ比較的柔軟な設計になる可能性は高くなります。

なぜ採用業務がエンジニアリングに関係があるか

ではなぜ適切なエンジニアリングをするために採用業務が関係してくるのかというと、 採用業務*1は現状の事業課題や今後の展望を考えて業務をするため、 必然的に「事業やプロダクトのことをより知り、考える」ことを やらなければいけないからです。

例えば、スカウトをうつときには、 相手がイメージできる具体的な課題を提示し、 それを解決するためにうちに来てほしいと メッセージを送ります。

その「イメージできる具体的な課題」は、 現状の事業課題や今後の展望を、 相手に伝わるように表現をしないといけないため、 それらを正しく理解する必要があります。
その過程で「事業やプロダクトのことをより知り、考える」ため、 意識をしなくとも習慣に組み込まれます。


また、技術選定と採用は密接に結びついています。

その技術が解決したい課題に対して適切かだけでなく、
「現状その技術を使用できる人は市場にどれくらいいるか」
「今後はどうなりそうなのか」
「自社にその技術を扱えるエンジニアを採用できる強み(魅力)はあるか」
「なければ強みはつくれるのか」
など、継続的に価値の最大化をしていくには、 採用も視野に入れて技術選定をする必要があります。

よって、適切にエンジニアリングをするには、 採用は必要不可欠な要素なのです。

まとめ

一見採用業務はエンジニアのメイン業務とは関係ないように見えますが、 採用業務は、事業・プロダクトをつくっていくための一貫なので、 その業務で行ったことはすべてメイン業務に還元されます。

むしろ採用業務を行うことで、視野が広がり、 より良いエンジニアリングを行うことができます。

なのでエンジニアリングレベルを上げたいエンジニアは、 どんどん採用業務に関わってみてはどうでしょうか?


それでは良いエンジニアリングライフを!


\\『明日のはたらくを創る』仲間を募集中です!! //
919.jp

*1:採用は人事戦略の一部なので、本来は人事戦略からの採用戦略ですが、採用はメンバーレベルでも関わりやすいところなので採用を対象としています

【Googleスプレッドシート】GASでオリジナルのフィルタを作る方法

令和最初のブログ更新を担当します!sanamekoです!

突然ですが、職場内や仲間内でGoogleスプレッドシートを使っているときに、フィルタリテラシーで困ったこと、ありませんか??

フィルタリテラシー問題

Googleスプレッドシートでは、同時に複数人が閲覧・編集をすることができますが、迂闊にフィルターをかけると、ほかの人の表示画面にもフィルタがかかってしまいます。

そんなときのために、Googleスプレッドシートには「フィルタ表示」という便利な機能が用意されています。
ご存知の方も多いと思いますが、個人用フィルタを作成することで、ほかの人の表示に影響を与えずに済む・・・という優れものです。

但し、今までExcelをメインで使ってきた方に「これからはフィルタ表示機能を使ってね」と案内しても、なかなかこの機能を理解してくれなかったりします。
だいたい2パターンに分かれます。

  1. よく分からずやっぱり通常のフィルタを使うひと
    • フィルタを解除しないままシートを閉じる
    • 次に使うひとがちょっとイラッとしながらフィルターを解除する
  2. よく分からないけどフィルタ表示機能を使ってみるひと
    • ほかの人が設定したフィルタを無自覚に編集しちゃう
    • 個人用フィルタを設定したひとが発狂する

2のパターンが多いときは、被害が拡大する前に、フィルタ表示機能を使ってもらうのを早々に諦めたほうがいいかもしれません。
Googleスプレッドシートが浸透し、フィルタリテラシーが向上するまで待ちましょう。

フィルタ表示機能を使わない場合、通常のフィルタ機能を使ってもらうことになります。
そんなときに、次に使うひとのイライラを少しだけなくす(かもしれない)、GASでオリジナルフィルタを作る方法をご紹介します。

GASでオリジナルのフィルタを作る

具体的には、スプレッドシートに「フィルタ」というメニューを新しく追加し、特定の条件のフィルターを作成する、という方法です。
ほかの人が無造作にかけたフィルタをワンクリックで全て解除したりできます。

f:id:aimstogeek:20190508110425j:plain
こんな感じです

サンプルとして、お客様アンケートの回答をGoogleスプレッドシートにまとめたデータを準備しました。

f:id:aimstogeek:20190508110427j:plain
お客様アンケートの回答一覧

このスプレッドシートに、2つのフィルタ条件を作成します。

  • F列の満足度(満足/やや満足/普通/やや不満/不満)を、「不満」と「やや不満」のみに絞る。
  • 全フィルターを解除する

作り方

まず、メニューより、ツール > スクリプトエディタ を押下。
メニュー「フィルタ」を追加し、そのメニューに各条件を作成するスクリプトを記述します。

function onOpen() {
  var ui = SpreadsheetApp.getUi();          
  var menu = ui.createMenu('フィルタ');  // 追加したいメニュー名を記述
  menu.addItem('不満/やや不満のみ', 'onClickItem1');   // 追加したいアイテム名を記述
  menu.addItem('全フィルタ解除', 'onClickItem2');   // 追加したいアイテム名を記述
  menu.addToUi(); 
}

続いて、各アイテム(条件)をクリックしたときの動きを記述します。
※「○○のみに絞る」という条件は設定できないため、「不満/やや不満に絞る」ではなく「満足/やや満足/普通を除く」という設定をします。

/*F列から「満足/やや満足/普通」を除く)*/
function onClickItem1() {
  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var sh = ss.getActiveSheet(); 
  var criteria = SpreadsheetApp.newFilterCriteria()
    .setHiddenValues(['満足','やや満足','普通'])
    .build();
  sh.getFilter().setColumnFilterCriteria(6, criteria);
}

/*全ての列のフィルタを解除する*/
function onClickItem2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet(); 
  var sh = ss.getActiveSheet(); 
  sh.getFilter().removeColumnFilterCriteria(2);  // B列のフィルタを解除
  sh.getFilter().removeColumnFilterCriteria(3);  // C列のフィルタを解除
  sh.getFilter().removeColumnFilterCriteria(4);  // D列のフィルタを解除
  sh.getFilter().removeColumnFilterCriteria(5);  // E列のフィルタを解除
  sh.getFilter().removeColumnFilterCriteria(6);  // F列のフィルタを解除
}

これで完了です。
スクリプトを保存してスプレッドシートを開きなおすと、メニューに「フィルタ」が追加されているので、アイテムをクリックして、動作を確認してみてください。

最後に

フィルタ全解除を設定しておけば、ぐちゃぐちゃとフィルタがかかっていてもワンクリックで解除できますし、
よく使う条件を設定しておけば、毎回複数列のフィルタをかける手間を省くことができます。

フィルタリテラシー問題の根本解決は難しいですが、この方法で少しでも快適なスプシライフになれば幸いです!


\\『明日のはたらくを創る』仲間を募集中です!! //
919.jp

全員にリーダーシップを求めたい!~チームのパフォーマンスを最大化するために~

平成最後のブログ更新を担当します!"持っている"nakayanです!

シニアマネージャーとしてチームビルディングについてずーっと考えているので、今回は「リーダーシップ」を中心に自分の考えや思いを書いてみたいと思います。

リーダーシップとは

「チームの目的・目標を達成するために周りに影響を与える力」だと思っています。
つまり、チームが目的達成へと前進することに対して自発的に行動しているのであれば、それはリーダーシップです。

本当はほとんどの人がリーダーシップを持っているんじゃないかなと思っています。
ただなぜか、「自分はリーダータイプではない、リーダーシップはない」と決めつけている気がします。
必ずしもみんなをグイグイ引っ張って「俺について来い!」みたいなものだけがリーダーシップではないのに。なにかイメージがついてしまっているんでしょうか。

気をつけたいのは、自発的に行動している人であっても、チームのためではなく自分のために行動しているのであれば、それはリーダーシップではありません。
ひとりで何かをやっている場合は別に問題ないんですけどね。当たり前ですが。

ということは、「チーム」という状態においてリーダーシップが重要だということになります。
では、「チーム」って一体何なんでしょうか?

チームとは

普段から「チーム」とか「チームワーク」とよく言いますが、本当の意味での「チーム」を改めて確認してみます。
※「チームビルディング」とは言うけれど、「グループビルディング」は聞いたことないんですよね。

チームとグループの違い

それぞれの意味を辞書で調べてみると・・・ (出典:デジタル大辞泉

チーム

ある目的のために協力して行動するグループ。組。スポーツや共同作業についていわれる。

グループ

1 仲間。集団。
2 共通の性質で分類した、人や物の一団。群。
3 同系列に属する組織。

とあります。

チームの説明の中に「グループ」って言葉が入っちゃってますが(笑)、大きな違いは "目的" があるかどうかです。 グループは、似た性質や共通点によって人が集まっている状態ですね。 一方でチームは、目的達成のために協力して行動する人の集まりです。

ではチームのパフォーマンス向上のために何が必要かというと、その大きな要素の一つがここ数年で一気に浸透した「心理的安全性」ですね。

心理的安全性とは

チームメンバーひとり一人が、チームに対して「安心して発言できる」、「自分自身をさらけ出せる」、と感じられる状態や雰囲気のことです。 jinjibu.jp

ただし、「心理的安全性が担保されている」=「仲良しこよし」ではないということをしっかりと認識していないといけません。
もちろん仲が良いに越したことはないのですが、雰囲気を壊さないために衝突せず、「いいこと」「楽しいこと」のみ共有して、厳しい指摘や意見のぶつけ合いがないというのはただの「ぬるま湯」です。
これは心理的安全性とは似て非なるものです。

なぜなら、チームとは目的を達成するためにあるので、厳しいことを言わないといけない場面や、意見が衝突することもあるはずです。
それができる状態というのは、お互いを認め合って、信頼しリスペクトしている状態だと思います。
これによって、チームのパフォーマンスが向上していきます。

伝え方に配慮は必要だと思いますが、チームとして成果を上げるために正しいと思ったのであれば、意見を言う(ぶつける)ことに遠慮は必要ないと思っています。

メンバー全員にリーダーシップを持っていて欲しい

では、こういうチームのメンバーに求められるものが何かというと、冒頭で書いた「リーダーシップ」だと考えています。

目的を達成するために、チームの中で「今自分に何ができるか」を主体的に考えて自発的に行動する。
そして、心理的安全性の本質と重要性を理解し、体現する。
そんなメンバーの集まりであるために、全員にリーダーシップを持っていて欲しいです。

また、リーダーシップに対してフォロワーシップやメンバーシップといった言葉もありますが、個人的には、リーダーシップを持っている人がフォロワーとしてもメンバーとしても良いパフォーマンスを発揮すると思っています。
これは、その時々で「役割・立場としてのリーダー」が変わって自分がメンバーになったとしても、リーダーをサポートするのはどういうことなのかを考えて行動できるからです。 (参考:フォロワーシップ - Wikipedia

例えば、飲み会とかイベントの幹事をやったことがある人はその大変さを理解しているので、参加者側になったときにはちゃんと出欠の連絡はするし、簡単にドタキャンなんてしないはずです。
そこには、参加者としての当事者意識(リーダーシップ)があると捉えています。

リーダーシップを身につけたいなら飲み会の幹事をやればいいと思います。(笑)
新人が幹事をやらなければいけないとかは思わないですが、リーダーシップを身につけるための経験という意味では積極的に幹事をやるべきです。

リーダーシップは、本を読んだり勉強したりして身につくものではないので、どれだけ経験を積めるかで決まります。
学生時代から何かしらのリーダー経験をしてきた人は、自然とリーダーシップ・フォロワーシップ・メンバーシップが身についていると思います。

これについては、いろいろな方がとてもわかりやすくまとめてくださっているので、ぜひそれぞれの記事を読んでいただければと思います。 tunag.jp chikirin.hatenablog.com scienceshift.jp

まとめ

  • チームとは、目的達成のために協力して行動する人の集まりである。
  • チームのパフォーマンスを向上させるためには「心理的安全性」が重要。
  • 心理的安全性とは、ただの "仲良しグループ" 、"ぬるま湯" な状態ではない。
  • 心理的安全性を担保できるチームは、全員にリーダーシップが必要(だと思う)。
  • リーダーシップを身につけるには、読書や勉強ではなくリーダー体験を通して学ぶしかない。

全員がリーダーシップを持ち、チームの目的達成に向けて個人とチームが成長しながらパフォーマンスを最大化させる、そんな最高のチームをつくりたい!! です!!!!

一緒にチームビルディングやっていきたい!っていう方、お待ちしています!!


\\『明日のはたらくを創る』仲間を募集中です!! //
919.jp