Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

1.

Mô tả công việc
1.1 Chức vụ - Thiết kế viên hệ thống (System Designer)

Thiết kế viên hệ thống (System Designer) là người chịu trách nhiệm thiết kế các khía cạnh quan trọng của
một hệ thống hoặc ứng dụng phức tạp. Nhiệm vụ của họ là tạo ra một thiết kế tổng thể cho hệ thống,
đảm bảo rằng các thành phần khác nhau của hệ thống hoạt động cùng nhau một cách hiệu quả, đáp ứng
được yêu cầu và mục tiêu của dự án

Lí do: Là người có niềm đam mê với design đông thời là một sinh viên khoa học máy tính thì system
designer rất phù hợp với chuyên nghành và sở thích của bản thân em.

1.2 Nhiệm vụ - Trách nhiệm

 Phân tích yêu cầu: Hiểu rõ yêu cầu của dự án, cả về khía cạnh kỹ thuật và phi chuyên môn. Xác
định các chức năng, hiệu suất, độ tin cậy, và các yêu cầu khác của hệ thống.
 Thiết kế kiến trúc: Xây dựng kiến trúc tổng thể cho hệ thống, bao gồm cách các thành phần sẽ
tương tác với nhau và trình bày cấu trúc tổng quan của hệ thống.
 Lựa chọn công nghệ: Chọn các công nghệ phù hợp để xây dựng hệ thống. Điều này bao gồm việc
xác định ngôn ngữ lập trình, cơ sở dữ liệu, nền tảng phần mềm, và các công cụ phát triển khác.
 Thiết kế chi tiết: Định nghĩa các chi tiết kỹ thuật cụ thể cho từng thành phần của hệ thống. Điều
này bao gồm các giao diện, cơ chế tương tác, cơ sở dữ liệu, giao diện người dùng, và các khía
cạnh khác.
 Quản lý rủi ro: Xác định và quản lý các rủi ro có thể xảy ra trong quá trình thiết kế và triển khai
hệ thống. Phát triển các kế hoạch dự phòng và giải pháp khắc phục.
 Tối ưu hóa hiệu suất: Đảm bảo rằng hệ thống hoạt động với hiệu suất tối ưu, đáp ứng được yêu
cầu về tốc độ, thời gian đáp ứng, và tải của người dùng.
 Kiểm tra và đánh giá: Thử nghiệm và kiểm tra hệ thống để đảm bảo rằng nó hoạt động đúng
như thiết kế. Điều này bao gồm kiểm tra tích hợp, kiểm tra đơn vị, và kiểm tra toàn diện.

1.3 Kĩ năng cần có

 Phân tích yêu cầu: Hiểu rõ yêu cầu của dự án, cả về khía cạnh kỹ thuật và phi chuyên môn. Xác
định các chức năng, hiệu suất, độ tin cậy, và các yêu cầu khác của hệ thống.
 Thiết kế kiến trúc: Xây dựng kiến trúc tổng thể cho hệ thống, bao gồm cách các thành phần sẽ
tương tác với nhau và trình bày cấu trúc tổng quan của hệ thống.
 Lựa chọn công nghệ: Chọn các công nghệ phù hợp để xây dựng hệ thống. Điều này bao gồm việc
xác định ngôn ngữ lập trình, cơ sở dữ liệu, nền tảng phần mềm, và các công cụ phát triển khác.
 Thiết kế chi tiết: Định nghĩa các chi tiết kỹ thuật cụ thể cho từng thành phần của hệ thống. Điều
này bao gồm các giao diện, cơ chế tương tác, cơ sở dữ liệu, giao diện người dùng, và các khía
cạnh khác.
 Quản lý rủi ro: Xác định và quản lý các rủi ro có thể xảy ra trong quá trình thiết kế và triển khai
hệ thống. Phát triển các kế hoạch dự phòng và giải pháp khắc phục.
 Tối ưu hóa hiệu suất: Đảm bảo rằng hệ thống hoạt động với hiệu suất tối ưu, đáp ứng được yêu
cầu về tốc độ, thời gian đáp ứng, và tải của người dùng.
 Kiểm tra và đánh giá: Thử nghiệm và kiểm tra hệ thống để đảm bảo rằng nó hoạt động đúng
