This document provides guidance and template material intended to help technical staff team, it is also useful background reading for anyone involved on the development process of our current product, this document will assume you know a thing or two about Lean and/or SCRUM, The less lengthy your sprints are, the faster you can course correct.
"Sprints are like flights; shorter = better."
Stay lean, build less, you should keep your development process as lean as possible meaning, The more you and your people know, the more you can do in a smaller number of people for smaller amount of money.
Development Process Principles
-
Agile Development
-
Features
-
Stories
-
Task
-
-
Code Peer Review
-
Early debugging
-
The code stays here
-
Developers learn from each others
-
Teamwork
-
-
Time Tracking
-
Stage Environment
-
Development
-
Staging
-
Production
-
-
Straight-line Communication
-
Weekly Reports
-
Progress Tracking
-
Maintenance & Support
Our source control tool for our development process will be Github so we assume you know git, we will use release automation, and we will set up environments so we can regularly release updates, the benefits of a release process is that it forces us to think in terms of "shipping" this will help us to start planning to releasing stables versions of our application every one or two sprints depending on our development process. So the main goal is release the update of our product with a single command.
Four our branching model will be using GitFlow is suited to collaboration and scaling the development team, for more information visit this link. Git Flow Cheatsheet
Mostly of our code will be writing in javascript for automation testing in javascript will be using Phantom.js this framework is mostly used for front-end testing is easy to run from a command line so it integrates nicely in our CI system, for our server-side code will be using
Bug and issue Tracking
For bug and issue tracking will be using a trello board with the following structure:
-
Reported by team
-
Reported by clients
-
Accepted
-
In Progress
-
To be validated
-
Done
Unit tests only help if you’re running them. we have a Drone.io server to watch and test our code, Drone is a lightweight, powerful continuous delivery system built on container technology, drone uses a simple yaml configuration file, a superset of docker -compose to defines and execute pipelines inside Docker containers.
We want to make sure that our team members reviews each other’s code this has several significant benefits. First and foremost, it ensures that you’re shipping higher quality code. Second, it serves as an amazing educational opportunity for team members, so for this will be using our source control version Github using the feature of pull request to make code reviews in our development team once every member of the team review the pull request this can be merged on the requested branch
Release management include our CI environment and our scripts for releasing new code, so we have multiples environments for that staging and production, a staging environment serves two major purposes. First, it creates a shared environment where our members can test their code against consistent representation of your application; this give us a predictable a reliable version of your application that helps to decrease the "works for me" problem, Second, it creates a production-like environment for testing and features that may work slightly differently in a production or staging setting than they would on local development environment — this helps us detect any issues that might not otherwise be visible until you’ve released your code into production.
Complete Process.
We will separate our development stack in 4 categories.
-
Application and Data
-
Utilities
-
DevOps
-
Business Tools
Application and Data
- Languages
-
Javascript
-
Php
-
Go
-
Python
Frameworks
-
React
-
Node.js
-
Mocha
-
PhantomJS
-
Cloud Hosting & Storage
-
AWS
-
Digital Ocean
Databases
-
MySQL
-
PostgreSQL
-
Mongodb
-
Redis (In-Memory Database)
Utilities
-
Paypal
-
Stripe
-
Messenger Platform
-
Api.ai
-
Google Analytics
DevOps
-
Github & git
-
Docker
-
Webpack
-
Drone.io
-
Sentry
Business Tools
-
G Suite
-
Slack
-
Trello
-
Zendesk
-
Intercom
-
InVision
-
Zoho CRM
Javascript Style Guide
Chatbots are on the rise. Startups are building chatbots like us in fanbot we’ve been working on chatbots for a while, and we’ve been looking on what is going on in the industry.
- Tools
- Books
- Blogs:
References.
Development Process