If you came across to any start-up, you might be hearing a lot about Agile SCRUM. You might be wondering why Start-ups are excited to use SCRUM as their only software development approach. To understand this, lets think like a start-up. I mean understand their business. Most of the time, Start-ups works to introduce product or solution to the market for catering new requirement. So, you need to understand requirement in detail and no one has expertise for this. It means that you will be starting with partial understanding of requirement. You must be wishing to see the partially developed product to validate your understanding. Moreover, you must be wishing to minimize impact of incorrect understanding and correct it ASAP. SCRUM helps in all these wishes if applied with caution.
A key principle of Scrum is its recognition that during product development, the customers can change their minds about what they want and need (often called requirements volatility), and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner. As such, Scrum adopts an evidence-based empirical approach—accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team's ability to deliver quickly, to respond to emerging requirements and to adapt to evolving technologies and changes in market conditions.
This is one important reason why startups are adopting this software development approach.
Below pic illustrates SCRUM process in compact manner.
It will be a challenge to measure a research in the bracket of 2-4 weeks which is a typical SCRUM duration. So, it will be difficult to use this process for research like work area.
Scrum is not a standardized process, but a set of recommendations. So, in one hand, it provides flexibility to the org to tweak, but on other hand it adds risk if org has misunderstood it. Because of this, agile is interpreted differently by every software team on this planet and while some subscribe to certain belief systems (i.e Scrum), most are profoundly confused by the whole thing and experience very few real benefits.
Enforcing an Agile style of development, communication, and work allocation means adding more management, not less. Many times, it becomes a justification for yet more micromanagement.
Documentation may be overlooked if the team focuses exclusively on delivery of features. So, special attention is needed to keep right balance between them.
Project can respond easily to change.
Problems are identified early.
Customer gets most beneficial work first.
Work done will better meet the customers needs.
Improved productivity and collaboration.
Ability to maintain a predictable schedule for delivery.
Pair Programming
Test Driven Development
Continuous Integration
Open communication, trust and respect
Failure acceptance
non-hierarchical culture
https://www.youtube.com/watch?v=MR88bbHf0wA
https://www.youtube.com/watch?v=epWidgZ259M
https://www.youtube.com/watch?v=9TycLR0TqFA
https://youtu.be/Sygm9x9sBEo?list=PLfoFZHHkIEDhHCNbkx5XNYJo-FPrHwFvh
https://www.youtube.com/watch?v=q1RqhRcPJZ0
http://scrumtrainingseries.com/
http://scrumreferencecard.com/scrum-reference-card/
https://www.youtube.com/watch?v=9TycLR0TqFA
https://www.quora.com/What-are-the-disadvantages-of-agile-software-development
http://stackoverflow.com/questions/208442/what-are-the-major-benefits-of-scrum-as-a-methodology
https://en.wikipedia.org/wiki/Scrum_(software_development)