![]() I think there are two sets of things that need to happen, possibly in parallel, possibly sequentially, possibly by different people, or possibly by the same people. We try to add precautions to prevent this kind of problem recurring.These are generally things that make it more likely that mistakes will happen rather than direct causes, because sometimes a problem gets through because of a perfect storm of contributing factors rather than a direct cause. These can and do include things like complexity of the code, lack of knowledge about how the application is used, unreasonable deadlines, and so forth. If I feel that I should have caught a problem before release I will say so, but nobody blames anyone else. Depending on the scheduling, this could come before step 8, but it generally doesn't happen until we've at least prioritized the issue and communicated workarounds to the customers if any exist.ĭepending on the severity of the issue, the whole process can be completed in under an hour, or it can be months before the defect is scheduled for a fix - or anything between those extremes. We have a very small team (4 developers and 1 tester supporting and enhancing multi-million LOC legacy applications and trying to build something more modern to replace them at the same time) so the demands on our time mean we can't always put a fix in quickly. Again, what the schedule is depends on the nature of the problem. ![]() Depending on the issue and how it's prioritized, this can be a quick hack to make things work with a more comprehensive fix scheduled for later, or it can be a proper correction to the problem. Prioritization generally takes into account how long it's been in the system, how badly it impacts affected customers, and what proportion of the customer base it hits. It's rare for us to accidentally let a show-stopper defect through, but it does happen. We've found that after major deployments our customers are much more sensitive to the application and can pick up issues that have been around for years as a result. If it is a defect, we investigate to determine how long that defect has been around. In a complex application it could be a misunderstanding or thinking that intended behavior isn't what is supposed to happen. First we determine whether the problem is actually a defect. Failing that, we'll use the staging environment which is a mirror of production except when we have a new deployment staged there prior to release. If possible, we try to reproduce on production. The process we follow where I work when a defect is reported in production might give you some perspective:
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |