Development Method

To adapt quickly to changes, firstly we apply the motto of continuous development and partial release. With the aim to meet the needs of a flexible development process, we selected Scrum model - partially implemented, from small to large, towards the process of developing a faster response to change.
Roles

Product owner Japanese or BrSE staffs in charge for this position. They are responsible for design specifications of our products.
Scrum master Has deep knowledge about Scrum, ensure that the team can work with Scrum effectively.
Development team Including SQAs and Engineers. They are responsible for system design, development and testing.
Product development procedure

[Sprint planning meeting]

The development team communicates with the Product Owner to make a work plan for a Sprint. The work plan includes the selection of the requirements needed to develop, analysys and identification of the work to be done together with the estimated time required to complete the tasks.

[Daily Scrum meeting]

In Septeni Technology, a daily scrum meeting is held for 15 minutes. In that period of time the development team can share difficulties they encountered in the process of the software development during the Sprint.

[Sprint Review meeting]

At the end of a Sprint, the development team and Product Owner will work together to review the work that was completed in the last Sprint (DONE) and will suggest some modifications or changes which are needed for the product.

[Sprint Retrospective]

Is held after finishing each sprint. The concerned members will summarize the contents of the whole sprint, consider what should be promoted, modified, or improved. Then they will make a plan to implement and apply that into practice for the next sprint. This method ensures that our development processes will be improved and get better.

Development Environment

Responsible for the realization of Septeni corporation's software concepts, the company applies diverse technical platforms and programming languages to optimize our project performance.
[Programming languages / Framework]

With the development of web services, we choose Scala for our main programming language. Scala is a modern language, concise, elegant and powerful. In addition, we use Java, Object-C and Swift to develop our mobile applications. While programming, TDD is a favorite choice and test script is a mandatory requirement.

[Database]

MySQL is used mainly. We use Memcached, Redis engines for caching in order to make high-speed processing.

[Infrastructure]

Depending on the features of each product, we will decide to use Cloud or On-premise. When using Cloud, we choose Amazon Web Services (AWS).

[Source Code Management]

Our developers need to be familiar with Git for source code management. The developers work on their local environment which is provided by Vagrant / Chef to synchronize development environments between members. Changed source code will be tested automatically and reviewed by the team's members.

[Other]

We use the toolkit provided by Atlassian for software development. Jira for Task management, Confluence for knowledge management, and Stash (Bitbucket) for source code management. In addition, the company also uses Slack as an effective tool for communication between our project teams.

Our system engineers also support build integration environments with Jenkins / Bamboo, and automated testing (Junit / Spec2 / Selenium) and build / deploy the software.

Education - Training

To improve the technical quality we encourage sharing among members inside our company and speaking outside. We encourage our staff to share knowledge so that we can create an environment in which everyone grows together.
Seminar
Source Code Reviewing
Knowledge sharing via blog or wiki
Back To Top