Skip to content
This repository has been archived by the owner on Jan 7, 2020. It is now read-only.

Commit

Permalink
Merge pull request #1 from mfkessai/aboutus
Browse files Browse the repository at this point in the history
Add: MF KESSAIについて
  • Loading branch information
shinofara committed Dec 18, 2018
2 parents 2fe77ab + 7146199 commit 5b5632a
Show file tree
Hide file tree
Showing 10 changed files with 3,022 additions and 2 deletions.
1 change: 1 addition & 0 deletions .gitignore
@@ -0,0 +1 @@
node_modules
16 changes: 16 additions & 0 deletions .textlintrc
@@ -0,0 +1,16 @@
{
"rules": {
"preset-jtf-style": {
"3.1.2.全角文字どうし": false
},
"preset-ja-technical-writing": {
"ja-no-weak-phrase": false,
"no-exclamation-question-mark": false
},
"period-in-list-item": true,
"no-mixed-zenkaku-and-hankaku-alphabet": true
},
"filters": {
"comments": true
}
}
116 changes: 114 additions & 2 deletions README.md
@@ -1,2 +1,114 @@
# handbook
handbook
MF KESSAIについて
===========================

# 会社について

## 企業情報

- [MF KESSAI株式会社](https://corp.mfkessai.co.jp)は、2017年3月にマネーフォワード100%子会社として創業しました
- 本社マネーフォワードは田町ですが、MF KESSAIは大手町にオフィスがあります

## メイン事業

MF KESSAIは、企業の与信審査から請求書発行、代金回収までの決済業務を一括して代行する企業間後払い決済サービス「[MF KESSAI](https://mfkessai.co.jp)」を開発・提供しています。

### MF KESSAIの特長

- 1. 業務効率化
- 取引データを登録するだけで、与信審査、請求業務、入金管理が自動で行われる
- 請求に関する一連の業務を『MF KESSAI』が代行、バックオフィス業務の負担とコストの削減が可能に
- 2. 売上増加
- 与信審査結果が最短数秒で分かるため、サービス提供までのスピードが向上し、売上増加につながる
- 3. 資金繰り改善
- 審査通過後は100%入金が保証されるため、貸し倒れリスクから解放される
- 支払日に確実に入金されるため、資金繰りの見通しがつきやすく、資金の有効活用が可能に

全体の流れについては、下記動画をご参照ください。(90秒程度)

[![mfk](https://img.youtube.com/vi/wX-Q_nyIZLg/0.jpg)](https://www.youtube.com/watch?v=wX-Q_nyIZLg)


## 当面の目標

MF KESSAIは下記2点を当面の目標としています。

- 国内に存在する企業のスコアリングを行うことで、定量的な取引判断を可能にし、全ての企業様が取引を安心して行える環境をサポートしていくこと
- 現在は「請求書による後払い」というスコープに限定しているが、ゆくゆくは取引の際に発生する様々な不安に対して価値を提供していくこと

# プロダクトとチーム

MF KESSAIというサービスは導入企業の操作以外にも、裏側で請求書の郵送や、未入金が発生した際の督促、入金消込等たくさんのオペレーションが発生しています。

![image](/images/product_mfkessai.jpg)

弊社では大きく分けると、下記の3チームが存在しています。
※SREも存在していますがプロダクトを持っていないのでここでは省略します。

- 導入企業様向けの開発を行うチーム
- 上記の図では1〜3を担当
- 取引情報の登録・参照を行う `MF KESSAI(WEB、API)` を開発・運用
- 社内オペレータ向けの開発を行うチーム
- 上記の図では4と5を担当
- 社内オペレータが利用する請求先管理サービスの開発・運用
- 社内のデータを活用して審査などを提供するチーム
- 上記の図では2ですが、2の裏側の審査モデル構築を担当
- 社内の様々なデータを回収して解析基盤の構築や、各サービスに向けての審査モデルを提供

# 開発

## 開発に関わるメンバーと体制、そして文化

![member](/images/member.jpg)

- 2018年12月現在では、10名弱とまだまだ成長途中
- 現在開発に関わっている役割は、Backend、Frontend、Data、SRE、SET、そしてデザイナ

そして開発文化は以下になります。

- 1週間単位=1スプリントのスクラムを採用
- [1週間の開発の流れ](https://tech.mfkessai.co.jp/2018/04/1/#1週間の流れ)
- 個人ではなくチームとして物事を考える
- [全チームスクラムを採用・ペアプロモブプロ](https://tech.mfkessai.co.jp/2018/04/1/)
- [リソース効率よりフロー効率](https://tech.mfkessai.co.jp/2018/10/flow/)
- B2BでもUXがとても大切
- [デザインスプリント](https://tech.mfkessai.co.jp/2018/06/design-sprint/)

## 利用技術

![image](/images/use_technology.png)

- 創業初期はGoとDocker、そしてGCPを使う事を決めてサービスを開発(採用経緯について -> [Tech Blog](https://tech.mfkessai.co.jp/2017/07/1/)
- Goと現在フロントで利用しているVue.jsの採用理由を質問されることがあるため、一部紹介
- `Ruby` を多くのプロダクトで利用している `マネーフォワード` のグループ会社である `MF KESSAI` がなぜ `Go` を選択したのか
- 言語レベルで品質の高いコードを書くためのサポートがある
- 型が厳密なため、型が無いことで生じる不安に悩むことなく判断ができる
- 厳密ではあるが、スクリプト言語の様に柔軟性も兼ね備えている
- コンパイル言語なので、デプロイ前に、コードの正当性の検証を行える
- 言語レベルでlint等のツールが揃っている
- Vue.jsを採用した理由
- コードがシンプルで所見でも触れやすい
- 初見が重くないことによって、普段フロントのコードを触っていない人でも、小さい修正ぐらいはやれると思ってもらえる
- 今の弊社のようにフロントエンジニアが少ないような環境でも、協力して実装する事ができる
- 現在はNuxt.js、データ分析はPythonと、実装するシステムに応じた言語やフレームワークなどを選択

## MF KESSAIのアーキテクチャ

MF KESSAIの現在のインフラを含めた図はこちらになります。

![image](/images/easy_infrastructure_diagram.png)

- 1つのKubernetes clusterの上に複数サービスを展開
- 各Pod間は `Service Mesh``Envoy` を導入。将来的に `Istio` に変更する予定

アプリケーション同士の関係性はこちらになります。

![image](/images/application.png)

- コアドメインはGoを使ってgRPCで開発
- 各アプリケーションはそれぞれの開発チームにて利用言語、技術を選択
- 最近は、[`Nuxt.js`, `GraphQL` を用いて、フロントとバックエンドを分離して(https://tech.mfkessai.co.jp/2018/10/frontend/)して開発

## その他

- [エンジニアブログ](https://tech.mfkessai.co.jp)
- [Wantedly](https://www.wantedly.com/companies/mfkessai)
Binary file added images/application.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/easy_infrastructure_diagram.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/member.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/product_mfkessai.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/use_technology.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions package.json
@@ -0,0 +1,21 @@
{
"name": "handbook",
"version": "1.0.0",
"main": "index.js",
"repository": "git@github.com:mfkessai/handbook.git",
"author": "shinofara <shinofara@gmail.com>",
"license": "MIT",
"dependencies": {
"gulp": "^3.9.1",
"textlint": "^11.0.0"
},
"devDependencies": {
"textlint-filter-rule-comments": "^1.2.2",
"textlint-rule-no-mixed-zenkaku-and-hankaku-alphabet": "^1.0.1",
"textlint-rule-period-in-list-item": "v0.2.0",
"textlint-rule-preset-ja-technical-writing": "^3.0.1",
"textlint-rule-preset-japanese": "^4.0.0",
"textlint-rule-prh": "^5.2.0",
"textlint-rule-preset-jtf-style": "^2.3.1"
}
}

0 comments on commit 5b5632a

Please sign in to comment.