Friday, January 1, 2021

How to parallelize SCRUM's development team.

How to parallelize SCRUM's tasks of the development team.

During the last eight(8) years, I have been working in South America, using Scrum philosophy.

The first constraint that I found was the peoples' minds. (their mentality)

In most of the cases, I heard this:
"hey, why are you trying to introduce an American methodology that only works with people who are more organized than we are?"
"Have you ever used this philosophy in Colombia?"
"where has it been used in our country, show us successful cases of use in Colombia, if not, don't try it with us"

Those expressions keep my challenge in movement, so,  I started figuring out how to spread the Product' Owners' knowledge to the development team in parallel.  Part of this article will focus on it.

On the other hand, the second constraint was the available tools in the market which compile and integrate team works with SCRUM  pillars. 

There are many tools but not integrated between them that allow us to join SCRUM user stories, tasks, versions, sprints, backlogs, basic documentation, and the complete SDLC, so you have to manage five or more tools for getting a good integration to a DEVSECOPS process. For instance  JIRA, Confluence, MS SharePoint, Atlassian Trello, MS Teams, Zoom, MANTIS, TEST link, Azure Test Plans, Oracle testing as a service, GIT (or any other GIT available flavors in the market),  IDE's, Cloud development IDE's, Cloud services based on the vendor (AMAZON, Oracle, Microsoft, IBM), Jenkins, Hudson, Azure DevOps Server, Oracle DevSecOps services, YAML, and so on.

This Tower of Babel is going complex every day,  meanwhile, the time of the projects each day is shorter, so it's better to chose a good SDLC technological partner who integrates them at Cloud(IBM, Oracle, Amazon, Microsoft) and it's better paying for the productivity of the development team to aim to the best time to Market and not paying for the internal integration of those tools (most of them are Open Source) plus the complexity of the project that is running and has rising cost every minute.

At the end of the day, the features of the cloud vendors like AI (Artificial Intelligence), Cloud Generation version 2, performance, and availability of cloud services (guaranteed by written)  will be relevant for making a good decision of which vendor is the right one. An example of this is Oracle, which has the SDLC integrated, offers autonomous services that allow us to decrease the headcount in technicians and collateral costs in the  SDLC chain.

The third constraint is and continues being the direct translation of the English word Agile to the Spanish word  "ágil",  does not mean the same, and could be one of the most difficult issues for implementing this philosophy in South America.  

In Spanish, Agile translation has a top of mind of meaning as "Fast" or  "rapid" instead of flexible, adaptable, adjustable, versatile, and so on.

This "Fast" meaning put in trouble the SCRUM masters and the Agile framework due to the companies have big expectations for getting more ´projects at the same time when they decided going forward to implement Agile Frameworks.

Now, let´s talk about the parallelism using the right time of the product's owner.

we need to take advantage when the P.O. (Product Owner) transfers its business knowledge and necessities to the development team.

All of them can work immediately after finish the PO's knowledge transfer with one critical condition,  "work in continuous communication with their teammates". 

In the other words, to involve them and to start their right thinking process making the point of view of how to deliver its business message being a developer, a QA, an Architect, a Technical leader or a business analyst, requires continuous communication between them,  does mean,  each idea taken from de PO must be integrated with the other team members. This responsibility of the Scrum Master guarantees the right knowledge with the right point of view into the development team's work.
  
in the end, the user's stories will be evidence of the complete work, and no prerequisite of the development team's work for starting the programming, or QA process. 


Sunday, July 28, 2019

How to install GitHub on Centos 7

In this article, I will show you the steps  I did for installing my own Git repository.
Let's start step by step:

Step 1: Install and Configure Required Dependencies

Using yum utility we will guarantee the mandatory dependencies GIT have for a normal use

Enter as root user  to the CentOS 7 linux server

#yum install curl policycoreutils-python openssh-server

you will see

Complete!

[root@demodb ~]# Transaction test succeeded

Now, install Postfix service to send notification emails, and enable it to start at system boot, then check if it's up and running using following commands.

# yum            install postfix
# systemctl    start    postfix
# systemctl    enable postfix
# systemctl    status   postfix

At the end you will see something like this:

[root@demodb ~]# systemctl status postfix
● postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/postfix.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-07-28 11:09:08 COT; 1min 31s ago
 Main PID: 8898 (master)
   CGroup: /system.slice/postfix.service
           ├─8898 /usr/libexec/postfix/master -w
           ├─8899 pickup -l -t unix -u
           └─8900 qmgr -l -t unix -u


Step 2: Add GitLab Repository and Install Package


Now install GitLab package from the YUM repository to your system by running the following script:

#curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash


Until the process finish with

The repository is setup! You can now install packages.
#


