69 câu hỏi phỏng vấn kỹ sư Công nghệ Thông tinVu Hung Nguyen
Bộ 69 câu hỏi phỏng vấn giành cho kỹ sư công nghệ thông tin.
Đối tượng hưởng lợi:
- Người đi phỏng vấn: Biết được những câu hay bị hỏi
- Người phỏng vấn: Có một bộ câu hỏi phỏng vấn cơ bản làm cơ sở
Nội dung trao đổi cùng AltPlus:
Cứu dự án chậm
Dự án thường gặp với dự án outsource/offshore
Quản lý nhân sự (Việt Nam/Japan)
Agile Development
Mapping Agile với Software Engineering
Anti patterns in it project management. Speech at Agile Vietnam 2016 Conference.
20161016 Agile Vietnam Conference 2016
---
http://www.agilevietnam.org/conf/2016/index.html
https://www.facebook.com/events/892107294257261/
#agilevn16, #agilevietnam2016, #hanoi, #altplus
[AGILE VIETNAM CONFERENCE 2016] - A regional conference on Agile practices, software craftsmanship and organization improvement.
5 years in a row, Agile Vietnam has achieved numerous success and has impacted positively on the community. With that spirit, Agile Vietnam has been very proud to hold Agile Vietnam Conference 2016.
Agile Vietnam Conference 2016 aims to be the best and the biggest event held by Agile Vietnam Community with theme of "LEAPFROG" - with full of exciting activities including keynote speeches, workshops, contests, games, business matching, and networking.
Why you should come to Agile Vietnam 2016 Conference?
➡ Networking with top experts of the world
➡ Improve agile process and project outcomes
➡ Inspire your mind
➡ Exclusive opportunity for learning
➡ Attend a world-class conference
►►►DATE & VENUE: (HCMC - DANANG CITY - HANOI CAPITAL)
● 07:30 - 17:00, 14th October 2016, Hoa Sen University, Nguyen Van Trang, District 1, HCMC.
● 07:30 - 12:00, 15th October 2016, Bamboo Green Hotel 177 Tran Phu, Hai Chau, Danang.
● 07:00 - 17:00, 16th October 2016, Alt Plus Vietnam Company Limited, 31F Keangnam Ha Noi Landmark Tower 72, Lot E6 Pham Hung, Nam Tu Liem, Ha Noi.
►►►TICKET INFORMATION:
● Eventbrite: http://goo.gl/I8GFVC
● Ticket box:
- HCM: https://goo.gl/6fPbWD
- Ha Noi: https://goo.gl/3wk4Yv
- Da Nang: https://goo.gl/Gc2mtF
►►►More information: http://goo.gl/4K8EdQ
69 câu hỏi phỏng vấn kỹ sư Công nghệ Thông tinVu Hung Nguyen
Bộ 69 câu hỏi phỏng vấn giành cho kỹ sư công nghệ thông tin.
Đối tượng hưởng lợi:
- Người đi phỏng vấn: Biết được những câu hay bị hỏi
- Người phỏng vấn: Có một bộ câu hỏi phỏng vấn cơ bản làm cơ sở
Nội dung trao đổi cùng AltPlus:
Cứu dự án chậm
Dự án thường gặp với dự án outsource/offshore
Quản lý nhân sự (Việt Nam/Japan)
Agile Development
Mapping Agile với Software Engineering
Anti patterns in it project management. Speech at Agile Vietnam 2016 Conference.
20161016 Agile Vietnam Conference 2016
---
http://www.agilevietnam.org/conf/2016/index.html
https://www.facebook.com/events/892107294257261/
#agilevn16, #agilevietnam2016, #hanoi, #altplus
[AGILE VIETNAM CONFERENCE 2016] - A regional conference on Agile practices, software craftsmanship and organization improvement.
5 years in a row, Agile Vietnam has achieved numerous success and has impacted positively on the community. With that spirit, Agile Vietnam has been very proud to hold Agile Vietnam Conference 2016.
Agile Vietnam Conference 2016 aims to be the best and the biggest event held by Agile Vietnam Community with theme of "LEAPFROG" - with full of exciting activities including keynote speeches, workshops, contests, games, business matching, and networking.
Why you should come to Agile Vietnam 2016 Conference?
➡ Networking with top experts of the world
➡ Improve agile process and project outcomes
➡ Inspire your mind
➡ Exclusive opportunity for learning
➡ Attend a world-class conference
►►►DATE & VENUE: (HCMC - DANANG CITY - HANOI CAPITAL)
● 07:30 - 17:00, 14th October 2016, Hoa Sen University, Nguyen Van Trang, District 1, HCMC.
● 07:30 - 12:00, 15th October 2016, Bamboo Green Hotel 177 Tran Phu, Hai Chau, Danang.
● 07:00 - 17:00, 16th October 2016, Alt Plus Vietnam Company Limited, 31F Keangnam Ha Noi Landmark Tower 72, Lot E6 Pham Hung, Nam Tu Liem, Ha Noi.
►►►TICKET INFORMATION:
● Eventbrite: http://goo.gl/I8GFVC
● Ticket box:
- HCM: https://goo.gl/6fPbWD
- Ha Noi: https://goo.gl/3wk4Yv
- Da Nang: https://goo.gl/Gc2mtF
►►►More information: http://goo.gl/4K8EdQ
ScrumDay Vietnam 2013: PMBOK là Waterfall hay Agile? - Phùng Thanh CườngVu Hung Nguyen
Giới thiệu
ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích:
Giới thiệu và thúc đẩy sự phát triển Agile\Scrum
Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam
Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia
Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum
Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau:
Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh.
Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty
Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market"
Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình
Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...Vu Hung Nguyen
Giới thiệu
ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích:
Giới thiệu và thúc đẩy sự phát triển Agile\Scrum
Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam
Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia
Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum
Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau:
Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh.
Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty
Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market"
Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình
Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.
Design Pattern - Những công thức vàng trong thiết kếNhật Nguyễn Khắc
Link video: https://www.youtube.com/watch?v=VbOJrq71lVA
Chúng ta đã bàn về Clean Code và SOLID, đã biết về các lợi ích của chúng. Câu hỏi quan trọng còn lại là:
Làm thế nào để có Clean Code và SOLID?
Câu trả lời sẽ liên quan đến nhiều yếu tố khác nhau, bao gồm cả văn hoá, thói quen, trình độ năng lực, các kỹ thuật và công cụ..., và trong đó một yếu tốt rất quan trọng là chúng ta cần sử dụng tốt Design Pattern.
Design Pattern là các giải pháp tổng quát có thể tái sử dụng cho các trường hợp thường gặp khi thiết kế kiến trúc phần mềm.
Một số lợi ích của Design Pattern có thể kể đến như:
- Đẩy nhanh tốc độ thiết kế và phát triển phần mềm
- Chất lượng của giải pháp đã được minh chứng
- Ngăn ngừa các vấn đề phát sinh nếu thiết kế không tốt
- Có thể áp dụng cho rất nhiều tình huống khác nhau
- Dễ dàng cộng tác, chia sẻ thiết kế và mã nguồn giữa các bên.
Trong phiên Livestream về chủ đề Design Pattern, chúng ta sẽ bàn kỹ hơn về khái niệm quan trọng này, các ý nghĩa của nó, điểm qua các Design Pattern được sử dụng phổ biến và đồng thời xem xét một số ứng dụng của Design Pattern trong các tình huống thực tế.
Đối với bất cứ việc gì, nếu có cách làm tốt thì hiệu quả sẽ cao, ngược lại thì sẽ rất vất vả. Việc học nói chung, và việc học lập trình nói riêng cũng vậy. Nếu không biết cách học, chúng ta sẽ rất vất vả, lâu đạt được thành quả, mất động lực, không hạnh phúc, không tự tin, hoang mang, nản lòng và thậm chí là bỏ cuộc.
Kỹ năng học là một kỹ năng cực kỳ quan trọng, rất tiếc, rất nhiều học sinh và sinh viên hiện tại không biết cách học. Học lập trình thì còn đòi hỏi thêm nhiều kỹ năng đặc thù khác nữa, nhưng hiện tại lại có rất ít sách vở hoặc các kênh khác đề cập đến chủ đề này một cách bài bản.
Live Stream lần này sẽ đề cập đến nhiều nội dung liên quan đến nguyên lí, phương pháp và hướng dẫn để các bạn đang học lập trình có thể áp dụng ngay và nâng cao hiệu quả học tập nhằm có được sự tiến bộ nhanh chóng. Một số nội dung bao gồm: Học kiến thức, Rèn luyện kỹ năng, Rèn luyện thái độ, Rèn luyện thói quen, và một số các cách làm hay để duy trì động lực học tập. Live Stream cũng sẽ dành một khoảng thời gian để các thành viên có thể trao đổi, chia sẻ và nhận được các lời khuyên hữu ích về cách xử lý các tình huống trong quá trình học tập, và đồng thời có các định hướng học tập và nghề nghiệp đối với các bạn trẻ đang chưa định hình được rõ ràng lộ trình của mình.
Code Refactoring (Tái cấu trúc mã nguồn) là những kỹ thuật sắp xếp lại mã nguồn để chúng trở nên tốt hơn mà không làm ảnh hưởng tới hành vi của hệ thống đối với bên ngoài. Có rất nhiều kỹ thuật refactoring khác nhau, mỗi kỹ thuật đôi khi chỉ làm thay đổi một chút nho nhỏ mã nguồn, nhưng những thay đổi nhỏ đó được tích luỹ dần theo thời gian thì tạo nên một ảnh hưởng rất lớn, giúp cho hệ thống của chúng ta trở nên tốt hơn.
“Tốt” hơn nghĩa là thế nào? Nghĩa là chúng sẽ “clean” hơn và “SOLID” hơn.
Refactoring là một trong các nhóm kỹ thuật có liên quan đến nhau và ảnh hưởng đến nhau, bao gồm kiểm thử tự động, TDD, clean code, design pattern… và đều tuân thủ các nguyên lý quan trọng về thiết kế phần mềm.
Chủ đề Live Stream lần này về Code Refactoring sẽ đề cập đến ý nghĩa của refactoring, các kỹ thuật refactoring thông dụng và ứng dụng của chúng trong thực tế. Phiên demo sẽ có các hướng dẫn về việc sử dụng các công cụ để thực hiện các kỹ thuật refactoring và giải thích cụ thể lợi ích của chúng. Nếu bạn đã nghe về Clean Code, SOLID, Design Pattern thì phiên Live Stream lần này là một dịp không thể bỏ qua để hoàn thiện hơn nhóm các kỹ thuật quan trọng này.
Học lập trình là học gì? Đây là câu hỏi mà gần như ai quan tâm đến ngành nghề này đều đã từng đặt ra và cố công tìm kiếm câu trả lời ở đâu đó.
Nhưng không dễ để có được một câu trả lời đầy đủ và dễ hiểu nếu không có được góc nhìn từ nhiều khía cạnh, nhất là từ khía cạnh kỹ thuật, học thuật và học tập. Đối với những người mới bắt đầu tìm hiểu thì lại càng "loạn" hơn nữa, bởi vì bạn tiếp nhận quá nhiều luồng thông tin và ý kiến khác nhau, chẳng hạn như:
* Học lập trình thì cần phải giỏi toán
* Phải rành về máy tính thì mới học được
* Phải đam mê công nghệ thì mới học được
* Phải học thật nhiều thuật toán
* Phải học tư duy lập trình
* Phải lựa chọn ngôn ngữ lập trình hot mà học
* Phải lựa chọn framework hot để mà học
* Phải học kỹ năng mềm thì mới đi làm được
* v.v...
Phiên livestream này được tổ chức dành riêng cho những người mới bắt đầu học lập trình hoặc đang tìm hiểu về ngành nghề lập trình để giúp mọi người dễ nắm bắt nhất những thứ mà một người cần phải học và rèn luyện để trở thành một lập trình viên.
Nội dung trao đổi trong phiên livestream bao gồm:
* Bộ năng lực của lập trình viên từ góc nhìn của doanh nghiệp (học gì để làm được việc)
* Bộ năng lực của lập trình viên từ góc nhìn của cá nhân người học (học gì để có thể phát triển bền vững lâu dài)
* Bộ năng lực của lập trình viên từ góc nhìn của những người làm đào tạo (học gì cho hiệu quả tốt nhất)
* Lộ trình học tập cho người mới bắt đầu
* Các khó khăn mà người mới bắt đầu có thể gặp phải
* Các lời khuyên dành cho người mới bắt đầu
* Hỏi & Đáp giữa những người tham gia và diễn giả
agilecamp 2019 - business agility handbookSteve Ngo
agilecamp 2019 - business agility handbook
***About Magestore***
Magestore là công ty cung cấp giải pháp phần mềm cho các doanh nghiệp bán lẻ. Đối tượng khách hàng chủ yếu là các chuỗi bán lẻ của Mỹ và Châu u. Giải pháp của Magestore được xây dựng based trên nền tảng Magento.
Các bạn có thể xem thêm thông tin về sản phẩm của Magestore tại: https://www.magestore.com
***About Magestore Culture***
Các bạn có thể tìm hiểu thêm nhiều thông tin nữa về con người và văn hóa của Magestore tại website https://insights.magestore.com
***Các vị trí mà Magestore đang tuyển dụng***
Magestore là một công ty phát triển sản phẩm nên cần đội ngũ nhân sự chất lượng cao ở nhiều vị trí như:
#Full-stack Developer, Global Retail Solution #Business Consultant #Digital Marketing Executive #AI Engineer
Các bạn có thể tham khảo thông tin cụ thể về các vị trí tuyển dụng tại link sau:
https://insights.magestore.com/nextgen
Tại sao chúng ta lại cần Lập trình Hướng Đối tượng? Mô hình Hướng Đối tượng thì giải quyết những vấn đề gì? Thế nào là một thiết kế Hướng Đối tượng tốt? Chúng ta cần phải làm gì để có một thiết kế tốt? Tất cả những câu hỏi này sẽ được đề cập trong Live Stream “SOLID – Những nguyên lí sống còn”.
SOLID là bộ 5 nguyên lí thiết yếu mà bậc thầy lập trình Robert C. Martin khuyến nghị và cổ suý. SOLID vừa là chuẩn mực, vừa là mục đích mà các lập trình viên hướng đến. Hiểu được các nguyên lí này đã không phải là chuyện dễ, hiện thực được chúng trong các hệ thống lại càng khó hơn. Trong Live Stream này, chúng ta cũng sẽ bàn đến mối quan hệ giữa các khái niệm và kỹ thuật như: SOLID, Design Pattern, Refactoring, Clean Code, Automation Test... tất cả những khái niệm này, tưởng chừng như rời rạc, nhưng thực ra lại có mối quan hệ gắn bó rất mật thiết. Mỗi khái niệm, kỹ thuật đều có mục đích và nhiệm vụ riêng của nó, đóng góp chung vào chất lượng của sản phẩm.
Lập trình viên hiện đại, không chỉ cần biết viết mã, mà còn phải làm chủ rất nhiều các kỹ năng khác, chẳng hạn như phân tích, thiết kế, giao tiếp, vận hành… và kể cả kiểm thử. Tại sao lại như thế? LiveStream lần này sẽ đề cập đến một chuyên môn có vẻ là mới mẻ đối với những người mới học lập trình, nhưng thực ra nó đã và đang trở thành một kỹ năng “cứng” đối với các lập trình viên hiện đại.
Cũng giống như trước đây, sử dụng được tiếng Anh là có thể kiếm cơm bằng một nghề nào đó liên quan đến kỹ năng này, còn bây giờ thì sử dụng được tiếng Anh là một trong những kỹ năng bắt buộc đối với phần lớn nhân viên văn phòng, và kể cả với Lập trình viên. Kỹ năng kiểm thử cũng như thế, để làm việc được trong các dự án tốt ngày nay, Lập trình viên chắc chắn phải làm chủ được kỹ năng quan trọng liên quan đến kiểm thử, đặc biệt là kiểm thử tự động và TDD.
Tất nhiên, Lập trình viên sẽ không thay thế Kiểm thử viên, hay nói cách khác, Kiểm thử viên sẽ không thất nghiệp. Vậy với tư cách là một lập trình viên, chúng ta sẽ làm những công việc gì, để đạt được những mục đích gì liên quan đến kiểm thử và chất lượng phần mềm? Hẹn gặp mọi người trong phiên LiveStream: Automation Testing & TDD.
ScrumDay Vietnam 2013: Ứng dụng Jira trong Phát triển Phần mềm Linh hoạt - Ng...Vu Hung Nguyen
Giới thiệu
ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích:
Giới thiệu và thúc đẩy sự phát triển Agile\Scrum
Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam
Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia
Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum
Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau:
Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh.
Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty
Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market"
Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình
Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.
ScrumDay Vietnam 2013: Building Reliable Agile Teams - Lê Văn TuấnVu Hung Nguyen
Giới thiệu
ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích:
Giới thiệu và thúc đẩy sự phát triển Agile\Scrum
Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam
Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia
Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum
Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau:
Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh.
Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty
Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market"
Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình
Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.
ScrumDay Vietnam 2013: PMBOK là Waterfall hay Agile? - Phùng Thanh CườngVu Hung Nguyen
Giới thiệu
ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích:
Giới thiệu và thúc đẩy sự phát triển Agile\Scrum
Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam
Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia
Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum
Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau:
Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh.
Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty
Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market"
Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình
Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...Vu Hung Nguyen
Giới thiệu
ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích:
Giới thiệu và thúc đẩy sự phát triển Agile\Scrum
Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam
Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia
Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum
Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau:
Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh.
Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty
Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market"
Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình
Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.
Design Pattern - Những công thức vàng trong thiết kếNhật Nguyễn Khắc
Link video: https://www.youtube.com/watch?v=VbOJrq71lVA
Chúng ta đã bàn về Clean Code và SOLID, đã biết về các lợi ích của chúng. Câu hỏi quan trọng còn lại là:
Làm thế nào để có Clean Code và SOLID?
Câu trả lời sẽ liên quan đến nhiều yếu tố khác nhau, bao gồm cả văn hoá, thói quen, trình độ năng lực, các kỹ thuật và công cụ..., và trong đó một yếu tốt rất quan trọng là chúng ta cần sử dụng tốt Design Pattern.
Design Pattern là các giải pháp tổng quát có thể tái sử dụng cho các trường hợp thường gặp khi thiết kế kiến trúc phần mềm.
Một số lợi ích của Design Pattern có thể kể đến như:
- Đẩy nhanh tốc độ thiết kế và phát triển phần mềm
- Chất lượng của giải pháp đã được minh chứng
- Ngăn ngừa các vấn đề phát sinh nếu thiết kế không tốt
- Có thể áp dụng cho rất nhiều tình huống khác nhau
- Dễ dàng cộng tác, chia sẻ thiết kế và mã nguồn giữa các bên.
Trong phiên Livestream về chủ đề Design Pattern, chúng ta sẽ bàn kỹ hơn về khái niệm quan trọng này, các ý nghĩa của nó, điểm qua các Design Pattern được sử dụng phổ biến và đồng thời xem xét một số ứng dụng của Design Pattern trong các tình huống thực tế.
Đối với bất cứ việc gì, nếu có cách làm tốt thì hiệu quả sẽ cao, ngược lại thì sẽ rất vất vả. Việc học nói chung, và việc học lập trình nói riêng cũng vậy. Nếu không biết cách học, chúng ta sẽ rất vất vả, lâu đạt được thành quả, mất động lực, không hạnh phúc, không tự tin, hoang mang, nản lòng và thậm chí là bỏ cuộc.
Kỹ năng học là một kỹ năng cực kỳ quan trọng, rất tiếc, rất nhiều học sinh và sinh viên hiện tại không biết cách học. Học lập trình thì còn đòi hỏi thêm nhiều kỹ năng đặc thù khác nữa, nhưng hiện tại lại có rất ít sách vở hoặc các kênh khác đề cập đến chủ đề này một cách bài bản.
Live Stream lần này sẽ đề cập đến nhiều nội dung liên quan đến nguyên lí, phương pháp và hướng dẫn để các bạn đang học lập trình có thể áp dụng ngay và nâng cao hiệu quả học tập nhằm có được sự tiến bộ nhanh chóng. Một số nội dung bao gồm: Học kiến thức, Rèn luyện kỹ năng, Rèn luyện thái độ, Rèn luyện thói quen, và một số các cách làm hay để duy trì động lực học tập. Live Stream cũng sẽ dành một khoảng thời gian để các thành viên có thể trao đổi, chia sẻ và nhận được các lời khuyên hữu ích về cách xử lý các tình huống trong quá trình học tập, và đồng thời có các định hướng học tập và nghề nghiệp đối với các bạn trẻ đang chưa định hình được rõ ràng lộ trình của mình.
Code Refactoring (Tái cấu trúc mã nguồn) là những kỹ thuật sắp xếp lại mã nguồn để chúng trở nên tốt hơn mà không làm ảnh hưởng tới hành vi của hệ thống đối với bên ngoài. Có rất nhiều kỹ thuật refactoring khác nhau, mỗi kỹ thuật đôi khi chỉ làm thay đổi một chút nho nhỏ mã nguồn, nhưng những thay đổi nhỏ đó được tích luỹ dần theo thời gian thì tạo nên một ảnh hưởng rất lớn, giúp cho hệ thống của chúng ta trở nên tốt hơn.
“Tốt” hơn nghĩa là thế nào? Nghĩa là chúng sẽ “clean” hơn và “SOLID” hơn.
Refactoring là một trong các nhóm kỹ thuật có liên quan đến nhau và ảnh hưởng đến nhau, bao gồm kiểm thử tự động, TDD, clean code, design pattern… và đều tuân thủ các nguyên lý quan trọng về thiết kế phần mềm.
Chủ đề Live Stream lần này về Code Refactoring sẽ đề cập đến ý nghĩa của refactoring, các kỹ thuật refactoring thông dụng và ứng dụng của chúng trong thực tế. Phiên demo sẽ có các hướng dẫn về việc sử dụng các công cụ để thực hiện các kỹ thuật refactoring và giải thích cụ thể lợi ích của chúng. Nếu bạn đã nghe về Clean Code, SOLID, Design Pattern thì phiên Live Stream lần này là một dịp không thể bỏ qua để hoàn thiện hơn nhóm các kỹ thuật quan trọng này.
Học lập trình là học gì? Đây là câu hỏi mà gần như ai quan tâm đến ngành nghề này đều đã từng đặt ra và cố công tìm kiếm câu trả lời ở đâu đó.
Nhưng không dễ để có được một câu trả lời đầy đủ và dễ hiểu nếu không có được góc nhìn từ nhiều khía cạnh, nhất là từ khía cạnh kỹ thuật, học thuật và học tập. Đối với những người mới bắt đầu tìm hiểu thì lại càng "loạn" hơn nữa, bởi vì bạn tiếp nhận quá nhiều luồng thông tin và ý kiến khác nhau, chẳng hạn như:
* Học lập trình thì cần phải giỏi toán
* Phải rành về máy tính thì mới học được
* Phải đam mê công nghệ thì mới học được
* Phải học thật nhiều thuật toán
* Phải học tư duy lập trình
* Phải lựa chọn ngôn ngữ lập trình hot mà học
* Phải lựa chọn framework hot để mà học
* Phải học kỹ năng mềm thì mới đi làm được
* v.v...
Phiên livestream này được tổ chức dành riêng cho những người mới bắt đầu học lập trình hoặc đang tìm hiểu về ngành nghề lập trình để giúp mọi người dễ nắm bắt nhất những thứ mà một người cần phải học và rèn luyện để trở thành một lập trình viên.
Nội dung trao đổi trong phiên livestream bao gồm:
* Bộ năng lực của lập trình viên từ góc nhìn của doanh nghiệp (học gì để làm được việc)
* Bộ năng lực của lập trình viên từ góc nhìn của cá nhân người học (học gì để có thể phát triển bền vững lâu dài)
* Bộ năng lực của lập trình viên từ góc nhìn của những người làm đào tạo (học gì cho hiệu quả tốt nhất)
* Lộ trình học tập cho người mới bắt đầu
* Các khó khăn mà người mới bắt đầu có thể gặp phải
* Các lời khuyên dành cho người mới bắt đầu
* Hỏi & Đáp giữa những người tham gia và diễn giả
agilecamp 2019 - business agility handbookSteve Ngo
agilecamp 2019 - business agility handbook
***About Magestore***
Magestore là công ty cung cấp giải pháp phần mềm cho các doanh nghiệp bán lẻ. Đối tượng khách hàng chủ yếu là các chuỗi bán lẻ của Mỹ và Châu u. Giải pháp của Magestore được xây dựng based trên nền tảng Magento.
Các bạn có thể xem thêm thông tin về sản phẩm của Magestore tại: https://www.magestore.com
***About Magestore Culture***
Các bạn có thể tìm hiểu thêm nhiều thông tin nữa về con người và văn hóa của Magestore tại website https://insights.magestore.com
***Các vị trí mà Magestore đang tuyển dụng***
Magestore là một công ty phát triển sản phẩm nên cần đội ngũ nhân sự chất lượng cao ở nhiều vị trí như:
#Full-stack Developer, Global Retail Solution #Business Consultant #Digital Marketing Executive #AI Engineer
Các bạn có thể tham khảo thông tin cụ thể về các vị trí tuyển dụng tại link sau:
https://insights.magestore.com/nextgen
Tại sao chúng ta lại cần Lập trình Hướng Đối tượng? Mô hình Hướng Đối tượng thì giải quyết những vấn đề gì? Thế nào là một thiết kế Hướng Đối tượng tốt? Chúng ta cần phải làm gì để có một thiết kế tốt? Tất cả những câu hỏi này sẽ được đề cập trong Live Stream “SOLID – Những nguyên lí sống còn”.
SOLID là bộ 5 nguyên lí thiết yếu mà bậc thầy lập trình Robert C. Martin khuyến nghị và cổ suý. SOLID vừa là chuẩn mực, vừa là mục đích mà các lập trình viên hướng đến. Hiểu được các nguyên lí này đã không phải là chuyện dễ, hiện thực được chúng trong các hệ thống lại càng khó hơn. Trong Live Stream này, chúng ta cũng sẽ bàn đến mối quan hệ giữa các khái niệm và kỹ thuật như: SOLID, Design Pattern, Refactoring, Clean Code, Automation Test... tất cả những khái niệm này, tưởng chừng như rời rạc, nhưng thực ra lại có mối quan hệ gắn bó rất mật thiết. Mỗi khái niệm, kỹ thuật đều có mục đích và nhiệm vụ riêng của nó, đóng góp chung vào chất lượng của sản phẩm.
Lập trình viên hiện đại, không chỉ cần biết viết mã, mà còn phải làm chủ rất nhiều các kỹ năng khác, chẳng hạn như phân tích, thiết kế, giao tiếp, vận hành… và kể cả kiểm thử. Tại sao lại như thế? LiveStream lần này sẽ đề cập đến một chuyên môn có vẻ là mới mẻ đối với những người mới học lập trình, nhưng thực ra nó đã và đang trở thành một kỹ năng “cứng” đối với các lập trình viên hiện đại.
Cũng giống như trước đây, sử dụng được tiếng Anh là có thể kiếm cơm bằng một nghề nào đó liên quan đến kỹ năng này, còn bây giờ thì sử dụng được tiếng Anh là một trong những kỹ năng bắt buộc đối với phần lớn nhân viên văn phòng, và kể cả với Lập trình viên. Kỹ năng kiểm thử cũng như thế, để làm việc được trong các dự án tốt ngày nay, Lập trình viên chắc chắn phải làm chủ được kỹ năng quan trọng liên quan đến kiểm thử, đặc biệt là kiểm thử tự động và TDD.
Tất nhiên, Lập trình viên sẽ không thay thế Kiểm thử viên, hay nói cách khác, Kiểm thử viên sẽ không thất nghiệp. Vậy với tư cách là một lập trình viên, chúng ta sẽ làm những công việc gì, để đạt được những mục đích gì liên quan đến kiểm thử và chất lượng phần mềm? Hẹn gặp mọi người trong phiên LiveStream: Automation Testing & TDD.
ScrumDay Vietnam 2013: Ứng dụng Jira trong Phát triển Phần mềm Linh hoạt - Ng...Vu Hung Nguyen
Giới thiệu
ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích:
Giới thiệu và thúc đẩy sự phát triển Agile\Scrum
Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam
Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia
Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum
Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau:
Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh.
Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty
Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market"
Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình
Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.
ScrumDay Vietnam 2013: Building Reliable Agile Teams - Lê Văn TuấnVu Hung Nguyen
Giới thiệu
ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích:
Giới thiệu và thúc đẩy sự phát triển Agile\Scrum
Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam
Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia
Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum
Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau:
Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh.
Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty
Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market"
Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình
Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.
Introduction to Lean Principles
Planning of your work processes to improve flow
Amy Hodgkinson and Trevor Taylor
National Improvement Leads, NHS IQ
Presentation from the Productive Endoscopy Workshop, Tuesday 15th October 2013 at Ambassadors Bloomsbury , London, WC1H 0HX
This meeting brought together teams from around the country, and embarked on creating and testing the productive endoscopy toolkit. The aim of the day is to allow time with your team for sharing of experiences and exchange of good practice, learn how to apply lean techniques and hear the impact of successfully implemented case studies.
ScrumDay Vietnam 2013: Công nghệ thông tin trong kỷ nguyên toàn cầu hóa - Chu...Vu Hung Nguyen
Giới thiệu
ScrumDay là một chuỗi hội thảo phi lợi nhuận chuyên sâu về phương pháp phát triển phần mềm Agile\Scrum, sự kiện này được diễn ra tại nhiều thành phố trên thế giới. Năm 2012, lần đầu tiên Cộng đồng Scrum tại Hà Nội đã tổ chức ScrumDay và đạt được nhiều thành công tốt đẹp. Đến 2013, ScrumDay với chủ đề “Transition” mong muốn tiếp tục là Ngày hội của cộng đồng Scrum Hà Nội với các mục đích:
Giới thiệu và thúc đẩy sự phát triển Agile\Scrum
Phát triển một cộng đồng Agile\Scrum lớn mạnh ở Việt Nam từ đó góp phần đổi mới và phát triển ngành phát triển phần mềm Việt Nam
Chia sẻ kinh nghiệm triển khai từ những người thực hành và chuyên gia
Hỗ trợ các Công ty\Tổ chức trong việc áp dụng và thực hành phương pháp Agile\Scrum
Khác với ScrumDay 2012 nội dung đề cập tới hầu hết các khía cạnh căn bản trong Agile\Scrum, đối tượng trải rộng từ sinh viên\developer tới những nhà quản lý, hội nghị năm nay với chủ đề là “Transition” và hướng tới các đối tượng như sau:
Giám đốc\Quản lý doanh nghiệp trong lĩnh vực phần mềm: những người mong muốn thấu hiểu khách hàng hơn, đáp ứng tốt hơn nguyện vọng của họ để phát triển kinh doanh.
Các CTO: những người đang đau đầu với sự thay đổi quá nhanh của Công nghệ, muốn có một công cụ mạnh hơn cho chiến lược công nghệ tại công ty
Team Leader: Những người mong muốn xây dựng một team mạnh Các Tech Startup founders: Những người luôn muốn tạo ra sản phẩm đột phá "disrupt the market"
Salesperson\Marketer: Những người muốn áp dụng Agile\Scrum vào công việc của mình
Những Nhà thực hành và nghiên cứu Agile\Scrum: những người đam mê và thực hành triết lý Agile, những người có đam mê chia sẻ hiểu biết để cùng nhau xây dựng một cộng đồng Agile mạnh tại Việt Nam, góp phần thúc đẩy sự phát triển của ngành.
Thesis - An application to manage software development process.Khánh Trần
This is the slide in the thesis projection at University of Information Technology. It's about why I chose Scrum, the new technologies to built it up; and result of 3 months of working hard.
Kĩ năng ứng dụng CNTT trong tìm việc làm và khởi nghiệp - ĐH KHXH& NV - Micro...Duong Le
Bài talk tại chương trình chia sẻ kĩ năng ứng dụng CNTT trong tìm việc làm và khởi nghiệp tại khoa QHQT của ĐH KHXH & NV của NGO Vietnet-ICT Microsoft #youthspark
Vai trò của Jenkins trong mô hình phát triển phần mềm AgileMinh Tri Lam
Vai trò của Jenkins trong mô hình phát triển phần mềm Agile
agile, continuous integration system, jenkins, quy trinh phat trien phan mem, xu huong phat trien phan mem
Đánh giá kết quả đào tạo là một trong những hoạt động khó, nhưng rất cần thiết để giúp doanh nghiệp có thể đánh giá lượng kiến thức, kỹ năng học viên tiếp thu được từ khóa đào tạo, xem xét khả năng và mức độ ứng dụng của các kỹ năng và kiến thức này trong công việc mà học viên đảm nhận.
HSM mang đến cho anh chị Khóa học "Đo lường hiệu quả đào tạo trong doanh nghiệp" nhằm giải quyết những bài toán khó đó.
Cải tiến các vấn từ quan điểm của khách hàng, từ quan điểm của nhà tư vấn để tạo nên một nhà máy có khả năng cạnh tranh trên phương diện kỹ thuật, chất lượng, chi phí, và giá thành. Đó là công việc của chúng tôi. Hirayama Việt Nam cung cấp dịch vụ tư vấn cải tiến nhà máy hiệu quả cao dựa trên phương thức sản xuất TPS (TOYOTA Production System) chúng tôi áp dụng các giải pháp đồng bộ với sự chỉ đạo của các chuyên gia tư vấn giàu kinh nghiệm đến từ Nhật Bản, và trong nước.
Chia sẻ kinh nghiệm học cờ cùng con - Nguyễn Vũ Kỳ Anh U8
Tham khảo:
Học cờ cùng con U6 https://www.slideshare.net/vuhung16plus/hoc-co-cung-con
Học cờ cùng con U7 https://www.slideshare.net/vuhung16plus/2018-hoc-co-cung-co-nguyen-vu-ky-anh-u7
2018 Học cờ cùng con - Nguyễn Vũ Kỳ Anh [U7]Vu Hung Nguyen
Chia sẻ kinh nghiệm học/dạy cờ với Nguyễn Vũ Kỳ Anh trong khoảng thời gian 1 năm U7
Học cờ cùng con U6 https://www.slideshare.net/vuhung16plus/hoc-co-cung-con
Học cờ cùng con U7 https://www.slideshare.net/vuhung16plus/2018-hoc-co-cung-co-nguyen-vu-ky-anh-u7
Học cờ cùng con U8 https://www.slideshare.net/vuhung16plus/hoc-co-cung-con-nguyen-vu-ky-anh-u8/
FPT Univ. Talkshow IT khong chi la lap trinhVu Hung Nguyen
FPT Univ. Talkshow: IT không chỉ là lập trình.
Nội dung:
Làm IT là làm cái gì?
Làm IT thì KHÔNG là cái gì?
Lập trình & kỹ năng cần thiết
Những nẻo đường IT (khác) (not coder)
Nghề gì lương cao? Cao bao nhiêu?
Giỏi code chưa chắc đã được gửi xe
(Kỹ năng) Cứng và mềm: Cầm cái nào?
Để coder nổi bật giữa đám đông
Fullstack làm (được) gì?
Kế hoạch cuộc đời
Basic & Advanced Scrum Framework / Scrum cơ bản và nâng cao:
Điểm nhấn:
- 100+ slides
- Nhiều nội dung từ cơ bản đến cao cấp
- Nhiều cách học (tự học cá nhân, theo nhóm)
- In-house training available (liên lạc tôi: Vũ Hưng...)
Nội dung chính:
- Giới thiệu & lịch sử Scrum
- Scrum cơ bản
- Scrum nâng cao
- Những câu hỏi thường gặp
- Các tình huống thực tế
- Bộ công cụ Agile/Scrum
- Trao đổi/thảo luận
File gốc: https://docs.google.com/presentation/d/1bnZTSitzNn9TTY1nJbYG2fA_Z3BriUoAvHqZorOABqg/edit#slide=id.g1ad7d55466_0_96
TALKSHOW – KHỞI ĐẦU TỪ SAU NHỮNG DÒNG CODE
Với mục tiêu tạo thêm nhiều cơ hội cho các bạn sinh viên ngành CNTT có cơ hội cọ xát kiến thức đã học với thực tế công việc qua việc tương tác cùng các chuyên gia có nhiều năm kinh nghiệm làm việc trong lĩnh vực CNTT,
⭐ Anh Nguyễn Vũ Hưng - Chuyên viên hướng nghiệp, Mentor tại FUNIX, thành viên hội đồng quản trị IT Experts Club và Agile Viet Nam.
⭐ Anh Bùi Xuân Cảnh - Sinh viên K1 Đại học FPT, hiện đang là Quản trị dự án tại FPT Software - FPT Top 100 Excellent Person Of The Year
Cùng tới tham dự Talkshow, để được:
⭐ Có cơ hội trao đổi trực tiếp và giải đáp các thắc mắc, trăn trở về định hướng nghề nghiệp tương lai,
⭐ Được tìm hiểu và thực hành các kiến thức, kỹ năng cần thiết của một kỹ sư CNTT,
⭐ VỚI CÁC SINH VIÊN SẮP RA TRƯỜNG các bạn sẽ được thỏa sức trong những chia sẻ kinh nghiệm, trải nghiệm phỏng vấn, cách đàm phán lương, trả lời phỏng vấn và câu chuyện khởi đầu từ chính trải nghiệm của các diễn giả.
Thời gian: từ 19:00 thứ Năm, ngày 02/03/2017
Địa điểm: Hội trường tầng 1, Tòa nhà Beta - Đại học FPT.
Đối tượng tham gia: Cán bộ, Giảng viên, Sinh viên ngành CNTT, trường Đại học FPT - cơ sở Hòa Lạc
Event link:
https://www.facebook.com/events/1851290055094563/
Mục đích:
Tài liệu này hướng dẫn các bước, cách chuẩn bị, techniques/tips cho một bài phát biểu. Áp dụng cho ngành IT (là chính)
Đối tượng:
Diễn giả
# Các buổi chia sẻ về IT/Công nghệ
# Đặc biệt là những diễn giả lần đầu phát biểu
Thuyết trình
Ban tổ chức sự kiện
MC sự kiện
Chia sẻ kinh nghiệm học/dạy cờ cùng con Nguyễn Vũ Kỳ Anh (U6)
Học cờ cùng con U6 https://www.slideshare.net/vuhung16plus/hoc-co-cung-con
Học cờ cùng con U7 https://www.slideshare.net/vuhung16plus/2018-hoc-co-cung-co-nguyen-vu-ky-anh-u7
Học cờ cùng con U8 https://www.slideshare.net/vuhung16plus/hoc-co-cung-con-nguyen-vu-ky-anh-u8/
2. Trích chéo
• Đã: FPT Aptech Hanoi, Khoa Quốc tế - ĐH
FPT, AgileVietnam.
• Khởi xướng HanoiScrum
• Hiện nay: nghỉ hưu non AgileVietnam, làm
RnD ở ĐH FPT và Cánh Buồm, công việc
chính: thí nghiệm.
3. Nội dung
Agile là gì?
Tại sao Agile?
Agile là gì?
Tại sao Agile?
Ví dụ
XP
Scrum
Lean
& Lean Startup
Ví dụ
XP
Scrum
Lean
& Lean Startup
Trở nên/dùng agile
cách nào ?
Tư duy
Kĩ thuật
Cộng tác
Công cụ
Trở nên/dùng agile
cách nào ?
Tư duy
Kĩ thuật
Cộng tác
Công cụ
5. Có vài người nghĩ là phải làm phần mềm gì đấy
để phục vụ việc gì đấy
Rồi đổ tiền vào
Giao nhiệm vụ cho (vài) người nào đấy
Rồi nghĩ ra vài chức năng cần phải có, được gọi là
YÊU CẦU
(REQUIREMENTS)
6. Công việc xây dựng phần mềm được quẳng cho
ĐỘI SẢN XUẤT
Bọn này ngồi lại với nhau để
LẬP KẾ HOẠCH
Tháng tới làm gì
Để có được (vài) chức năng nào đó hoàn
chỉnh
để “show hàng” vào cuối tháng
7. Kết quả của buổi họp lập kế hoạch
là một
BẢN KẾ HOẠCH
Gồm mục tiêu
và
những việc cần làm trong tháng
8. Dựa trên Bản kế hoạch ấy
Đội sản xuất hì hụi
ai có việc người ấy làm
cộng tác chặt chẽ với nhau
Ngày nào cũng Họp
15 phút mỗi ngày
Để đồng bộ hóa công việc của
nhau, nắm tiến độ và phát hiện
trở ngại (JIT PLANNING)
9. Nếu có việc gì phải làm thêm,
hoặc bớt đi vài việc không cần
làm nữa
Thì cập nhật luôn vào
Bản Kế hoạch
13. Chưa xong, còn phải ngồi lại xem thời gian vừa rồi
làm việc có ỔN không, có thể làm tốt hơn không?
Cố tìm cho bằng được cái gì đó để CẢI TIẾN cho tháng tiếp theo
17. eXtreme Programming
Đọc thêm: http://www.hanoiscrum.net/hnscrum/learning/167
Nguyên lý
• Phản hồi nhanh (Rapid
Feedback)
• Giả định Đơn giản
(Assume Simplicity)
• Thay đổi tăng trưởng
(Incremental Change)
• Sống chung với Thay
đổi (Embracing Change)
• Công việc chất lượng
cao (Quality Work)
Nguyên lý
• Phản hồi nhanh (Rapid
Feedback)
• Giả định Đơn giản
(Assume Simplicity)
• Thay đổi tăng trưởng
(Incremental Change)
• Sống chung với Thay
đổi (Embracing Change)
• Công việc chất lượng
cao (Quality Work)
Giá trị
• Giao tiếp
(Communication)
• Tính đơn giản
(Simplicity)
• Phản hồi (Feedback)
• Tôn trọng (Respect)
• Can đảm (Courage)
Giá trị
• Giao tiếp
(Communication)
• Tính đơn giản
(Simplicity)
• Phản hồi (Feedback)
• Tôn trọng (Respect)
• Can đảm (Courage)
Phát triển những phần mềm với chất
lượng cao nhất, với chi phí thấp nhất, ít
lỗi nhất, siêu năng suất và tối đa hóa lợi
nhuận đầu tư
Phát triển những phần mềm với chất
lượng cao nhất, với chi phí thấp nhất, ít
lỗi nhất, siêu năng suất và tối đa hóa lợi
nhuận đầu tư
18. Kĩ thuật XP
Xem thêm: http://www.slideshare.net/duongtrongtan/practices-of-an-agile-developer-16001474
19. Lean Software Development
Sử dụng Tư duy Tinh gọn (Lean Thinking)
cho lĩnh vực phát triển phần mềm
Sử dụng Tư duy Tinh gọn (Lean Thinking)
cho lĩnh vực phát triển phần mềm
7 Nguyên lý
1. Loại bỏ lãng phí
2. Khuếch trương việc học
3. Quyết định càng muộn
càng tốt
4. Chuyển giao càng
nhanh càng tốt
5. Trao quyền cho nhóm
6. Tạo ra tính toàn vẹn tự
thân
7. Thấy toàn cảnh
7 Nguyên lý
1. Loại bỏ lãng phí
2. Khuếch trương việc học
3. Quyết định càng muộn
càng tốt
4. Chuyển giao càng
nhanh càng tốt
5. Trao quyền cho nhóm
6. Tạo ra tính toàn vẹn tự
thân
7. Thấy toàn cảnh
Đọc thêm: http://www.hanoiscrum.net/hnscrum/learning/168-agilemethod3-lean-software-development
22 Công cụ
1. Nhìn ra Lãng phí
2. Ánh xạ Dòng Giá trị
3. Phản hồi
4. Phân đoạn
5. Đồng bộ hóa
6. Phát triển theo lô
7. Tư duy Lựa chọn
8. Trách nhiệm Phút cuối
9. Ra quyết định
10. Hệ thống kéo
22 Công cụ
1. Nhìn ra Lãng phí
2. Ánh xạ Dòng Giá trị
3. Phản hồi
4. Phân đoạn
5. Đồng bộ hóa
6. Phát triển theo lô
7. Tư duy Lựa chọn
8. Trách nhiệm Phút cuối
9. Ra quyết định
10. Hệ thống kéo
11. Lý thuyết Hàng đợi
12. Giá của Trì hoãn
13. Tự-Xác-định
14. Động viên
15. Lãnh đạo
16. Chuyên môn
17. Toàn vẹn Nhận thức
18. Toàn vẹn Khái niệm
19. Tái cấu trúc
20. Kiểm thử
21. Đo lường
22. Hợp đồng
11. Lý thuyết Hàng đợi
12. Giá của Trì hoãn
13. Tự-Xác-định
14. Động viên
15. Lãnh đạo
16. Chuyên môn
17. Toàn vẹn Nhận thức
18. Toàn vẹn Khái niệm
19. Tái cấu trúc
20. Kiểm thử
21. Đo lường
22. Hợp đồng
20. Kanban
Phương pháp luận Cải tiến
Quy trình theo cách thức
tiến hóa và tăng trưởng
‘Complex Adaptive System for Lean’
Phương pháp luận Cải tiến
Quy trình theo cách thức
tiến hóa và tăng trưởng
‘Complex Adaptive System for Lean’
Không cần Phân đoạn? Bỏ luôn!
Không cần Ước lượng? Bỏ luôn!
Không cần Phân đoạn? Bỏ luôn!
Không cần Ước lượng? Bỏ luôn!
5 Đặc điểm
1. Trực quan hóa Luồng công việc
2. Giới hạn Việc-đang-làm
3. Đo lường và Quản lí Luồng
4. Công khai Chính sách Quy
trình
5. Dùng Mô hình để nhận biết
các cơ hội Cải tiến
5 Đặc điểm
1. Trực quan hóa Luồng công việc
2. Giới hạn Việc-đang-làm
3. Đo lường và Quản lí Luồng
4. Công khai Chính sách Quy
trình
5. Dùng Mô hình để nhận biết
các cơ hội Cải tiến
23. Minimum Viable Product
Gồm những tính năng
tối giản đủ để học từ
thực tiễn, sớm nhất có
thể
• Tránh làm ra chức
năng không ai dùng
• Mỗi ‘đồng’ bỏ ra đều
thu được bài học quý
BuildBuild
26. Agile | Agility | Linh hoạt
• Ken Schwaber:
1. flexibility, the capacity and
capability of rapidly and
efficiently adapting to
change.
2. ability to take advantage
of opportunities while
controlling risk.
Wiki:
Agile Software Development: một họ các phương pháp phát triển phần mềm
dựa trên các nguyên lí tăng trưởng (incremental) và lặp (iterative), trong đó
các yêu cầu và giải pháp tiến hóa thông qua sự cộng tác giữa các nhóm liên
chức năng (cross-functional) tự tổ chức (self-organizing).
27. Triết lí Agile
• Định nghĩa các giá trị cốt
lõi
• Định hướng các phương
pháp Agile
• Mô tả trong Tuyên ngôn
Agile (Manifesto) và 12
Nguyên lí Agile.
28. Tuyên ngôn
Phát triển Phần mềm Linh hoạt
28
Chúng tôi đã phát hiện ra cách tốt hơn để phát triển phần
mềm thông qua việc thực hiện nó và giúp đỡ người khác thực hiện.
Qua công việc này, chúng tôi đã đi đến việc đánh giá cao:
Cá nhân và tương tác hơn là quy trình và công cụ;hơn là quy trình và công cụ;
Phần mềm chạy tốt hơn là tài liệu đầy đủ;hơn là tài liệu đầy đủ;
Cộng tácvới khách hàng hơn là đàm phán hợp đồng;hơn là đàm phán hợp đồng;
Phản hồi với thay đổi hơn là bám sát kế hoạch.hơn là bám sát kế hoạch.
Mặc dù các thứ bên phải vẫn còn giá trị, chúng tôi đánh giá cao hơn
các mục ở bên trái.
Dịch từ: AgileManifesto.org
Xem thêm: http://www.hanoiscrum.net/hnscrum/learning/145-agileprincipleandvalues
29. Tuần tự và Chồng lấp
Nguồn: “The New New Product Development Game” của Takeuchi và
Nonaka. Harvard Business Review, tháng Giêng 1986.
Phát triển tuần tự
Nhóm Scrum làm mỗi thứ một ít ở mọi thời điểm, tập trung đưa ra
các chức năng [chạy tốt] sớm nhất.
29
38. Độ trực quan Khả năng thay đổi
Giá trị mang lại Rủi ro
Tại sao Agile? Nguồn: Ken Schwaber
39. Công cụ hỗ trợ
• Index Card, Miếng giấy dán (sticky notes)
• Planning Poker
• Task Board|Kanban Board|Scrum Board| Các loại bảng
• Công cụ giao tiếp (Skype, Hangout,Yammer …)
• Các công cụ soạn thảo cộng tác: wiki, online office
suites, mindmapping …
• Các hệ ALM( Application Lifecycle Management) của
MS, IBM, HP, Rally, CollabNet, VersionOne, Atlassian,
Redmine ...
• Các phần mềm tự động hóa: CI (continuous
integration), các test automation framework (xUnit,
Cucumber, FitNess, Robots …)
• Và nhiều nữa …
40. User Story
& Backlogs
User Story
& Backlogs
Image: iqupi.wordpress.com mountaingoatsoftware.com agilemodeling.com agilistapm.com
43. Học và hành
Học thông qua …
• Ghép cặp (Pairing)
• Cộng đồng thực hành
(Coding Dojo, Interest
Group …)
• Hội thảo chuyên ngành
(AgileTour, ScrumDay …)
• Đọc sách
• Các tài nguyên online
(video)
• Thuyết trình|Dạy lại người
khác
Thực hành
• Thực học là để làm, làm
được mới được coi là học
được
• Pilot project
• Các bài tập lớn (assignment)
• Các Dự án|Đồ án (Project)
• Quản lí công việc cá nhân
(Personal Kanban, Personal
Scrum, Lean …)
44. Học tập cũng cần chiến lược
SHU
Bám sát Quy tắc
SHU
Bám sát Quy tắc
HA
Nghĩ lại về Quy tắc
Tìm kiếm ngoại lệ,
Phá vỡ Quy tắc
HA
Nghĩ lại về Quy tắc
Tìm kiếm ngoại lệ,
Phá vỡ Quy tắc
RI
Quên đi Quy tắc
RI
Quên đi Quy tắc
44
45. Tới Bruce Lee - bậc thầy Kungfu
Novice
Advanced
Beginner
Proficient
Competent
Expert
Image: http://goo.gl/1RzEE
Cậu bé bắt đầu học Vịnh Xuân
45
10.000
Giờ leo núi
51. Độ phức tạp của dự án
Scrum
Nguồn: Ken Schwaber
52. Đội Y
*************
1. Thời gian Daily Scrum: 9:00
2. Phạt đến muộn: 2 $
3. Mọi người đều tích hợp liên tục
4. Tái cấu trúc lại mã bẩn
5. Hỏi nếu không rõ
6. Sử dụng Lập trình cặp và TDD
7. Thực hiện đúng chuẩn viết mã
8. Kiểm tra lại Định nghĩa Hoàn thành
trước khi commit.
Quy tắc Làm việc
52
Đã kýĐã ký
53. Một tình huống phát triển
Requirement
Analysis
UI Mocking
• Customer
discussion
Design Draft
• Design Discussion
Code the
skeleton to
test the design
Coding in
team
Refactoring
and
Refinement
Build the
increment
$$
DevTeamPO
Collaboration:
Steps:
Artifacts:
As a super user,
I want to …
As a super user,
I want to …
A
B
IDo
Interface IDo{
//TODO …
}
Class A{
//TODO …
}
Class B:IDo{
//TODO …
}
Note:
TDD|BDD|AMDD can be used or not
Interface IDo{
//TODO …
}
Class A{
method1(){
//Mr. A codes here
}
}
Class B:IDo{
method1(){
//Mrs. B codes here
}
}
Class C{
}
$$
PO
53
54. User Story
• User story là các yêu cầu linh hoạt (agile requirement)
• Đảm bảo sự cân bằng của các bên tham gia phát triển
sản phẩm: khách hàng, người dùng và nhà phát triển
– Thể hiện bằng một ngôn ngữ hướng-người-dùng và các nhà
phát triển có thể hiểu được
• Hướng tới người dùng và nghiệp vụ, không chứa các đặc
tính về hệ thống
54
55. INVEST – các tiêu chuẩn cho một user
story tốt
55
Independent – Độc lậpIndependent – Độc lập
Negotiable – Đàm phán đượcNegotiable – Đàm phán được
Valuable – Đáng giáValuable – Đáng giá
Estimatable – Ước tính đượcEstimatable – Ước tính được
Sized appropriately – Kích thước phù hợpSized appropriately – Kích thước phù hợp
Testable – Kiểm thử đượcTestable – Kiểm thử được
56. Tập hợp các user story
Chuẩn bị các
câu hỏi
Chuẩn bị các
câu hỏi
Quan sátQuan sát
Phỏng vấn
người dùng
Phỏng vấn
người dùng
Viết user storyViết user story
56
57. Họp xây dựng user story
• Người tham gia: nhà phát triển, người dùng, khách
hàng, thành phần khác (được gọi là những “chú
lợn”)
• Thảo luận để đưa ra các story
• Mục tiêu là viết được càng nhiều story càng tốt
– Một số sẽ “sẵn sàng triển khai”
– Một số khác sẽ là “epic”
• Không xác định độ ưu tiên trong buổi hội thảo này
• Product Owner và những người có liên quan
được tham gia nhưng không bắt buộc.
57
58. Lập trình cặp
Pair-Programming
• Hai LTV cùng chia sẻ một vấn
đề, với một máy tính, một
bàn phím và với mục tiêu:
giải quyết vấn đề đó.
• Sử dụng sự ĐỒNG THUẬN,
nhưng thông qua TRANH
LUẬN!
• Một ví dụ về “luồng một sản
phẩm”
• Chậm hơn nhưng hiệu quả
hơn & chất lượng hơn
• Có 2 vai trò: Người lái
(Driver) và Hoa tiêu
(Navigator):
– Người lái không quan tâm tới bức
tranh toàn cảnh
– Người lái nên “rời bàn phím
trong giây lát”
– Hoa tiêu có xu hướng sử dụng tư
duy mẫu trong giải quyết vấn đề
58
59. Tích hợp Liên tục
• Tích hợp Liên tục (Continuous integration - CI)
triển khai liên tục các tiến trình để đảm bảo việc
quản lý chất lượng — từng phần nhỏ hiệu quả, áp
dụng thường xuyên.
• Được hỗ trợ bởi một hệ thống CI với rất nhiều các
kiểm thử tự động, build và các thành phần khác.
• Lợi ích:
– Tăng cường sự minh bạch
– Tăng cường sự hợp tác và truyền thông
– Cho phép mọi người cùng làm việc trên một mã
nguồn
59
61. Thiết kế tiến hóa
Incremental Design
Thiết kế
những thứ
phức tạp có
khả năng linh
hoạt trên
giấy hoặc
công cụ
Thiết kế tiến
hóa
61
Luôn có
những thứ
thay đổi bất
ngờ
Luôn có
những thứ
thay đổi bất
ngờ
Nhiều phức tạp
hơn mức cần
thiết. Khó khăn
trong việc bảo
trì
Dễ dàng thích
nghi. ID thay
đổi dễ dàng.
Giảm bớt phức
tạp
62. Làm Bản mẫu
• Bản mẫu có sớm sẽ giúp
người dùng dễ hình dung ra
sản phẩm sau khi hoàn
thành
• Khuyến khích sự tham gia
tích cực của người dùng và
nhà phát triển
• Tăng tốc độ phát triển hệ
thống
Xác định các
yêu cầu cơ bản
Phát triển bản
mẫu đầu
Xem xét
Kiểm tra và cải
tiến bản mẫu
62
63. Phát triển Hướng-Kiểm-thử
Test-Driven Development
• Không viết mã nguồn cho tới khi các kiểm
thử đã được thiết kế hoàn chỉnh!
• Chiến lược
– Làm cho Thất bại
• Không có mã nguồn nào mà không có kiểm thử thất
bại
– Làm cho Thành công
• Đơn giản nhất có thể
– Làm cho Tốt hơn
• Cải tiến (mã nguồn, thiết kế, kiểm thử, tài liệu)
– Tin tưởng vào việc kiểm thử
63
64. 64
Các bước trong TDD
Nguồn ảnh: Excirial (http://upload.wikimedia.org/wikipedia/en/9/9c/Test-driven_development.PNG)
66. Ba nhân tố RGB
66
Thất bạiThất bại
Thành
công
Thành
công
Cải tiếnCải tiến
67. Phát triển Hướng Kiểm thử
Chấp nhận (ATDD)
• Một kỹ thuật dành cho tự động kiểm thử chấp nhận
• Chiến lược 3D
– Thảo luận (Discuss) trong hội thảo về xác định yêu cầu
• Để xây dựng các thư viện kiểm thử
– Phát triển (Develop) với sự đồng thuận
• Để tạo ra nhiều tính năng đạt kiểm thử hơn
– Cung cấp (Deliver) các chấp nhận
• Để đạt được định nghĩa hoàn thành, cần sự chấp nhận của người
dùng
67
Yêu cầuYêu cầu
Kiểm thử
Chấp nhận Tự
động hóa
Kiểm thử
Chấp nhận Tự
động hóa TDDTDD
Định nghĩa
Hoàn thành
Định nghĩa
Hoàn thành
68. Phát triển Hướng-Hành-vi
Behavior-Driven Development
• Phát triển phần mềm được chỉ dẫn trực tiếp bởi các mô
tả hành vi và các tính năng (và mô phỏng).
• Hơi giống với ATDD, nhưng khác về tư duy
• Chất lượng phần mềm cao hơn, tính tự tổ chức tốt hơn
68
Xác nhận
lại hành
vi
Phát
triển
Xác nhận
với mô
phỏng UI
Các mô
tả hành
vi
69. Tái cấu trúc
Refactoring
• Bạn thực hành “viết mã một ít, sửa lỗi một ít”
=> kết quả là code bẩn và thiết kế tồi.
• Tái cấu trúc để code tốt hơn, có thiết kế
tốt hơn, vẫn giữ nguyên chức năng của
hệ thống
• Giữ cho mã nguồn:
– Dễ bảo trì
– Dễ mở rộng
– Tính gắn kết cao (High Cohesion)
– Ít phụ thuộc (Low Coupling)
– Loại bỏ trùng lặp
• Database cũng cần được tái cấu trúc cho phù hợp
69
70. Các kỹ thuật tái cấu trúc
• Trừu tượng hóa (Abstraction)
– Bao gói các trường
– Dùng kiểu khái quát (generic)
– Thay thế mã kiểm tra (check) với State/Strategy
– Thay thế các điều kiện bằng đa hình
• Phân tách mã
– Tạo mới phương thức, thay thế một phần lớn mã trong một
phương thức bằng phương thức khác
– Tạo thêm lớp mới
• Chuẩn hóa mã
– Chuyển phương thức hoặc trường
– Đổi tên phương thức, trường
– Đẩy lên lớp cấp trên hoặc lớp cha
– Đẩy xuống lớp cấp dưới hoặc lớp con
70