Commented in one of the first articles , a few months ago, some of the skills that are expected to have a developer. The short, the message of the article came to say that …
Software engineering if we think of “agile development” requires much more than being good with a programming language, in fact not so aware programming language itself as a range of methodologies and best practices, as well as sufficient knowledge multiple tools.
This statement of intent has a practical impact on the action to start producing software, understanding the concept of “producing software” as the continuous delivery of functionality (that works) and that adds value to the user.
This article, then, is a practical explanation of the strategies and tools to implement at time 0, ie before cutting a line of code in apiumtech think do the following is the most productive:
- Versioning
- Construction
- Continuous Integration
- Functional Test
- Whatever the size of the project implements a version control.
Regardless of whether you git, svn, mercurial, or whatever you prefer. Since first ten versioning code.
- Implements a construction system and have it run for command line and run at least one smoke test.
Something simple but without being tied to the IDE, create a first device that can deployar. This applies also for interpreted languages, where there is no concept of compilation but there are still other construction processes as minification, obfuscation, generation, etc .. Watch that when the test fails, the system generates an exception and construction interrupted.
- Install and configure Jenkins. Both continuous integration project as proposed deploy.
If you’ve done very little time and earn a lot. If this is your first time, you must choose either the plugins and fight with permissions jenkins (this is a classic). I personally (and to the horror of the people of systems) give in the / etc / sudoers permissions to jenkins for everything and run. My recommendation is that you do so, to work, and then if you want more go at managing security.
- Riding a Jmeter. Above all installed plugins.
Granted it’s rare and out mount jmeter but this we have very clear. For the cost of having to automate functional test, contract and even monitor the platform, whatever the size, we will also have test performance. I think it is not yet sufficiently widespread use jmeter and understood more as a pure performance tool but no. It works great for the functional test.
I will not comment on the virtues of a system with these 4 points correctly implemented but we think are very basic(really!) And so, the first thing we always do. In all projects without exception.
I think it shows that we are convinced of this and being taxative, we believe that we will always deliver functionality faster than other professionals simply do it this way, not to mention bugs, maintainability, scalability, fast feedback, communication, design, composition ……… ..
The good news is that doing so is available to everyone and it is free.