Then, install the GitLab Community Edition package using the following command and make sure to change ‘http://gitlab.demodb.com‘ to the URL at which you want to access your GitLab instance from a web browser.
#EXTERNAL_URL="http://gitlab.demodb.com" yum install -y gitlab-ce

This process takes several minutes, depends on your Linux, Internet broadband and CPU's power


     _______ __  __          __
    / ____(_) /_/ /   ____ _/ /_
   / / __/ / __/ /   / __ `/ __ \
  / /_/ / / /_/ /___/ /_/ / /_/ /
  \____/_/\__/_____/\__,_/_.___/


Thank you for installing GitLab!
GitLab should be available at http://192.168.1.101

For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md

  Verifying  : gitlab-ce-12.1.1-ce.0.el7.x86_64                                                                   1/1

Installed:
  gitlab-ce.x86_64 0:12.1.1-ce.0.el7

Complete!



Note: If you want to change your main URL, you can configure it in the GitLab main configuration file /etc/gitlab/gitlab.rb in the external_url section. Once changed, don’t forget to reconfigure gitlab to apply the recent changes in the configuration file using the following command.

In my case I changed the port number 8080 for 5010, so look for 8080 and change it  for the port number you need, then execute the following command

#gitlab-ctl reconfigure

Check if you have a system firewall enabled because you need to open port 5010  (HTTP) and 5443 (HTTPS) to allow connections in the system firewall.

#firewall-cmd --permanent --add-service=5010/tcp
#firewall-cmd --permanent --add-service=5443/tcp
#systemctl reload firewalld

Step 3: Initial Gitlab Setup

Go to the Internet Browser using the URL you defined previously 

http://localhost:5010 and follow the instructions creating first the admin user, then the project

 and good Luck!

Saturday, January 11, 2014

How to purge Oracle alert, trace and log files generated in Oracle 11gRx?

Today I have been seen a lot of files generated into "$ORACLE_BASE/diag" directory (I'm using Oracle Enterprise Linux 5).
So I decided to know how to delete them gracefully.
I looked for through Oracle documentation and I founded the following utility out called
ADRCI  (stands for ADR Command Interpreter -ADRCI). So I tried to use it and see what happens.

1. The first Step
Connect to Oracle server using a ssh,telnet or X-windows connector utility. I'm going to use Kitty (ssh tool connector)


login as: oracle
oracle@192.168.1.17's password:







After this, load the Oracle environment's variables.

$. oraenv   (see the period at the beginning of the line)

$ . oraenv
ORACLE_SID = [oracle] ? demogpr
The Oracle base for ORACLE_HOME=/oracle/db/product/11.2.0/home is /oracle/db



ScreenShot-01







2. Second step
Go to  $ORACLE_HOME

$ cd $ORACLE_BASE
$ adrci

ADRCI: Release 11.2.0.2.0 - Production on Sat Jan 11 20:11:22 2014

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

ADR base = "/oracle/db"
adrci>

ScreenShot-02










Now, it is important to know what "homes" the system has set up on your system, so use the "show homes" command to see them

adrci> show homes
ADR Homes:
diag/rdbms/demogpr/demogpr
diag/tnslsnr/demogpr/listener
diag/tnslsnr/demogpr/listenerpdn
adrci>








3. Clean your "homes"
Using adrci I'm going to clean the rdbms home first.
As a result I will purge the last 21 days ( specify the time in minutes 21 days = 21*60*24)

Ok. You know how many homes you have so you need to select one by one and clean them.

Choose the ADR home from the list above:

adrci>set homepath  diag/rdbms/demogpr/demogpr

Now purge the alert types

adrci> purge -age 21600 -type ALERT
adrci> purge -age 21600 -type TRACE
adrci> purge -age 21600 -type incident
adrci> purge -age 21600 -type hm
adrci> purge -age 21600 -type utscdmp
adrci> purge -age 21600 -type cdump

Screenshot04






If you want to see more details please read

http://docs.oracle.com/cd/E11882_01/server.112/e22490/adrci.htm#SUTIL700

Thursday, March 10, 2011

How to extract values from an XML file?

Today someone asked me if I do know of an easy way to parse an html file using pl/sql? 
"I want to extract the values for all the tags in a html document. I’ve got it working by just parsing it and using instr and substr. It works, but I’m wondering if you’ve come across a better way".

I have an answer to this question but I cannot guarantee its performance however, I recommend this PL/SQL function to do it.

create or replace
function  GetParseXMLtoken( XMLString in varchar2  ,   Token_TO_Search in varchar2)  return varchar2 is
l_XMLConverted         xmltype := xmltype(XMLString);
l_rollno                         number;
l_result                         clob;
begin
   select extractvalue(l_XMLConverted,Token_TO_Search
         into l_result
   from dual;
  dbms_output.put_line(' Tag1:['||l_result||']');
return l_result;
end;

Let's test this code

select GetParseXMLtoken(
                        '' ||
                          'Jorge Rios'||
                          ' Me '||
                          'XML email test '||
                          'This is an example of email Body'||
                        '
','/Message/Body') from dual;


The result should be:



Enjoy it!.

Wednesday, December 29, 2010

Installing Oracle application express 4.2 in MS-Windows 7 Oracle Database server 10.2 (Fresh Install)

You must have installed Oracle Database server 10.2.0.3 or greater.

My ORACLE_HOME is c:\oracle\product\102r2

My ORACLE_SID= presales 

My Oracle Database version is 10.2.0.3

Let's start downloading the Oracle express software



- Download Oracle application express 4.2 from OTN



then click on Downloads menu




go to Application express under Databases Option

click on there and you will see the following screen. Then choose the Accept License agreement option


Then click on Download link whether you want all languages or English only.



Note: This is not a complete software distribution.




the system will ask you your otn user`s name and password












