The need to centralize
Software development is an activity that requires high collaboration among members of a group. I want to talk about group behaviors that can promote the forging of a "team", but that will do it in a later post. In this I speak of tools to improve team performance by centralizing resources.
The Environment:
When we start a project, the first thing we ask is what will be our development environment. How to work without centralization would go through: choose IDE, download, add plugins and configure to your taste. This is for each team member. In this process, it can consume much time. I proposed in my company use Press. Press can be defined as a repository of Eclipse, which can create pre-configured Eclipse profiles and share them with team members. If we enrich a profile with a plugin, automatically all team members can use.
I designed three profiles: one for J2ME developers, one for J2EE programmers, and one for PHP programmers, and all share common tools like Mylyn or the Subversive'll talk later.
Bookstores:
libraries centralize Before, we had a scenario a bit chaotic. The questions: "What version do you use? And where did you download?" were very common. With Maven solves these problems. Maven serves many other things, but here I try to explain its benefits as a single repository of libraries.
Code
Before working in private enterprise, I have worked many years as a freelance. In this world, is also very normal to work with a co- School. I still remember how hard it was coordinated, "Do not touch this file that I am doing," before joining our codes work, "" I have been cleared and there I have backup "...
This issue is fully resolved with a code repository and version control. I am in favor of Subversion for many reasons that go and later shelling. With Subversion know that developer has pulled every line of code and can mix with others, discard, or return to a previous version. For Subversive Eclipse plugin there is a good Subversion client .
Tasks To develop software must complete a series task, and the various iterations to track errors. Trac allows a complete workflow tasks (work completed, resizing ...). Has a strong dependence Subversion, being able to even view this code. Also, I can perform other tasks related to project management or documentation. There is a plugin for Eclipse Mylyn, which allows you to associate each commit in Subversion a task Trac.
deployment
Apart from the respective deployments undertaken by each developer in your environment, you must perform a continuous integration work, which "centralize" the result of work done by each member. Since Subversion can automate server deployments by Hudson, and schedule unit tests, documentation generation, or a snapshot to the client.
Knowledge
In my company tried to introduce a new element of R & D in each project. Very often, we had the problem of having to investigate something for reasons such as: the person who did this already in another department, the person who did not remember, and in any case nothing was written. Ie, that investment in R & D was lost like tears in rain. Had to centralize the knowledge, best practices, libraries own, known bugs somewhere.
did an analysis of what tool gives us more. The options were a forum, or wiki. I will not go into too much detail, but for our needs, the best without doubt was a wiki. When my friend Dani Google told me that they constantly used wikis for everything, "I reaffirmed that the decision was correct. Soltelpedia is developed with MediaWiki , like Wikipedia .
As you can see is just a touch in which attempt to capture the benefits of "centralization." Maybe I encourage further in future posts in each of these technologies (installation, configuration ...). On the other hand, it could have talked about other technologies that do the same. Which were expose that after a thorough analysis, best suited to the circumstances of my team and my projects ... and are already bearing fruit.
0 comments:
Post a Comment