Fail Fast !
Title might confuse a bit but it's not a motivational article. It's based on Agile's Scrum approach.
Lets first under what is Agile and why?
What is Agile?
Agile is a framework used more over in IT organization for Project Management and software development approach. As per Scrum Alliance an Scrum body it defines Agile as, "Agile is a mindset, a way of work that allows product creators to easily adjust to stakeholder and user needs.". It is based on principles stated below,
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
This is Agile Manifesto. which describes, while there is value in the items on the right, we value the items on the left more.
As per Agile Manifesto it has 12 principles which an agile software approach should follow i.e.,
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity--the art of maximizing the amount of work not done--is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
So moving back to our title fail fast it is an approach derived from Scrum methodology part of Agile approach to software development. Agile describes product to be delivered in Iterations instead of a traditional waterfall approach. Agile can also be defined as multiple iterations (repetitions) of waterfall cycles in smaller time frame.
Each iteration is called Sprint. Product backlog is broken in pieces and activity of breaking them into pieces and planning it is called Sprint Planning. Sprint team consists of Product Owner( Who own's product backlog), Scrum Master (Monitors all scrum principles are been followed and team doesn't hit a road block) and Development team i.e. Business Analyst, Developer & Testers. Members can have various roles depending about organization structure.
If you look into most of Indian IT companies Business Analyst / Project Manager acts as Product Owner and Scrum master during project life cycle.
Also scrum states sprint planning should be between 2-4 weeks in an ideal scenario but that too can vary based on project approach. And team size would be between 5-9 individuals catering various roles of Agile team.
So Agile's Scrum approach helps to deliver a workable product after each iteration and after end of each Iteration a retrospective is done to understand 3 fundamentals for next sprint,
- What went well?
- What didn't went well?
- What should be done in future to avoid previous roadblocks?
In other words if first sprint had issues team has a chance to fix same and deliver a incremental module of product with much more effectiveness. This also encourages team to be self empowered and sense of accountability. Also at the end clients receives a workable product at end of each sprint/iteration which leads to a customer satisfaction.
There is one more activity that Agile Scrum team performs it is called daily stand up. In this activity team members share a brief update at start of day so everyone is aware of what other members have achieved in project and what is in pipeline. This also helps Scrum master to learn if team is facing any roadblocks or seeks assistance.
In this process Scrum master role is to monitor that all Agile principles are followed and team performs daily stand-up to avoid any issues or missing time lines i.e. clearing roadblocks in terms of team collaboration and not resource allocation as that is an activity of Business Analyst.
References:
Agile Principles
Agile Manifesto
Than you for reading this articles feel free to write your comments and share your experiences / questions.
Thank you a lot for providing individuals with a very spectacular possibility to read critical reviews from this site.
ReplyDeleteCRM with Invoicing