I experienced what it was like to take over a project that was already completed and add more to it. This project is the same software that I reviewed in my last post. For this project, we apply issue based project management.
In this project, we did not have much trouble with creating issues, rather the issues were minimal. We first focused on completing the new classes to be added to the software then decided on which issues were needed then. While we already perform testing side by side in development, we also created issues for further testing. In the end, we didn't spend too much time worrying about issues. Like before, I found the issues to cause me anxiety over whether or not something warrants an issue and if someone will take over it.
In this little enhancement, we added three classes, a class for monitoring if a tower meets their goal, it's helper class on setting a goal, and a power monitor. They all had their own challenges and I was assigned the helper class which is called "SetBaseline." I mixed my code with the already existing code for parsing input during the creation of my class to reduce development time. I've had to modify it to suit my needs. Using my own style helps greatly during testing since it differentiates itself from the other classes when it came time to integrating it with the main class. The challenge for this class was finding out how to store the baseline data throughout the software. I wasn't able to quite find out the solution to this problem myself and had to ask the other project members for assistance. Their solution was to create a static variable in the main class and import the main class into my class. From there, the baseline data can now be stored somewhere where it can be accessed anywhere. All it took was only two lines of code to enable this functionality. Quite frustrating.
The other two classes were monitor goal and monitor power and they had different approaches. Instead of being a one-time call, they were called and ran until the user decides to stop. To enable that, the Timer and TimerTask classes had to be implemented. I didn't have much to do with their development since we kept our work separate as project management requires to keep integration conflicts to a minimum.
Looking back on this, I've tangled with the Three Prime Directives on all levels, from the basic user to full-time developer. It helped me to see what condition the software was in and the quality of it and review its structure. Performing this enhancement has been an interesting experience for me. While I haven't tried out other management styles, I've been able to practice using issue-based management more. I've become more comfortable using Jenkins as a continuous integration tool, which came at a good time. Testing the software enhancements has become somewhat of a nightmare recently due to it constantly timing out when connected to the server, whereas on the Jenkins server, it tests fine.
This will be the last post I will make in a long time, possibly until I decide I want to blog again. It might be useful if I decide to start an extensive software project.
Wednesday, December 14, 2011
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment