Logo en.artbmxmagazine.com

Tools for software project management

Table of contents:

Anonim

This work constitutes a proposal for the integration of free tools to automate Document Management, Planning and Monitoring of Software Projects and Configuration Management in software development companies. An analysis of the current situation is made and the tools to be used are described and the integration proposal based on the use of these free tools is formulated.

INTRODUCTION

Project Management (GP) constitutes one of the fundamental elements in any software development process. The success of a project lies in its proper control and monitoring. When a project is planned, its development must be audited to verify that it is going according to plan, that is, it must meet the objectives of quality, cost and time. (Milián Iglesias and others, 2009).

Today, many software developers lack a collaborative GP environment that integrates tools to gain control over the planning, documentation, and source code associated with the project.

It is very common in the development of a software project that Document Management (DG) is performed in a rudimentary way. Although there are some companies that use a tool for the Version Control (CV) of the documentation, the document workflow is not defined; in other cases CV tools are not used, frequently the documentation is sent by email or shared elements are made through the network, generating the risk of information loss.

Furthermore, project planning tools are often not used appropriately. The most common problems are:

  1. Planning is not public to the entire software development team. Changes to planning are not timely reported to those involved. Assignment of tasks is done in person.

In general, the CV on the source code is carried out with the use of tools such as Subversion (SVN) (CollabNet Corporation, 2008), Visual Source Safe (VSS) (Microsoft Corporation, 2009), among others. Although these tools are really used appropriately, they can be used in the extraction of information that provides the true situation of the development process or the software (Milián Iglesias, et al., 2009).

PROPOSED MODEL

Our proposal consists of a collaborative environment where Project Planning and Monitoring, DG and CV processes are integrated with the use of the free tools mentioned below.

Alfresco Community Edition 3.2 (Alfresco Corporation Inc., 2009).

Alfresco is a Business Content Management System (EMC) considered one of the strongest EMCs in the free software market (Yerbabuena Software, 2009). It has a flexible architecture, it can be deployed in any environment (Windows, Linux, Mac, etc.), it can use any relational database (MySQL, PostgreSQL, ORACLE or almost anyone who understands Hibernate), it can run on various application servers such as (JBOSS, APACHE TOMCAT), can work on any browser (Mozilla Firefox, Microsoft Internet Explorer, etc.) and can be integrated with any portal (JBoss Portal, Liferay Portal, etc.) (Shariff, 2006).

On the other hand Alfresco can be extended by Alfresco AMP modules (Alfresco Software Package.) An Alfresco AMP file or module package is a collection of code, XML, images, CSS, etc. which together extend the functionality or data provided by the Alfresco standard repository (Alfresco Corporation Inc., 2009).

From a functional point of view, Alfresco 3.2 presents indexing, versioning, tagging, document search or simple workflow features for working with documents. To these basic file server characteristics, other more typical of document manager can be added, such as the ability to define content models with personalized metadata, metadata extractors or online document transformers. The workflow engine is based on Java Business Process Management (JBPM) (Shariff, 2006). Alfresco has powerful user characteristics such as the concept of content rules that allow transformations to content and send notifications of actions performed by the user. In Alfresco it is possible to define permissions and roles (Shariff,2006) (permission set), so that security on content spaces is carried out by assigning roles to users and user groups. Redmine (Redmine, 2009) Redmine is a tool for GP developed on Ruby on Rails, opensource and multiplatform. Trac (Edgewall Software, 2009) is very similar, but with a friendlier administration and web interface, and easy to use. It is quite complete and easy to install. (Redmine, 2009).It is quite complete and easy to install. (Redmine, 2009).It is quite complete and easy to install. (Redmine, 2009).

Within its characteristics we have:

Supports multiple projects simultaneously, time tracking, as well as integration with version management tools such as SVN, Concurrent Versions System (CVS), Git, Mercurial, Bazaar and Darcs. Regarding user management, the control is based on roles and allows their self-registration. Generate information based on calendars and GANT diagrams. It allows the creation of a wiki and forums by project, it has fields adjusted to each project, each user as well as time windows. This tool supports authentication to LDAP, you can use any relational database manager, notifications via email to developers every time a task is assigned or to any event related to the project.

It also gives the possibility to manage news, files and documents, to the project, as well as attachments to tasks and errors. New types of tasks and errors can be defined with their custom fields. Furthermore, the application can be configured to be viewed in various languages. (Redmine, 2009).

Subversion (CollabNet Corporation, 2008)

Subversion is a CV System that has become quite popular, especially within the free software developer community. It is prepared to work on the network, and is distributed under a free Apache-type license (García, 2008).

