工程師如何避免被客戶凹爆:如何比較順暢地進行接案工作?
- Talk at QSearch
關於我
- 自由工作者
- https://memes.tw
- https://codelove.tw
今天要解決兩個問題
為什麼越做越累
為什麼很難估時
1. 如何跟客戶溝通/如何拒絕客戶的要求
2. 談判以及紅色警報
3. Customized vs. Configurable Solutions
4. 服務產品化 Productized Services
如何跟客戶溝通/如何拒絕客戶的要求?
沒有技術上做不到的事情,但不能通通答應
客戶在想什麼
設身處地,如果你是甲方?
如何幫助客戶?
通通轉換成時間成本、金錢成本
客戶最害怕什麼?
講得晚了,就變得不行了
講得晚了,就被你拿捏了
心法
- 抓好 buffer
- 想清楚底線
- 給出解決方案建議
- 說明未來的可行性
專業地砍規格的方法?
提早交付,留給對方最終決定權
不要當下立刻答應
- 我評估一下,晚點給你答覆
- 應該可以,我跟PM討論一下
建立互信
累績經驗
建立話術包
談判以及紅色警報
有些人不是來交朋友的
越想越不對勁...
- 不愉快的工作經驗
- 強迫推銷的場合
叫你去騙大學生、腦波弱、好凹的、老實人,不難吧?
Let's practice...
- 提出開放性問題
- 鏡像模仿
- 公平炸彈
- 消耗你的意志力
- 誘導你就範
- 他是想討論 還是搞定我
- 我不是已經拒絕了嗎
- 不留情面地清楚的紅線
- 策略性發火
- 不要試圖操控我
- 避免跟這種人合作
- 用相同的語言溝通
Customized vs. Configurable Solutions
設計泛用型系統的時機與優缺點
/app
/models
/views
/controllers
/qintelligence
/models
/views
/controllers
/config.php
/.env
Why not? 為什麼沒人這樣做?
經驗分享
- https://cafenomad.tw
- https://urschool.org
- https://isportsmap.com
- taigimap
<?php
namespace App\Models;
use MikuCMS\Miku\Models\Behaviors\HasComments;
use MikuCMS\Miku\Models\Behaviors\HasPhotos;
use MikuCMS\Miku\Models\Behaviors\HasReviews;
use MikuCMS\Miku\Models\Behaviors\HasRevisions;
use MikuCMS\Miku\Models\Model;
class Shop extends Model
{
use HasComments, HasPhotos, HasReviews, HasRevisions;
public function getFeaturedImage()
{
$photos = $this->photos;
if ($photos->count() > 0) {
return $photos->first()->url;
}
return url('/design/shop.png');
}
}
<?php
namespace App\Http\Controllers\Admin;
use MikuCMS\Miku\Http\Controllers\Admin\ModuleController as BaseModuleController;
class ShopController extends BaseModuleController
{
protected $moduleName = 'shops';
}
<?php
namespace App\Http\Controllers;
use Auth;
use MikuCMS\Miku\Http\Controllers\Front\ModuleController as BaseModuleController;
class ShopController extends BaseModuleController
{
protected $moduleName = 'shops';
public function show($hash)
{
$shop = $this->itemRepository->find($hash);
if ($shop->published === false) {
if (Auth::check() && Auth::user()->id === $shop->user_id) {
$message = '已送出「' . $shop->name . '」的資料,正在等待管理員審核。';
return view('miku::pages.message', compact('message'));
} else {
$message = '無法顯示此頁面。';
return view('miku::pages.message', compact('message'));
}
}
return view('shops.show', compact('shop'));
}
}
views
├── admin
│ ├── items
│ │ ├── comments
│ │ │ └── index.blade.php
│ │ ├── index.blade.php
│ │ ├── nav.blade.php
│ │ ├── photos
│ │ │ └── index.blade.php
│ │ └── revisions
│ │ └── index.blade.php
│ └── users
│ └── index.blade.php
├── pages
│ ├── items
│ │ ├── create.blade.php
│ │ ├── revisions
│ │ │ ├── create.blade.php
│ │ │ ├── index.blade.php
│ │ │ └── show.blade.php
│ │ └── show.blade.php
│ ├── message.blade.php
│ └── privacy.blade.php
└── widgets
├── actions-bar.blade.php
├── actions-card.blade.php
├── create-edit-review-form.blade.php
├── create-revision-form.blade.php
├── form-fields
│ ├── radios.blade.php
│ ├── select.blade.php
│ └── textarea.blade.php
└── summary-card.blade.php
@extends(config('miku.front_layout'))
@section('head')
<script src='/vendor/pickadate@3.5.6/picker.min.js'></script>
<script src='/vendor/pickadate@3.5.6/picker.date.min.js'></script>
<script src='/vendor/pickadate@3.5.6/picker.time.min.js'></script>
<link rel="stylesheet" href="/vendor/pickadate@3.5.6/classic.css">
<link rel="stylesheet" href="/vendor/pickadate@3.5.6/classic.date.css">
<link rel="stylesheet" href="/vendor/pickadate@3.5.6/classic.time.css">
@endsection
@section('content')
<div class="container">
<div class="row">
<div class="col-lg-6">
<div class="mt-4">
@include('miku::widgets.new-form', ['module' => $module])
</div>
</div>
</div>
</div>
@endsection
<?php
return [
'modules' => [
'shops' => [
'rating_fields' => [
// ...
],
'info_fields' => [
// ...
],
],
],
'front_layout' => 'layout',
'admin_layout' => 'layouts.admin',
'auth_providers' => [
'native' => [
'enabled' => false,
],
'facebook' => [
'enabled' => true,
],
],
];
優點:後續的規模化、產品化、成就感
缺點:初始開發成本x5、資深限定
適用時機
已驗證的市場與產品
服務產品化 Productized Services
減少不確定性、規模化的生意
- 37express
- design agency
- pricing by modules
- base plan + plugins
- base system + customization
- weekly charges
今天要解決兩個問題
為什麼越做越累
為什麼很難估時
來讓台灣軟體產業更強大吧!
來討論 👉 https://codelove.tw
工程師如何避免被客戶凹爆:如何比較順暢地進行接案工作? - Talk at QSearch
By howtomakeaturn
工程師如何避免被客戶凹爆:如何比較順暢地進行接案工作? - Talk at QSearch
- 37