In: Computer Science
Does agile development work for every project? In your opinion, why might agile development not be suitable for companies all the time? What are some notable reasons why agile would not be the most effective or efficient methodology?
Answer:
No, agile cannot be used in every project. Agile is the use of an adaptive lifecycle instead of a predictive one. The predictive lifecycle defines and designs the product and their goal is to follow the plan. When it’s not possible to predict the product and adaptive lifecycle can be used. There you follow the feedback loop of creating small, usable parts of the product and use them to design and make the next subset based on the feedback.
Whether one follows Agile or not, it depends on a lot of people working on the project. But there are some scenarios where agile methodology might not work for the development of software-
Understanding of Agile methodology- Agile is about the self-organizing and self-managing approach. Teams of Agile need leaders, not managers. Such companies micromanage during meetings focusing on what is right or what is wrong in this type of culture, an employee cannot provide any solution on their own. They just follow their boss's orders. In the Agile approach, Teams must work together building on each other strengths and helping each other. Teams must be taught and trained well on “What is Agile” before starting work on an Agile approach.
Large Organizations- In large companies where collaboration is tough work on the “Agile” approach is too crucial. Big corporations often have teams distributed in different locations where members find it difficult to communicate and actively collaborate. In large enterprises, it can be that staff of one location understands agile and works on it but other location does not know it. All business units must understand Agile for a project to become successful.
Project plan and requirements are clear from clients but unlikely to change- If a software development team is working on a project for a client whose requirements are- (Speed, budgets, deadline are clear) wants to give detailed documented requirements at the beginning and wants to get involved only during end or testing phase, in this situation waterfall approach is better than Agile because budget and timeline cannot be estimated accurately in it. Agile projects are not plan based.
Agile methodology has many drawbacks due to these reasons it would not be the most effective methodology.
No deadline for time and budget – In the agile method, there is no limit for time, actually in this method developer does not commit for a time as well as budget. Most of the customers are there; whose is limited for time and budget. So in this type of project, you cannot use this methodology.
Lack of concentration on documentation- This methodology, documentation happens ‘just in time’ for building a project, not at the beginning. Result as, less detailed, often falls to the back burner.
Required high-level interaction between client and developers- most of the time is not possible, then it can be difficult to process.
No planning- This is not plan based methodology and team members won’t know what their end result will look like from day 1.