1. No/ poor code review practice
2. No coding convention
3. Manual testing
4. No /low unit test coverage
5. Useless and outdated documentation
6. Bad cooperation between different teams
7. Legacy tool, code and frameworks. A lot of development debt
8. Not completely adopt container technology. Developing in different environment is painful
9. Filling task done each day in an Excel file and submitting it to Finance Department is meaningless
10. Goal, requirement and design of system can get wrong. Do thing wrong + do wrong thing
11. Employee engagement activities and staff meetings always hold outside office hours
12. Manual deployment for some projects
13. Deadline can be harsh
14. Lack of knowledge and code base sharing within the company. Knowledge loss when staff leaving
15. Penalty of no yearly bonus for "performance"