Hi!
Here is the problem: We are maintaining a software application and our customers are unhappy with it because there are too many bugs in our weekly releases. There are change requests and bug fixes every week.
These change requests and bug fixes actually created more bugs in our application.
Here is our development process: Developers are given a few tasks(change or bug fix) per week. Developer codes, tests himself and commit to subversion. The deployment team packages the war and deploys it to the staging environment.
Customer tests it and is unhappy.
From my point of view, there are problems in this process:
1) Developer tests the part where he made changes himself and commits it.
2) Our team consists of 10 developers and there is no
testing of combined code.
3) The test server is not utilized at all before the war is sent to the staging server for the customer to test.
My suggestion to the management:
1) Since Friday is the day the customer tests it, our company developers could commit all code by Wednesday evening.
2) Thursday morning will be spent on testing on our testing server. Developers test other developers' code. There could be bug fixes and commits again.
3) Thursday afternoon is spent on testing again and bug fixes and commits.
4) This process is repeated until severe bugs are resolved.
Hopefully this process will reduce the number of bugs.
Does anyone see problems with this process? Any suggestions? Better ideas for the process?
Thanks.