If you are here you either must be new to agile and thinking how to implement it or have already implement some version of agile and not finding it mostly useful.
Lets be clear, most of the teams implement scrum when it comes to agile, half an hour daily morning discussion and then back to normal work as it used to be. What extra you are doing compared to waterfall is giving release into test environment once or twice a week and demo to client at the end of sprint. If you are already delivering releases into production every 15 days, congratulations, you are already AGILE.
However to successfully implement agile, so that we can get most of the productivity, first we need to decide which methodology of agile is best suited for your project. Have a look below table and decide which vertical your project is in.
You can see Extream (XP) is applicable and advised in every kind of project.
Based on the vertical your company/project lies in you should choose agile methodology. Although it can still differ from my suggestions. Like you can use Kanban for support projects in Service and SAAS verticals.
Open source can not be a scrum because of too many contributors and they work as and when they get time so you can not timebound a feature.
Also, if your project is mission critical like transactions and other you should go with XP only.
Other stuff for each of these is all over the internet but one most important thing is no matter what methodology you choose every member in your team should be expert in required skill. Knowledge and learning is the key.
Lets be clear, most of the teams implement scrum when it comes to agile, half an hour daily morning discussion and then back to normal work as it used to be. What extra you are doing compared to waterfall is giving release into test environment once or twice a week and demo to client at the end of sprint. If you are already delivering releases into production every 15 days, congratulations, you are already AGILE.
However to successfully implement agile, so that we can get most of the productivity, first we need to decide which methodology of agile is best suited for your project. Have a look below table and decide which vertical your project is in.
Product Company |
Services Company |
SAAS/Online Services |
Open source |
|
What is lifecycle |
Consolidates requirements from number of customers, prioritize and implement | Single client gives requirement and also the priority. Releases are mostly defined. | You decide requirement based on your vision and with help of existing clients, priority is up to you mostly | Collate user inputs, vision of product and loose release cycle |
What kind of testing is done |
Thorough testing by company, sanity by actual users when they upgrade | Dedicated team and UAT | Service provider and a few clients if they agree | Unit and Integration mainly |
What are the risk of leaving a bug |
Lot of clients can be impacted and penalties | Only one application impacted. Mostly UAT is done so team and user both are responsible | Lot of clients can be impacted but one bug resolution resolves all the clients at once | Lot of client might get impacted but then its open source and with limited warrenty |
Team size |
A few based on product size but more than services | usually 6-9 for normal project else can be any | usually 6-9 for normal projects | in hundreds |
Code Reviews |
Critical | Overhead | Important | Good |
Ideal Agile Methodology |
XP | XP/DSDM/Kanban | XP/BDD/Scrum | XP/FDD |
You can see Extream (XP) is applicable and advised in every kind of project.
Based on the vertical your company/project lies in you should choose agile methodology. Although it can still differ from my suggestions. Like you can use Kanban for support projects in Service and SAAS verticals.
Open source can not be a scrum because of too many contributors and they work as and when they get time so you can not timebound a feature.
Also, if your project is mission critical like transactions and other you should go with XP only.
Other stuff for each of these is all over the internet but one most important thing is no matter what methodology you choose every member in your team should be expert in required skill. Knowledge and learning is the key.
Comments
Post a Comment