I've been thinking about how I code. I know how I get my priorities. A whole different blog. But when I program what do I do? If I was working on a huge monster application what would need tested? What if I made a code or configuration change to the SAP Community... If I was one of the developers/process workers, requirement gather people, what would I do?
So - I would start with the as-is / to-be. Yes, we all know the as-is. Wait are you sure about that? Have you visited everywhere on the network? Probably not. So I'd gather my business user resources. The business user would be us, the community. They would give me wonderful perfect requirements, because that's what happens all the time. <sarcasm here>
So now I have the to-be, and I understand the as-is. Or really, I understand what the business user thinks of an as-is. Or many business users if it is a large project.
Next I would determine everything I could do in this iteration of the program. So I would look at all the other fixes that could be grouped into the same version. I might see a couple that are related. Those that I can work on without increasing my end date. That would mean small things would be fixed. Some of the big things wouldn't be fixed simply because I couldn't just add them quickly.
Next step - you probably have guessed it by now - technical requirement. Those would be critical as I'm sure there are touch-points between what I'm working on and other points in the community.
I would start to develop. I would either do test driven development or regular development. It really doesn't matter at this point. I work very hard, and am looking forward to happy people with my development. There is the cycle we go through where I think the development is done, but it really isn't. I test my code. Aha! The unit test can and should be written into the program.
Now I find out I have a lot of time on my hands to refine my program. Does that happen to you? If it does that's amazing. It's few and far between that I actually have the time to refine the program. You know the small stuff we do. Commenting the code, making sure you've set up everything the way you want it.
So now I think about when I change configuration. All I have to do is flip a couple of settings in configuration and I'm done. Easy. Very easy. Did I mention that those changes could bring down the entire system? A lot of work goes into configuration. What am I changing, how many things will it effect. Testing, testing, and more testing.
So everything is all good. I now have to do integration and regression testing. That's never quick. Usually I would try to bring in many people. At a minimum one from each touch-point. That may take time as my priority may not be their priority. Of course after each of these, it may go all the way back to the requirement stage. I hope not. However, it does happen.
Finally, finally, I put all my changes into production. Remember this is the SAP Community, and you are my customer. As a developer, I love to have good feedback. I'll take the bad. That's OK too, more requirements to be prioritized unless I break something.
Now you have it. The way I would make changes. Does it sound quick? No it shouldn't. Always remember if you do a "quick" fix, it could cause big issues. And there is never enough time to test everything.
Back to the SAP Community "technical" issues. I expect everything yesterday. After thinking through the process I don't. I expect things to get done when they are done. I am not the requirement gather, part of the process team, the UI developer, or the back-end developer. So how can I even begin to give an estimate? I don't even know the system. So if I can't give an estimate, I can't expect my requests to be done quickly. (I left out the part where it is decided on what to work on.)
By the way, the last steps include training. Mmmmm... That would mean I would put together a video, blog, or something else. I don't think everyone of us would watch it.
What about you? I know there are a lot more steps I have missed. What more would you do? When do you expect your requests to the SAP Community to be done?