Open-source things (4)-How to Use codeplex for project management

Source: Internet
Author: User
ArticleDirectory
    • Real version
    • Future version
    • Konwn issues version
Background

With the development of the itoday project and the expansion of personnel, a certain project management process is required to ensure that the project will not be aborted. A standardized open-source project, with individual passion and ability alone, has a very low chance of completing the project. Without the project management process, it will become difficult to carry out the project in the future, the continuity of the project is not guaranteed. Therefore, we need to find a way to implement effective project management.

 

Introduction

This article describes how to use codeplex to manage open-source projects.

 

Project management theory and personal understanding

Project Management in books defines nine key domains, including scope management, risk management, communication management, quality management, time management, cost management, human resources management, procurement management, and integrated management. All-embracing. However, everyone has their own understanding in the implementation process. My Understanding of project management is:Make effective use of limited resources and use certain control measures to achieve the intended goal.Since human resources and capital costs are always limited, especially for open-source projects, they are mainly involved by interested contributors and cannot be guaranteed by personnel. Therefore, it is important to make effective use of limited resources. With effective resources, we can ensure that limited resources can be fully utilized through planning, communication, and other means. For example, we can arrange contributors to the areas they are most interested in when doing open source, play its biggest role. These control measures include both risk control and quality control, and use version management tools to reduce risks to a certain extent. It is very important to fulfill the predefined goals. resources are limited and time is limited. It is very important to develop a foreseeable goal. I will use version management to specify the target. The following describes how to implement project management through codeplex to achieve the project management I understand.

 

Project management principles

My principle is:Minimize all stakeholder tasks and maximize project continuity.This is a game in itself. There is no silver bullet in the world, and it can only be balanced as much as possible. The stakeholder mentioned here includes developers, testers, Coordinator personnel and so on. Everyone contributes freely and there is no need to follow a perfect process, such as cmme to increase the workload of everyone, so I try my best to simplify the project process so that everyone can focus on what they like. Minimize project management efforts to ensure the continuity of the project.

 

Codeplex issue tracker

I use the issue tracker function of codeplex to manage projects. The address is itoday.codeplex.com/workitem/list.aspx. Because codeplex has this system, I don't need to find another project management system. Although this system is not perfect, we can still use it based on it.

 

Issue tracker is a problem tracking system, which is generally used for Bug handling. However, it can also use features such as requirement management, task allocation, and version control. The following describes the content contained in each issue.

Version

I think the version is the most critical information of issue, representing the purpose and goal. Any issue is targeted. Currently, I have divided the versions into three categories: real version, future version, and konwn issues version.

Real version

For example, V 1.0.0 and v2.0.0 are the versions to be released. In open-source software, they are provided for users to download.

 

The above are the functions to be completed for version 1.0.0. We associate the requirements with version 1.0.0 as issue. Once these requirements are met, version 1.0.0 can be released. Of course, if you find the bugs in the development process and these buckets are associated with version 1.0.0, you also need to modify these buckets before release. The release Mark is that all issues under this version are completed.

 

Future version

Due to the limited resources, it is impossible to complete all the requirements in a single version, so some requirements need to be put into the future version. These requirements may be implemented in future versions.

Konwn issues version

Some problems exist in the current version, but cannot be implemented in the current version due to certain objective conditions. It can be classified as known issues.

 

 

Status

Each issue has a status, including scheduled, active, and modified. when an issue is created, it is proposed. The assigned to person will start to process the issue and change it to active, if the issue is complete, change it to fixed. All issues should be fixed before the release. In my opinion, these statuses are not enough. They are too simple. At least won't fix, duplicate, and cannot reproduce are required. Some so-called bugs do not need to be fixed, some issue are repeated, and some bugs cannot be reproduced. So I said codeplex issue tracker is not fully functional.

 

Type

Type: feature, issue, and task. Feature is a function of the software and can be understood as a requirement. Issue is a bug. Task indicates tasks, including various tasks, such as sub-steps to implement requirements, writing documents, and some project management tasks.

For example:

We need to complete the weather panel function.

I created a new feature "add weather panel.

Link in http://itoday.codeplex.com/WorkItem/View.aspx? Workitemid = 5992

 

At the same time, to implement this feature, at least two subtasks (tasks) are required. There may be more tasks, but two are listed first.

Link in http://itoday.codeplex.com/WorkItem/View.aspx? Workitemid = 5993

Link in http://itoday.codeplex.com/WorkItem/View.aspx? Workitemid = 5994

 

As a type, I think only feature, issue and task are not enough. In another system we use, the types include the following:

But codeplex only provides so much. Let's use it first.

 

Priority

The priority is well understood, for example:

 

Components

Currently, there are two itoday components, one being panels, indicating applications, how to home, weather, and contact panel. Utilitylib indicates some non-UI Public Libraries. For example, WebService belongs to utilitylib.

 
How to Use codeplex issue tracker to manage projects

Collect requirements at the beginning of the project, and all requirements are recorded as feature.

Then define the version, for example, define version 1.0.0, bind the requirement to be implemented to version 1.0.0 as feature, and assign the task.

The developer who obtains the task can define the sub-task as needed, such as the WebService encapsulation in the preceding example.

Developers turn tasks into active tasks to develop their own tasks.

After the task is completed, the task is changed to fixed.

After all issues under version 1.0.0 become fixed, the Project Coordinator will release the same version.

Defines version 1.0.1 as a complete version of version 1.0.0.

The tester starts the test and uses issue tracker to submit the bug. The type is issue and is associated with version 1.0.1.

Modify all problems in version 1.0.1, fixed all issues, and release version 1.0.1.

Recurrence (version 1.0.1, version 1.0.2 ......), All feature versions under version 1.0.0 have been improved. Note that you do not need to add new features to version1.0.1. Otherwise, there will be more and more issue. The new requirements are version 2.0.0 or future version.

At the same time, you can define version 2.0.0, move some feature from the future version to version 2.0.0, and repeat the steps of version 1.0.0.

 

Version 2.0.0 and version 1.0.0 must be synchronized. This section describes how to use SVN and other details, but does not affect the project management process of codeplex issue tracker.

 

Contributor responsibility

The following describes how various contributors use codeplex issue tracker to complete project management:

Project Coordinator: Define the version of feature. Assign tasks (feature and task ). Release a version.

Developers: Define a subtask ). Development. Submit the version.

Tester: Submit the bug (issue ).

 

I think the process is simple. If it can be simplified, it can be simplified. This is a blueprint for improving the implementation process. Raise any questions and modify the process in a timely manner.

 

Also, SVN management is very important.

 

About the itoday Project

Refer

Open source (1)

Open-source things (2)-itoday open-source project plan

Open-source things (III)-overall itoday Design

 

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.