Posts

SCRUM VS Clasic Project Management

Image
Software development, especially software management are difficult processes, because this processes involve people. Why are we people such a difficult factor to manage? How does SCRUM helps improve this process? It is difficult to plan a project properly because of the impediments, which have allays as the root cause, us, the people. If we would be predictable, everything could have been planned in the smallest detail. We create impediments for other teams or even members of the same team and other teams or members of our team create impediments for us. How can the process be improved here? Can we improve ourself? Like we program the machines, our parents, our friends, our family, the society programs us. In order to improve ourself without being addicted from commodities of the society, we need to isolate ourself and be focused, but in that case the life would not be fun anymore without interaction. So improving ourself is a difficult process, because we have some patterns pro...

Continuous integration

Image
Continuous integration has become a very important topic nowadays. In our blog we will discuss the possibilities that Bitbucket offers and the advantages that, according to me, Bitbucket offers compared to Jenkins. Bitbucket is all in one tool, which offers a lot of facilities to manage all the development process of a product. In the next blog we will go deeper into these tools and than we will focus on pipelines. Bitbucket has some limitations in the free version, but for the first steps Bitbucket is a very good tool. We will see how easy it is to setup Bitbucket and the extra steps that Jenkins requires to setup. For a small team and a small project Bitbucket requires no costs at all and whithout the need of a dedicated server for the build process. On the other hand Jenkins can be setup to be accessible through internet only through a server that has connection to internet. The following picture depicts the differences between Bitbucket Pipeline and Jenkins (The advantages of B...

Free host and domain

Image
In order to be able to have a website online are needed a server which is used to host the website and a domain which is linked with the IP of the server where is hosted the website. In order to get a host and a domain the programmers must pay, but at 000webhost.com can be taken free subdomain and host. At 000webhost.com after sign up must be confirmed the email address entered during sign up. Figure 1 shows an example of filling the information during the sign up that we'll use in this lesson. Figure 1: Sign up at 000webhost.com The information that are used in figure 1 must be replaced as required. First is the email, after email is the password field and the third input field is the field where is entered the name of the website and bellow is updated the domain of the website which will be created. After the creation of the account the email address must be confirmed. After confirming the email address, the created website is displayed as seen in figure 2 bellow. Fig...

VOIP Project: Creating PBX - Part 9

Image
Before being able to create the application of the system, another step should be made first, the creation of the PBX functionalities. During the development of this project, the best alternative where to create the PBX functionalities was considered the Bitrix24 at bitrix24.net . Bitrix24 offers no limitation regarding the number of the user that can be created in the free plan, so unlimited sip accounts can be created. Creating the sip account in Bitrix24 is a straight forward process. The first step in order to create the sip accounts is to create the management account by signing up in the bitrix.com website. After creating the management account in the page that follows we need to create a Bitrix24 account as by following the steps shown in figure 1: Figure 1: Create Bitrix24 In the next page that follows complete the information required, similar to the ones shown in figure 2: Fill Bitrix24 info In the management panel that shows next can be found a lot of options, ...

VOIP Project: Building PJSIP library - Part 8

After downloading the PJSIP project from pjsip.org website and installing the Visual C++ IDE, PJSIP project must be opened with Visual C++ IDE. In the solution explorer where are listed all the solutions of the PJSIP project, pjsua project must be set as the starting project. Before starting to build the PJSIP project, it is necessary to check and properly set some configuration for the resulting libraries. In order to be able to build compatible libraries, it is necessary that the configuration of when building the PJSIP project, which will generate the need libraries, to be the same with the configuration of the compiler that will be used when building the final application. The first concern of course must be the compatibility of the versions of the compiler. The compilers must be both 32 or 64 bit, which means that when running the compilation of the PJSIP project the target platform must be the same as the target platform which will be used during the development of the appli...

VOIP Project: Preparing environment - Part 7

In order to implement the system shown during the design process shown in the previous parts, there are several steps needed to be followed in order to setup the framework of the project. In order to build the PJSIP library it is necessary to have the Visual C++ IDE in a Windows environment. During the implementation of project, the Visual C++ 2015 Express Edition is used. Of course the PJSIP project must be downloaded as well from the pjsip.org website. During the development of this project the version 2.4.5 was used. And alternative to Visual C++ 2015 Express Edition, a relatively more complex one, in order to build the PJSIP library is the usage of MingW combined with MSYS. When using this tools it is necessary to collect other tools in order to be able to build the PJSIP library. After having the above mentioned tools, it is necessary to have a server where to host the MySQL database used in this project. During the development of this project a server connected with db4free.n...

VOIP Project: Patterns - Part 6

In order to develop good and stable software a software engineer should make use of the standardized accumulated knowledge of other engineers as well, know as patterns. Patterns are defined by Shaffer as follow: “Experienced software designers learn and reuse patterns for combining software components …A primary goal of design patterns is to quickly transfer the knowledge gained by expert designers to newer programmers.” (A.Shaffer, 2013, p. 12), which shows that the patterns are a result of experience. In this project are implemented several patterns and is paid a special attention to avoid the “Anti-Pattern” processes, which means "a common design pitfall. An anti-pattern is called this because many design patterns are designed to avoid such pitfalls.”(Ezust & Ezust, 2007, p. 342) The singleton pattern is one of the patterns implemented in the project. Singleton pattern is a pattern which can be implemented in several high level programming languages and among them is c++...