Difference between revisions of "Work Procedures"

From YouTestMe Wiki
Jump to navigation Jump to search
(Blanked the page)
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== Introduction ===
 
  
This page provides insight into the work procedures, non-related to the application, that you might find useful.
 
 
=== Source Control System – Subversive SVN ===
 
 
==== Policies ====
 
 
Never check in the code that does not compile!
 
 
Code in SVN has be complete – anybody should be able to check out entire project from SVN and be able to compile it without any fixing, adding libraries and similar.
 
 
Eclipse hidden files “.project” and “.classpath” have to be checked into SVN because the project cannot be opened in Eclipse without them. Any other file required to open and build the project from scratch has to be checked into SVN.
 
 
Update and Commit your code frequently to avoid code conflicts.
 
 
Use SVN to Rename, Move or Remove files.
 
 
Communicate your development plans to other team members.
 
 
Do not check in things in SVN that do not belong there (for example: third party software or manuals). We keep those in designated directory.
 
 
Never put the Java source code in production. Always deploy application as “jar”, “war” or “ear”.
 
 
Occasionally test your code by checking it out (or exporting it) to empty directory and try to compile it. If there are errors then code is not
 
properly checked into SVN or it is not complete. You should fix it as soon as possible.
 
 
----
 
 
For in-depth coverage of SVN features check [https://www.youtube.com/watch?v=QrkbxZKVVxY SVN Practice] and [https://www.youtube.com/watch?v=zGzSuRQMWBk SVN Crash Course]
 
 
=== Bugzilla ===
 
 
Bugzilla will be used as an issue tracking system on YouTestMe project. All team members should regularly check items assigned to them and update them accordingly as per instructions provided below. Bugzilla also sends email reminders about tasks assigned to you. If you are receiving reminders about tasks that you completed you should change status of that task to “RESOLVED” or “CLOSED”.
 
 
Update items assigned to you by:
 
 
'''Reassigning it to other team member if you think that task is not for you:'''
 
 
[[File:Assigned.png]]
 
 
----
 
 
'''Adding a “deadline” – an estimate when you think the task will be completed. If the task is more complex you can add “Hours Left” so workload can be redistributed in case the item becomes critical.'''
 
 
[[File:Time.png]]
 
 
----
 
 
'''Closing items that are completed and putting the comment containing the solution:'''
 
 
[[File:Comment.png]]
 
 
----
 
 
==== Bugzilla Access ====
 
 
Go to http://bugzilla.mallocinc.com, insert your username and password and click “Search” on top left side, after that click “Advanced Search” on the right side. Then select a “Product” you are assigned to work on, select other options if necessary, and click “Search” at the bottom. Select the priority level and enter assignee’s name in order to search the tasks and then click on the task that has the highest priority (P1). Under this task, some useful features will appear such as:
 
 
-Hours spent on it;
 
 
-Hours remaining to finish it:
 
 
-Deadline;
 
 
-Add attachment;
 
 
-Comment (to communicate about the progress of the task)
 
 
'''Make sure to update these features regularly.'''
 
 
For more information, please visit [http://mallocinc.dnsalias.com:58070/doc/bugzilla3-doc/en/html/index.html The Bugzilla Guide]
 
 
You can also go to [https://www.youtube.com/watch?v=voNbHkKawyM Bugzilla Youtube] to see a detailed presentation about it.
 
 
----
 
 
=== Agile Software Development ===
 
http://en.wikipedia.org/wiki/Agile_software_development
 
Agile is just a “common sense” approach to development. This is just a guideline but not the rule. The key point is to be adaptable to current situation and requirements.
 
Twelve principles underlie the Agile Manifesto:
 
* Customer satisfaction by rapid delivery of useful software;
 
* Welcome changing requirements, even late in development;
 
* Working software is delivered frequently (weeks rather than months);
 
* Working software is the principal measure of progress;
 
* Sustainable development, able to maintain a constant pace;
 
* Close, daily co-operation between business people and developers;
 
* Face-to-face conversation is the best form of communication (co-location);
 
* Projects are built around motivated individuals, who should be trusted;
 
* Continuous attention to technical excellence and good design;
 
* Simplicity- The art of maximizing the amount of work not done - is essential;
 
* Self-organizing teams;
 
* Regular adaptation to changing circumstances.
 
 
----
 
 
=== Organizing Tasks ===
 
 
Every team member should have a way of organizing and keeping track of things that he is currently working or has previously worked on. Here is one example of doing it:
 
 
{|class="wikitable"
 
! Date
 
! Working on
 
! Spent time
 
! Comment
 
! Revision (SVN)
 
! Hours
 
|-
 
| 22nd November
 
|| Refactoring Excel upload module and building a java model for other excel loaders
 
|| 10h - 13h
 
|| /
 
|| 267, 268
 
|| 3
 
|-
 
| 23rd November
 
|| Updating IExcelLoder interface and creating ExcelCellLoader class; Coding PoolQuesion java class
 
|| /
 
|| /
 
|| /
 
|| 2
 
|-
 
| 27th November
 
|| Additionaly refactoring ExcelQuizLoader class and finishing PoolQuestionLoader.java
 
|| /
 
|| /
 
|| /
 
|| 1
 
|-
 
| 29th November
 
|| Working on ExcelPoolQuestionLoader.java
 
|| 9h - 10.30h
 
|| /
 
|| 288
 
|| 1,5
 
|-
 
| 1st December
 
|| Finishing work on ExcelPoolQuestionLoader.java; Creating an excel template for UserUploadModule.
 
|| 9h - 10h; 20h - 22h
 
|| /
 
|| 290
 
|| 3
 
|}
 

Latest revision as of 00:40, 7 February 2017