I am working in a startup company where the development team is a small team of three programmers, a project manager, me and The second man.
The issue is that the other person regularly creates code in the SVN, which does not really work! Basis usually compile properly, but reference to SECL's ideas either does not work or forgets to do those files, so that it is trying to get the latest work done.
For example, today, I had to go to a client to upgrade. Everything went fine (database script and customer updates), but soon it came to know that none of the reports worked, a report that was a specific request from that client and the milestone of the upgrade. It was working when the upgrade was fixed, but apparently at some point they had distributed some code, which had tested it without its own.
Due to the lack of time and other factors, clearly was not adequately tested before it was rolled out, but it was not possible just in this example. It was disappointing for the nth degree because I feel like a flippin stupid in front of the client for something which was not my fault.
How do you handle such a situation?
To keep things in mind:
I think I am well qualified to answer this question because I Not entirely I am good at thinking and writing about code, but I carefully and "not good at tapping those points which are needed by dots".
These are the things that help me:
Remove the time pressure Until I feel that I am in a hurry, I will take the shortcut time limits , At the end of the day, the threats to cut those facilities which are not done at the time, people are banging at my door and persecuting me. This kind of pressure has brought me the worst situation. Ironically, to decide the best There is more time limit for! Make the steps smaller, so that I have to think of a little work rather than just a lot. I need to remind my coworkers that it is OK to stop tomorrow and come back; Because it's okay to give time because we are out of time.
Remove the feature pressure. Unless I think that's a lot of work, I'm screwy again. Then, the trick is to break things into small pieces.
In my last assignment, we were releasing 1 month (which was a lot of improvement in multi-year before!) But with two-week releases and 1-week iterations Has done better. Fast, comprehensive, automatic testing means that I can see my work before commitment without doing a lot of work, when the normal path is quick and easy, The shortcuts tend to be less attractive. Automatic commitment alias continuous integration In one hand, every set of pending changes went through an automated system that was created, deployed To make, test and make changes, bugs marked "fixed" in the database, and email to the team. When the computer is working for me, it is very difficult to take shortcuts! It is important to make it truly credible;
Small steps Making small changes prevents me from being overwhelmed with complexity, or before I forget things.
Branches The use of a branch can be helpful in detecting changes in small steps, though it adds a new type of complexity (you have to think about branches ) And you have to be careful not wait for your changes before reaching the original branch.
Jodi Having another programmer helps me stay focused on the big picture; Helps me to remember all the above works for me; Helps make programming more fun
Comments
Post a Comment