- vừa được xem lúc

AgileWorkflow - Phần 1: Khởi tạo

0 0 26

Người đăng: Huy Nguyen

Theo Viblo Asia

Bài viết này thuộc chuỗi bài viết AgileWorkflow.

Đọc bài này, bạn không thực sự phải hiểu về Agile là gì, bản có thể hiểu đơn giản, app mình đang làm chỉ là 1 cái app để quản lý dự án.


Về Agile và Agile Scrum.

Nói một cách đơn giản, đây là 1 mô hình để phát triển phần mềm, với mục tiêu cao nhất là nhanh chóng đưa sản phẩm đến tay người dùng, phù hợp cho những dự án mà requirement thay đổi liên tục,... Nó ra đời cũng khá lâu rồi, và cũng có khá nhiều bài viết nói về nó, mn có thể tìm hiểu nó ở đây:

Về dự án AgileWorkflow.

Goal

Về dự án này, expected output của mình là nó có thể hiển thị ra danh sách các dự án của 1 member, cho phép member đó thấy được tình trạng hiện tại của dự án, đang ở sprint nào, có milestone nào hay không, sprint hiện tại tình trạng như thế nào, các backlog đang ở đâu, cái nào đã xong, cái nào đang làm hay chưa làm. Team đã dành bao nhiêu thời gian cho backlog so với thời gian estimate ban đầu của backlog,...

Tech

Về công nghệ, mình sẽ sử dụng các framework phổ biến để tối ưu hoá chí phí thiết kế.

  • Với Frontend, mình sử dụng Antd (bạn có thể tìm hiểu về nó ở đây, tại vì nó đã làm hết từ khâu set-up code, state management,... và đặc biệt là nó hỗ trợ Typescript.
  • Với Backend, mình sẽ sử dụng NestJS (ở đây, nó là 1 framework cho NodeJS, và tất nhiên là nó cũng hỗ trợ Typescript.
  • Với Database, thì mình sẽ sử dụng PostgreSQL, adminer để xem và quản lý DB, và một số thứ khác - Docker.

Cover

Với dự án này, sẽ khó hiểu cho những ai chưa biết về Agile hay Scrum là cái quần gì, thì hiểu đơn giản, dự án này được tạo ra, như 1 công cụ Quản lý dự án.

image.png

Nói về mô hình này, thì có thể hiểu như sau:

  • Để hoàn thành/bàn giao (deliver) một project, 1 team cần phải deliver các iteration (iteration ở đây, có thể hiểu là 1 chu kỳ phát triển được lặp lại trong quá trình phát triển, có thể gọi theo tên khác là sprint).
  • Để 1 iteration hoàn thành, team cần phải hoàn thành các backlog đã lên kế hoạch trong iteration đó (backlog ở đây là 1 tính năng của dự án)
  • Để hoàn thành 1 backlog, team cần phải chia nó ra thành các task nhỏ hơn và hoàn thành các task đó.

VD: Dự án của bạn cần làm trang quản lý sinh viên, và trong iteration đầu tiên, team bạn đặt kế hoạch là xong chức năng đăng nhập và đăng ký. Như vậy ở đây, mình sẽ có 2 backlog là "Đăng nhập" và "Đăng ký". Để hoàn thành backlog "Đăng nhập", bạn có thể sẽ phải đi qua các task, ví dụ như: "implement UI, handle state sau khi đăng nhập, handle lỗi lúc đăng nhập fail, tạo API đăng nhập,..."

Thực ra mình có dùng thử 1 tool là trello của Atlassian, nhưng thấy nó chỉ dừng lại ở mức là chia đến backlog, và mình gặp phải 1 vấn đề là, không biết được tình trạng hiện tại của backlog đó, ai đang và đã làm cái gì, dành bao nhiêu thời gian, tổng thời gian cho nó là bao nhiêu, để đánh giá độ ưu tiên cho nó.

Trên đây là phần mô tả bao phủ cho toàn bộ dự án nó sẽ làm về cái gì, có gì trong đó,... Mô hình trên chỉ là khái quát về những thứ cần có, còn những thành phần chi tiết như database như thế nào, cấu trúc làm sao, có lẽ mình sẽ mang nó sang phần 2.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Các mô hình phát triển phần mềm

1. Định nghĩa. Mô hình phát triển phần mềm hay quy trình phát triển phần mềm xác định các pha/ giai đoạn trong xây dựng phần mềm. Có nhiều loại mô hình phát triển phần mềm khác nhau ví dụ như:.

0 0 94

- vừa được xem lúc

Tìm hiểu về cách thiết kế Class Diagram

Trong 1 dự án, việc tổ chức code cũng như clean code là 1 điều rất quan trọng, nếu cách thiết kế các class hợp lý và rõ ràng sẽ giúp ích rất nhiều cho việc mở rộng và bảo trì sau này. Để làm được điều này chúng ta cần phải có 1 bản thiết kế Class Diagram thật sự hợp lý.

0 0 76

- vừa được xem lúc

Chuyện thay đổi

Thay đổi là một thứ gì đó luôn luôn đáng sợ. Cách đây vài tháng mình có duyên đi làm cho một banking solution tên là X.

0 0 30

- vừa được xem lúc

Tôi trên con đường nỗ lực trở thành Agile Leader - Phần I

Mong muốn chia sẻ với mọi người về những trăn trở, những niềm vui, những bài học tích lũy, những mảnh kiến thức hay góp nhặt được trên con đường phấn đấu trở thành một Agile leader. Phần đầu này tôi muốn chia sẻ về định hướng, hay nói cách khác là điều gì cá nhân cần tập trung để trở thành một Agile

0 0 21

- vừa được xem lúc

9 ý tưởng cho buổi Retrospective hiệu quả!

Với những bạn đang vận hành dự án theo Scrum hoặc ít nhất đang cố gắng thử vận hành, ắt hẳn biết đến một scrum event quan trọng - Retrospective. Một event để scrum team cùng nhìn nhận lại lại cách thức làm việc, hợp tác với nhau hay nói chung là các vấn đề về quy trình, con người trong dự án.

0 0 53

- vừa được xem lúc

Mô hình phát triển phần mềm: Agile

1. Agile là gì. 2. Phát triển phần mềm theo Agile.

0 1 616