Last modified 16 years ago
Last modified on 01/27/09 12:56:25
Developer's FAQ
What do I need to read in order to get involved in the project?
- You can find the needed information at the following wiki pages:
- PROJECT_OVERVIEW
- ImportantDocs and all of the wiki pages linked there.
Where can I get more information on a specific task?
- The overview part of this task will provide the necessary information. You can find additional information in the wiki pages of the previous revisions of the task. You can also ask for help in the sophie2-dev mail list.
What are extensions/extension points?
These are the JPF classes and concepts which are similar to the Sophie implementation of extensions and extension points:
Concrete implementations and tests for the Sophie implementations are located in the org.sophie2.core.modularity package.
What exactly is Maven? I understand it can build projects and do other things, but I didn't get the idea of using it.
- Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. More information about Maven can be found here. Answers to the most common questions can be found at PLATFORM_DEPLOYMENT_BUILD_MAVEN.
What do we do when a ticket has status "analysis accepted" but the "design" section is already written? Do we wait for the owner to change its status or not?
- Probably the design has failed and the task is returned to analysis accepted. If nobody has changed it to design started then anyone can refactor the design in order to fulfill the requirements and correct the mistakes that are mentioned in the review of the design. However when you decide to take such task it is recommended o speak with the original designer of the task.
What is a module and how is it different from a component?
- In the context of our project, bundle, module, plugin and component are similar. You can find more information at DEVELOPMENT_OVERVIEW.
How do I commit reports (there are no instructions about that in the wiki)?
- After you've created your report following the standards, you must add it in the repository in \manage\reports\m??-???, where m??-??? stands for the name of the current iteration.
Can I work from home without asking the team leader for permission every time I wish to do that?
- You must ask the team leader for permission. Here you can find a detailed statement of the working process.
Are the actual working hours extracted from reports only (what if I miss a report or underestimate the time spent on a given task)?
- The reports are used for tracking the workflow, but the hours there do not measure your productivity, because you may spend 3 days at the office working on task with 0.5d effort, while during the same time someone finishes task with effort 2d for two days.
Give good code examples
- Good code is code that follows the rules established in PLATFORM_STANDARDS_CODE. Examples of good code will be through the project.
Contributors
Is the contributor supposed to make the design of a task or just the implementation?
- The contributor should do both the design and the implementation.
What kind of tasks will contributors work on?
- The contributors can work only on tasks from the current sprint. And in some rare occasions on specific tasks given by the team leader.
Can two people work on one big task?
- Yes, this is allowed. The people working on such task must be coordinated and need to keep good communication. It is advisable if you choose not to work in the office to avoid taking such tasks or to make sure that you can collaborate with someone for the specific task.
How will the code written by a contributor be tested?
- Like the team members the tasks that contributors execute will be also reviewed and tested following the established standards.
What is the criteria for the score the contributor will get?
- The contributor's score is based on the effort of the specific task and the score from the reviews.
Will contributors choose tasks by themselves or will be assigned by a team member?
- For now the idea is for each contributor to ask the team leader to assign to him a task.
Will contributor work be independent from the other team member’s work? Will contributor work be synchronised with the other team member’s work?
- Because Sophie 2 is project that has a tight schedule, the contributors and team members must synchronize their work in such way that the tasks in each iteration are completed in the planned time.
Where can I find a consistent specification for Sophie2?
- It is now located here