The main features of SVN are:

  • maintains versions not only of files, but also of directories. They maintain versions of the metadata associated with the directories. In addition to the changes in the content of the documents, the history of all the operations of each element is maintained, including copying, changing directory or name.atomicity of updates. A change list constitutes a single repository transaction or update. This feature minimizes the risk of inconsistencies between different parts of the repository. Possibility to choose the network protocol. In addition to its own protocol (SVN), it can work over http (or https) using the WebDAV extensions. WebDAV (better known as DAV) is a protocol that expands the possibilities of HTTP / 1.1 by adding new methods and headers.The ability to work with a protocol as universal as http simplifies implementation (any current network infrastructure supports this protocol) and universalizes access possibilities (if desired, it can be used via the Internet). Support for both text files as well as binaries. better use of bandwidth, since only differences and not complete files are transmitted in transactions. greater efficiency in creating branches and labels than in CVS. (García, 2008).since in the transactions only the differences are transmitted and not the complete files. Greater efficiency in the creation of branches and labels than in CVS. (García, 2008).since in the transactions only the differences are transmitted and not the complete files. Greater efficiency in the creation of branches and labels than in CVS. (García, 2008).

Integration mechanism

Figure 1 shows the proposal for an Integrated Environment for Project Planning and Monitoring, DG and CV of the source code.

Although Redmine offers the possibility of managing documents, it does not allow defining workflows on documentation; reason why Alfresco is proposed.

Figure 1: Proposal of Integrated Environment for the GP, GD and CV of the source code.

Alfresco is organized in spaces2 and subspaces, where each entity is the owner of creating the hierarchy of spaces according to how it is organized (eg by projects). Smart spaces are defined for each workflow with additional features such as security, content rules, notifications, local search. With the use of workflows, it is guaranteed that a document has been reviewed and approved by the competent persons, for subsequent publication on sites or other collaborative work tools such as Redmine.

Programmers develop with Eclipse and use the Subversive plugin (The Eclipse Foundation, 2009) to make modifications to the source code stored in the SVN repositories, which will be integrated into Redmine allowing the generation of productivity reports shown in Figure 2, but not modifying the SVN source code through it.

Figure 2: Redmine productivity reports.

Project managers can assign and check tasks with the use of Redmine, as well as know the productivity of their subordinates, while developers can know the tasks that have been assigned to them, as well as update their compliance percentage by accessing directly Redmine or with the use of Eclipse Mylyn plugin (The Eclipse Foundation, 2009).

All services are integrated with a unique LDAP-based authentication system and use PostgreSQL as the Database Management System.

CONCLUSIONS

The work makes an Environment proposal for the integration of DG tools, Project Planning and Follow-up, as well as the development environment and CV using free technologies with the aim of automating as far as possible the management of the process of software development.

REFERENCES

  • Alfresco Software Inc. 2009. AlfrescoWiki. 2009. October 28, 2009. http://wiki.alfresco.com/wiki/AMP_Files. 2009. Open Source Enterprise Content Management System (CMS) by Alfresco. 2009. https://www.alfresco.com/products/community/downloadCollabNet Corporation. 2008. Tigris.org Open Source Software Engineering Tools. 2008. http://subversion.tigris.org/.Edgewall Software. 2009. The Trac Project. 2009. http://trac.edgewall.org/.García, Luis. 2008. Education Technological Observatory. January 17, 2008. http://recursostic.educacion.es/observatorio/web/Milián Iglesias, Ridosbey, and others. 2009. PROPOSAL FOR A MANAGEMENT ENVIRONMENT OF INDICATORS ON FREE TOOLS TO MEASURE THE SOFTWARE DEVELOPMENT PROCESS. Havana City: sn, 2009.Redmine. 2009. Redmine. 2009. http://www.redmine.org/.Shariff, Munwar. 2006.Alfresco Enterprise Content Management Implementation. Mike W. Walker Birmingham: Packt Publushing Ltd., 2006. pp. 7880.ISBN 1904811116.-. 2006. Alfresco Enterprise Content Management Implementation. Mike W. Walker. Birmingham: PacktPublishing Ltd., 2006. p. 12. ISBN 1904811116.-. 2006. Alfresco Enterprise Content Management Implementation. Mike W. Walker. Birmingham: PacktPublishing Ltd., 2006. ISBN 1904811116.The Eclipse Foundation. 2009. Eclipse Home. 2009. http://www.eclipse.org/mylyn/-. 2009. Eclipse Home. 2009. http://www.eclipse.org/subversive/.Yerbabuena Software. 2009. Yerbabuna Software Blog. February 11, 2009..PacktPublishing Ltd., 2006. p. 12. ISBN 1904811116.-. 2006. Alfresco Enterprise Content Management Implementation. Mike W. Walker. Birmingham: PacktPublishing Ltd., 2006. ISBN 1904811116.The Eclipse Foundation. 2009. Eclipse Home. 2009. http://www.eclipse.org/mylyn/-. 2009. Eclipse Home. 2009. http://www.eclipse.org/subversive/.Yerbabuena Software. 2009. Yerbabuna Software Blog. February 11, 2009..PacktPublishing Ltd., 2006. p. 12. ISBN 1904811116.-. 2006. Alfresco Enterprise Content Management Implementation. Mike W. Walker. Birmingham: PacktPublishing Ltd., 2006. ISBN 1904811116.The Eclipse Foundation. 2009. Eclipse Home. 2009. http://www.eclipse.org/mylyn/-. 2009. Eclipse Home. 2009. http://www.eclipse.org/subversive/.Yerbabuena Software. 2009. Yerbabuna Software Blog. February 11, 2009..
Tools for software project management