Hey! When there are multiple methodologies are available for SDLC, why Agile is unique. Before seeing it, it is wise to know and understand what Agile is basically and how it works? Agile methodology is a product/process system what a team follows with rapid short cycles for releasing the product. For more information about scrum master certification please visit StarAgile site.
How the AGILE portfolio works:
Typically as the name suggests, AGILE- a Project management process which involves splitting up one project into multiple small requirements based on ranks given as per the user needs and delivering each requirement individually in a repetitive cycle. Requirements are referred as User stories. User stories are nothing but requirement defined as short descriptions of user requirements. Prioritising it with numbers called story points. Points are based on the client’s expectation & complication of it to be executed. An iteration is the repetitive procedure of developing each section at a time. Goals are set in detail in each iteration meetings can be called as ‘spring review & Retrospective meetings’ such as priorities, budgets, expected changes, time estimation.
The Process flow goes like below.
- Initially, the requirements are gathered by BA from Product Owners (clients) and kept in a document. Some teams will have a QA person as BA as well.
- Team members are formed including Scrum master (Dedicated person for a team’s health), Development/QA Managers, Developers, Testers and Business Analyst. The total size of the team will be minimal.
- The initial meeting for Sprint planning is set up for discussing & ranking the User stories in Product Backlogs. Based on the Story points, each iteration is set up as spring 0, spring 1… Spring N in Spring Backlogs.
- Typically Each Spring will have approximately 30 days or 2- 4 weeks of time for releasing the incremental & Shippable end product.
- Daily prescheduled meetings called scrum meetings for the whole team and client will be held by Scrum master where Customers review the work completed for the past iteration and plans for the next iteration. So everything goes in parallel.
- At the end of the each sprint, potentially shippable product is released.
- The Agile method gives high priority on Client’s participation and satisfaction from the very beginning of the Software Development Life Cycle. It makes the Client involved in each step hence can make them happy too with the end result.
- This is a very effective method in Rapid changing environments.
- Scrum is to manage & perform sophisticated & complicated work.
- Designing balanced performance system to recognise the team performance and the individual’s contribution because of small team size.
- Offers open communication among team members & customers.
- Providing teams an advantage by spotting the defects and resolving it all round the process, instead of doing all at the end.
- Helps in budget by lowering the cost for changes since bug fixing or any changes are done all round the process.
- Minimizing the effort since it’s a stepped approach.
- Speeds up the evaluation process since each evaluation is done only for a small part out of the whole project.
- Changes to be made are easier & quicker because of the consistent evaluations as per the expected results.
- Makes the team very adjusted and Inspective throughout the process.
- Frequent check-ins and validations removes most of the bugs hence no compromise in the quality in the end product.
|BASIS FOR COMPARISON||AGILE METHODOLOGY||OTHER TRADITIONAL METHODOLOGIES|
|DESCRIPTIONAL DIFFERENCE||Agile is a structured system flow which is a repetitive development method at a regular short span interval of time.||Other methods follow long period of time for development.|
|CUSTOMER SATISFACTION||Since Agile meet with client happening at each step right from the very beginning, the customer satisfaction is fulfilled.||Customers do participate in other projects as well but not in each step. Mostly only at the time of release, clients involve.|
|ENVIRONMENTAL CHANGE||Suitable for Rapid changing and emerging environments||Not suitable for Rapid changes.|
|EFFORTNESS||Since it is a step by step approach, the effort to modify or to fix the bug is less comparatively.||Needs more effort for bug fixing.|
|SUITABLE FOR||Very effective for managing the complicated projects.||Not suitable for Complicated projects like Agile does.|
|COST||Since lowering the cost in changes, helps in lowering the budget estimation too.||Estimation cost is more comparatively.|
|TIME ESTIMATION||Providing teams an advantage by spotting the defects and resolving it all over the process, instead of doing all at the end.||It all happens only at the end of the project which makes more time consuming and less effective.|
|PERFORMANCE ASSESSMENT||Designing balanced performance system to recognise the team performance and the individual’s contribution because of small team size.||Other methods only focus on team’s performance.|
|RELATIONSHIP BETWEEN CLIENT & TEAM||Offers open communications among team members & customers.||Estimation cost is more comparatively.|
|EASY OF USE||Changes to be made are easier & quicker because of the regular evaluations as per the expected results.||Not easy as Agile does.|
|ADAPTION||Makes team more adjusted.||Not adaptive.|
|END PRODUCT QUALITY||Frequent validations gives more quality product.||Validations at the end lead to miss bugs sometimes which affects the product quality.|
|EVALUATION PROCESS||Speeds up the evaluation process since each evaluation is done only for a small part out of the whole project.||Not like Agile, other methods execute the whole projects which makes more evaluation time.|
Currently Agile Methodology is a new trend where most of the projects are following Scrum framework since it has so many benefits over the company, client, and team as well as on individual. It is wiser to consider Agile process portfolios while considering time and budget estimation.