1. Developers are afraid of exposing their abilities to defects
Each team member's work is often reported on a daily basis, for example, during a meeting, when everyone reports the work. Each member of the team will know how much time you spend doing every day. If you have a job that takes more time than the normal process, you will feel that everyone is questioning you why. Also, discussing design issues in front of a whiteboard often exposes a person's ability to be inadequate or poorly communicated.
2. Require all-round developers
To be a successful agile developer, you need to be a competency with both code farmers, architects, test engineers and customers. Many companies train their employees for this, but the cost is high and not very effective.
3. The requirements for communication are too high
Because agile development is conducted in constant communication, team members need very good communication skills. But often a good programmer is not good at socializing and communicating. This is a problem. Some team members cannot effectively communicate their ideas to other members of the team.
4. Developers lack of business knowledge
Agile development requires developers to communicate directly with the client about the functionality of the program. But for a large project, it is not possible for each developer to understand all the features of the project. Maybe everyone will do a small piece of functionality. In this case, once a person leaves or leave, then the replacement of the programmer does not have the business knowledge of the function, when he went to communicate with the customer will be very unprofessional.
This shows that agile development does not solve all problems. It's a good way, but there are drawbacks. But there are ways to overcome these shortcomings. It is important to note that agility is a service, not a reverse! The introduction of Agile is why, is to solve what, want to do a few things at the same time may eventually lead to do bad.
2015 36th Tuesday