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
1. ANTI PATTERNS
in IT Project Management
Agile Vietnam Conference 2016
Nguyễn Vũ Hưng
2016/10/16, Hà Nội
2. Agenda
1. Warmup with a real world case study
2. List of anti patterns; my stories
3. Your stories; discussions
4. Q&A
5. Closing
3. About Myself
1. Nguyễn Vũ Hưng, 1978
2. CTO, Fuji Technology
3. POS:
a. Agile
b. Open Source
c. Project Management
"Nguyen Vu Hung is the CTO of Fuji Technology.He has numerous years of IT and software development, project/product management in
both Japan and Vietnam. Considering himself as a FOSS and Agile evangelist and being a Agile lover and an CTO, he is also interested in
not-so-related domains such as human resource management and (organization) (re)structuring."
facebook.com/nguyenvuhung
vuhung16plus@gmail.com
+84-904-28-7878
2016/09/07, @VJU - Nguyen Vu Hung
5. Design Pattern
“In software engineering, a design pattern
is a general repeatable solution to a
commonly occurring problem in software
design. A design pattern isn't a finished
design that can be transformed directly
into code. It is a description or template
for how to solve a problem that can be
used in many different situations.”
6. “AntiPatterns, like their design pattern
counterparts, define an industry vocabulary for
the common defective processes and
implementations within organizations. A
higher-level vocabulary simplifies
communication between software practitioners
and enables concise description of higher-level
concepts.”
7. (Why) Most Software Projects Fail
According to a new research,
success in 68% of technology
projects is "improbable." Poor
requirements analysis causes
many of these failures, meaning
projects are doomed right from
the start (ZDNet)
Project
Failure
Poor
Requirements
Lack of
Supervision
Lack of
Resources
Unrealistic
Expectations
11. 99% Rule: It is NEARLY done
(nhưng mãi mãi không bao giờ xong)
Gần DONE, nhưng không CLOSE được, hoặc mãi mãi không close được.
The first 90 percent of the code accounts for the first 90 percent of the
development time. The remaining 10 percent of the code accounts for
the other 90 percent of the development time.[1]
— Tom Cargill, Bell Labs
13. Scope Creep:
Keep Scope Under Control
Uncontrolled changes or continuous growth in a project’s scope, or adding new features to
the project after the original requirements have been drafted and accepted (also known as
requirement creep and feature creep)
Possible cauues:
1. poor change control
2. lack of proper initial identification of what is required to bring
about the project objectives
3. weak project manager or executive sponsor
4. poor communication between parties
5. lack of initial product versatility
14. Brooks' Law
Adding more resources to a project to increase velocity,
when the project is already slowed down by coordination overhead.
Vào cuối dự án, càng thêm người dự án càng chậm.
15. Tester Driven Development
Software projects in which new requirements are specified in bug reports
Để testers lead cuộc chơi là hỏng. Khách hàng/PO hãy dẫn đầu.
20. Death by Planning:
(Don’t take too much time on planning. Thay vào đó, thãy tạo value cho sản phẩm/khách hàng)
21. Too Many Reports
Too Many Meetings
Developers spend too much time answering the concerns of managers and decision makers.
Họp dài nhất: Liên tục 12h
2 tuần qua: Họp liên tục 6h
22. Analysis Paralysis:
Don’t think, just start any way in an Agile way
Phân tích qua nhiều. Thay vào đó, hãy làm prototype, làm luôn, chấp nhận technical debt và kaizen vào sprints tiếp theo.
23. Viewgraph Engineering
Too much document, they are interim output that end-users don’t really want
Agile không chú trọng tài liệu bằng giá trị.
24. Fear of Success
Declare your success! Make your team confident.
Sợ không thành công.
Lo nhiều quá và không bắt đầu.
Suy nghĩ tiêu cực
25. Irrational Management:
1. Tạm dịch: Bất cập trong Quản lý
2. PM thiếu năng lực
3. Tính (xấu) của người quản lý dự án
4. “Tôi - PM - là người chạy dự án này, chứ không phải cách anh"
5. Độc tài
6. Gây khó chịu, mâu thuẫn nội bộ
7. Có bias (về kỹ thuật, con người, quy trình)
8. Không đưa ra được quyết định
9. Micromanagement là một ví dụ
10. Người lãnh đạo dự án (PM) không gây được ảnh hưởng, không động viên,
khích lệ được nhân viên
26. Project Mismanagement
1. Tạm dịch: Quản lý sai
2. Quản lý không đúng chỗ, cái cần quản lý thì không quản lý
3. Monitor và controll sai cái cần làm
4. Không priority được cái quan trọng nhất
5. Không nhìn ra được rủi ro lớn nhất (để hạn chế)
27. Guessworks
1. Vừa làm vừa đoán
2. Đầu vào (tài liệu thiết kế, test, code, yêu
cầu…) không rõ ràng
3. Phải vừa làm vừa đoán
4. Tăng chi phí communication
5. Trao đổi
a. Hệ quả là gì?
b. Phát sinh muda, muri, mura ra sao?
28. Throw It over the Wall:
The Code is finished (no testing, no documentation)
Technical debt cực lớn
29. Conway's Law
1. Thiết kế chương trình phản ánh cơ cấu tổ chức
2. Việc ra quyết định phức tạp dần nếu tổ chức phức tạp
3. Luồng thông tin trao đổi trong tổ chức ra sao thì dự án
chạy cũng như vậy
30. Death March
Chạy nước rút vào phút cuối.
"In project management, a death march is a project where
the members feel it is destined to fail, or requires a stretch
of unsustainable overwork. "
31. Zoombies
Thành viên nhóm không nói, không hỏi.
Không ai biết họ nghĩ gì, có issue gì, hiểu hay không hiểu.
Hệ quả: Thường là chìm xuồng.
35. References
1. http://en.wikipedia.org/wiki/Anti-pattern#Project_management
2. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis
3. http://sourcemaking.com/antipatterns/software-project-management-antipatterns
4. http://www.javagyan.com/tutorials/anti-patterns/software-architecture-antipatterns
5. AntiPatterns in Project Management 1st Edition
36. Software Development AntiPatterns
● Golden Hammer
● Dead End
● Spaghetti Code
● Input Kludge
● Walking through a Minefield
● Cut-And-Paste Programming
● Mushroom Management
● Golden Hammer
● Dead End
● Spaghetti Code
● Input Kludge
● Walking through a Minefield
● Cut-And-Paste Programming
● Mushroom Management
38. Dark Launching
Dark launching is a technique of "wrapping" the code of
new software features in a way that let you turn them on or
off. Perhaps turning them on and off for all your users, or
perhaps turning them on and off for only a subset of your
users (that meet some criteria).
39. E-mail Is Dangerous:
Không trao đổi thông tin nhạy cảm qua email.
Trao đổi trực tiếp
Không có log, chứng cứ
40. Intellectual Violence:
A form of communication breakdown
Đề cập tới một lý thuyết, phương pháp mới mà mọi người không hiểu (không follow được)
41. Corncob:
My ex-colleague, a difficult person (khó chịu, luôn phản đối, đưa ra ý kiến tiêu cực, tự nâng cao bản thân, ghen tị)
42. Fire Drill:
Months of boredom followed by demands for immediate delivery
Bình thường không có việc. Nhưng tự nhiên bắt làm luôn và ngay.
45. Change is Bad:
Nghĩ rằng Thay đổi (Change, Change Request) là không tốt, muốn stick mà plan/design/requirement ban đầu.
Thực tế: Sản phẩm, thị trường, yêu cầu, mọi thứ luôn biến động thay đổi.