、ひとりあたり 税込9800円 の バスツアー 「富岡製糸場とイチゴ狩り&ツルシコ水沢うどん」 に行ってきました。
続きを読む 富岡製糸場とイチゴ狩り&ツルシコ水沢うどんツアーKenji のすべての投稿
会議でしゃべらない人の巻き込み方
会議ではしゃべらない人がよく出てきます(全員意見を言う職場はとてもいい職場だと思います)。 そういった人に意見を言ってもらう方法をいくつか紹介します。 (アイスブレイクは全体的なものなので省きます。)
前提
会議の目的を明確にするなど、基本的な準備はできているものとします。 何人かは発言しているのだけど、1、2人ほど発言しない人がいる状況を想定します。
(全然まともな意見が出てこないという状況は、会議の準備含む進行に問題があることが多いです。)
なぜ意見を言ってほしいのか
意見を言わない人がいるとどんなことが起きるでしょうか。
- 後から「本当はXXがいいと思っていたのに」と言われる。
- 全員の合意がとれないのでどこかに歪みが出てきて最適化が進まない。
簡単にいうと、会議の存在意義が崩れるということだと私は考えています。
まずは会議の人数を適正にしましょう。 一般的に10人を超えると全員が意見を言うのは難しくなってきます。 私は過去の経験から、6人程度が最適だと考えます。 会議の形式や内容に合わせて考えてみてください。
それではここから 全員に意見を言ってもらうために、意見を言わない人を巻き込むためにどのような方法があるのかを書いていきます。
方法
役割を割り当てる
「実は次の会議で Aさんには XXXといった視点から意見を言っていただきたいのでご参加をおねがいします。」
立場によって言い方は異なりますが、上のようにして”なにをしてほしいのか”をあらかじめ伝えておきます。 このようにすると 意見の出し方、 会議の見方がわかりやすくなり、 意見を言いやすくします。
事前に考えを聞いておく
事前にそのメンバに「XXについてどう思いますか?」と個別に聞いておきます。 すると、もし会議で意見が出なくても「AさんはXYZという考えをお持ちでしたよね。」という切り口で話を広げていけます。
事前課題を与える
なにもないところで考えても拠り所がないので何も出てきません。そこで事前課題を与えます。「XXについて2つ、3つ解決法を考えてきてください。」といった課題を出しておきます。 会議の中では事前に用意した意見をもとに話を深めていくことができます。
事前に資料を読んで準備をするのは当たり前じゃないか、と思うこともありますが、言われないと一切準備をしない人もいるものです。
少人数ワークショップ
人数が多いときに特に有効です。 3人1組にして(または各個人単位で)ポストイットに意見を書いてもらいます。 こうすると、全体の中ではなかなか発言できない人でも意外と意見を書いたりします。 書いてもらったポストイットはホワイトボードに貼るなどして 議論を深めていきます。 ツールの名前でいうと、親和図というのにつながっていきます。
それぞれの意見(または選抜もしくはカテゴライズされた意見)について議論を深めることができるので、なかなか話さない人からも「これってどういうことですか?」というように話を引き出すきっかけを作れます。
ポストイットに書く方法は 3人1組 で話しながら意見を書いていくスタイルもありますし、 各個人で書く時間を作るスタイルもあります。
専門領域のことを聞いてみる
いろんな部署の人が集まっているとします。 そういった場合に「Aさん これはXXXの観点からみるとどうでしょうか。」と聞いてみます。 答えが得られたら「ありがとうございます。なかなかこの専門知識のある人がいないので助かりました」と伝えます。 こうやって参加しない人を巻き込んでいきます。
使える会議の種類は限られてくるかもしれません。
ルールにする
「全員発言する」というルールを作ります。 言えと言われて言えるものではないので効果は薄いと思っているのですが、 ルールにすることで「自分も言わなきゃ」という意識を持たせることができます。
次回に期待
手を尽くしても発言が出てこなかった場合、その人に対して「ちょっと会議での様子が変だったのですが何かありましたか?」と聞いてみます。 言い方に気をつけないと危ないのですが、このようにして会議で発言してほしいという気持ちをソフトに伝える方法です。
「やりがいのある仕事」という幻想
「やりがいのある仕事」という幻想を読みました。仕事に悩んだときにおすすめの本です。
あたりまえのことを 極限まで客観視して書かれた本です。
今の仕事は天職か?
楽しいことを仕事にしたり、仕事をがんばることに意味を見出したり、そういうやり方もあります。 しかし著者はもっと広く考えていました。
仕事が楽しくなければ一体なにが楽しいのか?
ひとつ本書の記述を紹介します。 もっと楽しいことを探してそれを「やる」時間を持つ
、 それもひとつのやり方だと書かれています。
これを読んだからといって、明日から大きく考え方が変わるということもないし、どの職業がいいといったことも書かれていない。 だけれども、 転職したい、 仕事やりたくない、 やりがいのある仕事につきたい、 と思い悩んでいる人には 別の考え方で自分を見直す機会を作るという意味で、 とてもいい本だと思う。
返信を催促するメールの文例
FuelPHP 複数データベースへの migration
FuelPHP で複数データベースへ migration を行うやり方を説明します。 FuelPHP 1.7.2 を想定しています。
FuelPHP では php oil g model item name:string
などのようにすると、 model と migration のためのコードが生成されます。 php oil g scaffold ...
とやった場合にも migration のコードが生成されます。 ここで生成される migration コード に手を加えることで 複数データベースに対応させることができます。
変更前のコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php namespace Fuel\Migrations; class Create_items { public function up() { \DBUtil::create_table('items', array( 'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true, 'unsigned' => true), 'name' => array('constraint' => 255, 'type' => 'varchar'), 'created_at' => array('constraint' => 11, 'type' => 'int', 'null' => true), 'updated_at' => array('constraint' => 11, 'type' => 'int', 'null' => true), ), array('id')); } public function down() { \DBUtil::drop_table('items'); } } |
変更後のコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php namespace Fuel\Migrations; class Create_items { public function up() { \DBUtil::create_table('items', array( 'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true, 'unsigned' => true), 'name' => array('constraint' => 255, 'type' => 'varchar'), 'created_at' => array('constraint' => 11, 'type' => 'int', 'null' => true), 'updated_at' => array('constraint' => 11, 'type' => 'int', 'null' => true), ), array('id'), true, false, null, array(), 'db_config_key'); } public function down() { \DBUtil::drop_table('items', 'db_config_key'); } } |
db_config_key
というのを付け加えました。 このパラメータでデータベースを指定できます。 具体的には config/db.php
内 のキーになります。 たとえば 'default'
なんてのが入ります。 何も指定がなければ 'default'
が採用されます。
このようにして複数データベースに対応させることができます。 migration の コードごとに データベースを書き換えればいいですからね。
Model の コードを活用した書き方
Model を利用してやってみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php namespace FuelMigrations; class Create_items { public function up() { DBUtil::create_table(Model_Item::table(), array( 'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true, 'unsigned' => true), 'name' => array('constraint' => 255, 'type' => 'varchar'), 'created_at' => array('constraint' => 11, 'type' => 'int', 'null' => true), 'updated_at' => array('constraint' => 11, 'type' => 'int', 'null' => true), ), Model_Item::primary_key(), true, false, null, array(), Model_Item::connection()); } public function down() { DBUtil::drop_table(Model_Item::table(), Model_Item::connection()); } } |
Model_Item
が Orm
を使っているという前提の話ですが、 データベースの指定に Model_Item::connection()
を、 テーブルの指定に Model_Item::table()
を、 主キーの指定に Model_Item::primary_key()
を使っています。 このようにすると、 model の中に書いておけば migration のコードを変更しなくても済みます。 (ただし 既存テーブルについて model の テーブル名や $_connection
を変更する場合には注意が必要になります。)