như thiết kế. Điều này bao gồm kiểm tra tích hợp, kiểm tra đơn vị, và kiểm tra toàn diện.
2. Agile và Scrum trong Agile
2.1 Agile

- Khái niệm: Agile là mô hình quản lý dự án theo hướng tiếp cận lặp đi lặp lại. Tại đó, khối lượng công
việc được chia nhỏ để dễ dàng kiểm soát hơn. Nhiệm vụ được hoàn thành trong các lần lặp ngắn trong
suốt vòng đời dự án.

- Đặc trưng:

+ Mang tính lặp: Dự án được thực hiện trong các phân đoạn lặp đi lặp lại. Mỗi phần này được gọi tên
là Iteration hoặc Sprint vào có khung thời gian từ 1 – 4 tuần. Trong mỗi Sprint, nhóm phát triển sẽ thực
hiện đầy đủ đầu công việc cần thiết. Cụ thể hoạt động diễn ra là:

- Lập kế hoạch.

- Phân tích yêu cầu.

- Thiết kế.

- Triển khai.

- Kiểm thử.

Dù có tính lặp về quy trình nhưng mỗi thời điểm sẽ diễn ra với mức độ khác nhau. Từ đó, nhà phát triển
cho ra đời các phần nhỏ sản phẩm hoàn thiện nhất.

+ Tính tiệm tiến/ tiến hóa: Cuối mỗi phân đoạn Agile Scrum sẽ cho ra các phần nhỏ của sản phẩm cuối
cùng. Chúng có đầy đủ đặc điểm cần thiết, chạy tốt và đã qua kiểm thử cẩn thận.

Theo thời gian, các phân đoạn nối tiếp nhau. Những phần đã hoạt động tốt sẽ tích lũy và lớn dần lên cho
đến khi thỏa mãn toàn bộ yêu cầu khách hàng.

+ Tính thích nghi: Đặc trưng của Agile là mỗi phân đoạn chỉ diễn ra trong một thời gian ngắn. Việc lập kế
hoạch cùng được điều chỉnh liên tục. Do đó, những thay đổi về các yếu tố dưới đây luôn tiếp cận nhanh
chóng, linh hoạt:

- Yêu cầu thay đổi.

- Thay đổi công nghệ.

- Chuyển định hướng mục tiêu…

Nếu triển khai theo quy trình Agile, cả sản phẩm và người phát triển đều thích ứng rất tốt. Nhờ đó, quá
trình hoàn thiện không bị gián đoạn.
+ Thành lập tổ chức và liên chức năng: Cấu trúc nhóm được gọi là liên chức năng và tự tổ chức.

Theo đó, cả nhóm sẽ chủ động tự thực hiện phần công việc. Tại đó không có sự phân chia cứng nhắc dựa
trên mô tả cứng về chức danh hoặc phân cấp rõ ràng nào.

Để vận hành nhóm này, các thành viên phải có đầy đủ kỹ năng cần thiết. Họ được trao quyền để tự đưa
ra quyết định, tự quản lý sao cho đạt hiệu quả cao nhất.

+ Thực hiện quản lý tiến trình thực nghiệm: Quyết định của nhóm được đưa ra dựa trên các dữ liệu thực
tế thay vì tính toán lý thuyết và áp dụng tiền giả định.

Nói cách khác, đặc trưng này giúp rút ngắn vòng đời phản hồi. Nhờ đó, dự án dễ dàng thích nghi, gia
tăng tính linh hoạt. Theo thời gian, chiến lược này sẽ tiến đến gần trạng thái tối ưu và tăng năng suất lao
động.

+ Giao tiếp trực diện: Khi đi theo Agile, bạn được khuyến khích nói chuyện trực tiếp với khách hàng. Từ
đó, hai bên thực sự hiểu về nhu cầu. Điều này tránh được những mơ hồ nếu trao đổi qua văn bản. Đồng
thời, giao tiếp ở đây cũng đề cập đến tương tác trong nội bộ nhóm. Theo cách truyền thống, lập trình
viên thực hiện mã hóa còn kỹ sư đảm nhiệm thiết kế. Nhưng với Agile, tất cả giao tiếp cùng nhau thông
quan bản thiết kế.

- Lợi ích của Agile:

