Work Procedures

From YouTestMe Wiki
Jump to navigation Jump to search

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.

Example command to check out code:

svn --username john.smith checkout http://mallocinc.com/project1/trunk project1


For in-depth coverage of SVN features check SVN Practice and 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:

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.

Time.png


Closing items that are completed and putting the comment containing the solution:

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 an attachment;
  • Comment (to communicate about the progress of the task)

Make sure to update these features regularly.

For more information, please visit The Bugzilla Guide

You can also go to YTM Using Bugzilla to see a detailed presentation about it.


Slack

Slack is a real-time messaging, archiving and search app for modern teams. Once new members of the YTM team are settled in, the next step is to make a slack account using their youtestme emails. Once signed in they can search for the chat groups they belong in and also they can join the ones they have an interest in. Current groups are:

  • General
  • Marketing_sales
  • Wordpress_website
  • Android_dev
  • CPP
  • Design
  • Development etc.



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 they worked on. Here is one example of doing it:

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

You can download a sample Excel working log spreadsheet

Also, you can download the Offical official Word document template