Development teams are an interesting bunch. They can get into a mindset where all they have to do is deliver code for a given feature to be complete. This certainly makes sense… that is all which is asked of them. The requirements are met, the code is reviewed, QA has signed off. What else is there?
When a team is in an accelerated agile environment which does not provide for traditional sprint planning, the release cycle can be more dynamic. There does not necessarily need to be a final review of all stories which get published at a future date. Automotive assembly lines do not get all the cars ready at once before driving them out of the building, right?
So, what happens if development is in control of the release cycle? They may attempt to deliver features as quick as possible to the end user – which is a valid goal. In automobile production, this would be like having an assembly worker drive a car right to a customer, throwing them the keys, and leaving. The car buyer would be left with a vehicle which may or may not work properly or they may not know how to use. This is not a good idea…
A better approach is to let the cars stack up on the lot and then get delivered as a set after they have been tested and approved. This is how software features should be delivered, although not necessarily for the same reasons. The cars are waiting for the tester to give the approval to head on out, and the code is waiting for the project owner to give the approval to publish the change. This approach works well for both scenarios.
So does it matter when dev thinks a feature is ready for release? Let’s look at Dev’s role before I answer the question:
- Dev does not own the product. That’s the role of the Product Manager.
- Dev should not be the only one that performs QA (Quality Assurance) and cannot perform QC (Quality Control). Product needs to be involved in QA to ensure that the product is being built to specs and Product also should hold final approval on the work done by Dev… thus they own QC.
- Dev does not communicate with the end user. This is a Product task.
- Dev needs checks and balances on final product delivery… Again, the role of the Product Manager.
Enough said. The answer is “No.”.