+ Tăng trải nghiệm của khách hàng: Thể hiện qua cách coi trọng ý kiến khách hàng. Sản phẩm ra
đời đảm bảo như một thiết kế chỉ dành riêng cho họ. Điều này giúp tăng khả năng giữ chân và cơ hội
hợp tác tiếp theo.

+ Cải thiện chất lượng: Thể hiện qua cách tiếp cận lặp đi lặp lại. Cả nhóm tập trung nhất quán
vào cải tiến và kiểm soát chất lượng. Nhờ vậy, sản phẩm cuối cùng ra đời đảm bảo ưu việt nhất.

+ Khả năng thích ứng: Đã được thể hiện quá rõ ràng qua đặc trưng của Agile Scrum. Cả nhóm có
thể nhanh chóng phản ứng cho dù những yêu cầu thay đổi có thể đến vào những phút cuối.

+ Khả năng dự đoán: Dễ dàng ước tính thời gian và chi phí hoàn thành. Bởi vì, dự án lớn được
chia thành nhiều phân đoạn nhỏ khác nhau.

+ Giao tiếp tốt hơn: Bởi vì Agile Scrum ưu tiên tương tác face-to-face. Từ đó, những nhầm lẫn
tiềm ẩn được loại bỏ.

+ Giảm thiểu rủi ro: Từng vấn đề nhỏ nhanh chóng được giải quyết trước khi leo thang.
2.2 Scrum

- Khái niệm: Scrum là một trong những phương pháp Agile dựa trên cơ chế lặp và tăng trưởng. Mô hình
này hỗ trợ đắc lực trong việc thiết kế để phát triển, cung cấp và cải tiến các sản phẩm phức tạp. Scrum là
khung làm việc, còn Agile là mindset:

+ Từ Agile, bạn nắm được giá trị, nguyên tắc định hướng để phát triển phần mềm.

+ Scrum chỉ rõ đội nhóm nên làm gì trong từng giai đoạn.

- 3 trụ cột chính trong Scrum:

+ Minh bạch, rõ ràng: Sức mạnh của dự án và tổ chức nằm ở cách mọi người phối hợp với nhau. Để đẩy
con thuyền đến đích, thành viên cần truy cập vào những thông tin hữu ích giúp họ phát triển sản phẩm.

Tính minh bạch này cần đảm bảo trong các sự kiện họp như Sprint Planning, Sprint Review, Sprint
Retrospective, Daily Meeting. Từ đó, quá trình tương tác và trao đổi thông tin được tăng cường.

Khi tìm hiểu Agile Scrum, bạn sẽ thấy minh bạch liên quan đến hai trụ cột còn lại. Sẽ rất khó để giám sát,
thanh tra nếu công việc, quy trình không được biểu lộ cho người khác biệt.

Đồng thời, minh bạch cũng là cách để kịp thời điều chỉnh kế hoạch. Hoạt động này đặc biệt cần thiết để
tránh bị thiếu hoặc nhiễu loạn thông tin.

Ví dụ như, nếu tuân theo mô hình Agile Scrum, Daily Meeting là điều cần thiết. Đó là lúc các thành viên
trao đổi, tương tác với nhau về sản phẩm đang làm. Đồng thời, công cụ hỗ trợ cho sự minh bạch này
như Kanban Board.

Từ đó, quy trình, trạng thái của luồng công việc được thể hiện rõ ràng. Đội phát triển và Product Owner
hiểu nhau hơn qua đây. Họ cùng đi đến việc xử lý vướng mắc, chưa được thấu hiểu.

+ Thanh tra: Những thứ được tạo ra cần phải được thanh tra thường xuyên, định kỳ. Mục đích là
để đảm bảo chất lượng sản phẩm, tránh những sai khác quá lớn so với kỳ vọng ban đầu.

Sự thanh tra nên được thực hiện vào một thời điểm nhất định. Việc xen ngang vào giữa chừng cần phải
hạn chế.

+ Thích nghi: Điều này phát huy tác dụng trong các trường hợp như:

- Có sự chênh lệch so với lộ trình Product Roadmap.

- Do nhu cầu của thị trường hoặc khách hàng thay đổi.
Khi này, sản phẩm và quy trình cần được điều chỉnh nhanh chóng để thích nghi với sự thay đổi. Nếu
không đáp ứng được yêu cầu này chứng tỏ quá trình áp dụng Agile Scrum chưa đúng cách.

- Các bước hoạt động:

You might also like