How to implement Proper Agile

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.



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