After this download finishes we can start the installation procedure as shown below.

Extract the apex_4.0.2.zip into ORACLE_HOME directory in my case c:\oracle\product\102r2







press   continue button



After  this extract we need to go to ORACLE_HOME directory using CMD window and run it as administrator user


go to Accesories and choose Command prompt, press right click and select Run as administrator

Then click on this option . You will see a black window



go to $ORACLE_HOME directory, in my computer is
cd      c:\oracle\product\102r2\apex



---------------------------------------
Define the environment variables

TNS_ADMIN, ORACLE_HOME and ORACLE_SID



Now load sqlplus as system administrator

sqlplus / as sysdba

if you get to log in to the database, the environment variables were well defined;

otherwise repeat their definition and try again.



 Drop apex_030200 user if exists.

SQL> drop  user apex_030200 cascade;











Then  install Oracle apex entering ..



SQL>@apexins SYSAUX SYSAUX TEMP /i/







Updating the Images Directory When Running the Embedded PL/SQL Gateway

The images in an Oracle XML DB HTTP Server with the embedded PL/SQL gateway installation are in the XML DB repository. Updating the images is accomplished by running the SQL Script apxldimg.sql located in the top level directory where the patch was unzipped.

Load sqlplus as system administrator again

sqlplus / as sysdba


SQL>@apxldimg.sql c:\oracle\product\102r2\apex 





Now run this script with one parameter the oracle home directory, in this
example is

c:\oracle\product\102r2



@apex_epg_config.sql c:\oracle\product\102r2







change the password

@apxchpwd.sql




@apxconf.sql

Enter the password you entered before

define the port you will use for working with apex



execute this script from


Pravednik


SET SERVEROUTPUT ON

DECLARE

l_configxml XMLTYPE;

l_value VARCHAR2(5) := 'true'; -- (true/false)

BEGIN

l_configxml := DBMS_XDB.cfg_get();



IF
l_configxml.existsNode('/xdbconfig/sysconfig/protocolconfig/httpconfig/allow-repository-anonymous-access')
= 0 THEN

-- Add missing element.

SELECT insertChildXML

(

l_configxml,

'/xdbconfig/sysconfig/protocolconfig/httpconfig',

'allow-repository-anonymous-access',

XMLType('<allow-repository-anonymous-access
xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd">' ||

l_value ||

'</allow-repository-anonymous-access>'),

'xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"'

)

INTO l_configxml

FROM dual;



DBMS_OUTPUT.put_line('Element inserted.');

ELSE

-- Update existing element.

SELECT updateXML

(

DBMS_XDB.cfg_get(),

'/xdbconfig/sysconfig/protocolconfig/httpconfig/allow-repository-anonymous-access/text()',

l_value,

'xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"'

)

INTO l_configxml

FROM dual;



DBMS_OUTPUT.put_line('Element updated.');

END IF;



DBMS_XDB.cfg_update(l_configxml);

DBMS_XDB.cfg_refresh;

END;
/

Now Unlock the anonymous account.









You are ready to use Oracle Apex







Monday, August 2, 2010

How to install Oracle Forms Builder 11g on Windows Vista 64 Sp1

Today I decided to start the migration process of all oracle forms applications that I have made during the last twenty years. The oldest forms version that I will have to start the migration process it will be 6i. So the first step will be to start the download process of the Oracle developer tools. In this case Oracle forms 11g.

Let's start dowloading the software from http://www.oracle.com/technetwork/indexes/downloads/index.html go down on the page and stop on Middleware section

choose Forms & Reports Services option, click on there and you will see







then choose Oracle Fusion Middleware Application Server 11g Release 1 (if you see its description says "Contains Forms 11.1.1 so this description gave me confidence to clicked on it.

This page is not clear in its message due to Oracle Forms Builder is not a deployment tool; as a result I decided to continue looking for a link of Oracle forms installation files and I found it "See Additional Development Tools"

I clicked on it and