Product owner | Sẽ do người Nhật, hoặc là BrSE đảm nhận, phụ trách quyết định toàn bộ thiết kế, thông số kỹ thuật cho sản phẩm. |
---|---|
Scrum master | Là người có hiểu biết sâu sắc về Scrum và đảm bảo team có thể làm việc hiệu quả với Scrum. |
Team phát triển | Bao gồm SQA, và các kỹ sư sẽ thiết kế hệ thống, thực hiện và tiến hành test. |
team phát triển gặp gỡ với Product Owner để lên kế hoạch làm việc cho một Sprint. Công việc lập kế hoạch bao gồm việc chọn lựa các yêu cầu cần phải phát triển, phân tích và nhận biết các công việc phải làm kèm theo các ước lượng thời gian cần thiết để hoàn tất các tác vụ.
Ở Septeni Technology, scrum meeting được tổ chức hàng ngày trong vòng 15 phút để team Phát triển chia sẻ tiến độ công việc cũng như chia sẻ các khó khăn gặp phải trong quá trình phát triển phần mềm suốt một Sprint.
Cuối Sprint, team phát triển cùng với Product Owner sẽ rà soát lại các công việc đã hoàn tất (DONE) trong Sprint vừa qua và đề xuất các chỉnh sửa hoặc thay đổi cần thiết cho sản phẩm.
Được tổ chức sau mỗi lần kết thúc sprint, các thành viên liên quan sẽ tổng kết lại nội dung của toàn sprint, xem xét những điều gì nên phát huy, những điều nào phải sửa đổi, cải tiến, lên kế hoạch thực thi và áp dụng vào thực tiễn cho sprint sau. Phương pháp này đảm bảo quy trình phát triển của Công ty luôn luôn được cải tiến hoàn thiện.
Với việc phát triển các web service, ngôn ngữ lập trình chính được lựa chọn là Scala, một ngôn ngữ hiện đại, chặt chẽ mà đầy sức mạnh. Ngoài ra Java, Object-C, Swift là các ngôn ngữ được dùng cho phát triển các ứng dụng mobile. Trong khi lập trình, TDD là một lựa chọn yêu thích và test script là một yêu cầu bắt buộc.
Chủ yếu dùng My SQL, khi cần xử lý tốc độ cao, có thể sử dụng thêm Memcached, Redis.
Tùy theo đặc tính của từng sản phẩm mà quyết định sử dụng cloud hay on-premise. Với Cloud, dùng Amazon Web Services (AWS) hoặc Google Cloud Platform (GCP).
Các lập trình viên cần thông thạo git để quản lý source code. Lập trình viên làm việc trên môi trường local được hỗ trợ với Vagrant / Chef để đồng bộ hoá môi trường phát triển giữa các thành viên, source code khi thay đổi được kiểm thử tự động và review bởi các thành viên trong team.
Chúng tôi sử dụng máy tính Macbook 15 inch và phần mềm IntelliJ IDEA Ultimate để phát triển sản phẩm.
Chúng tôi tin tưởng sử dụng bộ công cụ mà Atlassian phát triển dành cho giới lập trình, đó là Jira để quản lý Task, Confluence để quản lý tri thức, và Stash (Bitbucket) cho quản lý source code. Ngoài ra Công ty cũng sử dụng Slack như là phương tiện liên lạc hữu hiệu của các team dự án.
Các kỹ sư hệ thống cũng hỗ trợ xây dựng môi trường tích hợp liên tục với Jenkins / bamboo, tự động hoá test (Junit / Spec2 / Selenium) và build / deploy các phần mềm.