HOME BLOG

How to manage software development teams in an Agile manner

Posted on: March 4th, 2023 by Olu No Comments

Hi folks,

In this blog I discuss a few practices that can help one manage a software development team effectively using the Agile methodology. They are as follows:

  • Use good tools e.g. Jira or Trello to manage requirements.
  • Use a backlog to store all requirements that may be useful to complete by the team but are not ready for current work.
  • Clarify new requirements from business before presenting it to software development team – this can be done by development team lead or business analyst.
  • Have your software devleopment team estimate efforts to complete requirements together as a group. You can use story points to estimate efforts where story points may be roughly mapped to days. it’s common for teams to use fibonacci sequence for story points.
  • Break down large requirements into smaller tasks that can each be completed within a couple of days.
  • Have daily stand-up calls to monitor progress of the software development team.
  • Have periodic sprints of e.g. 1 week or 2 weeks to serve as checkpoints to monitor progress of the development team.
  • Don’t drag requirements from sprint to sprint unnecessarily. Try to have the team complete requirements they have committed to complete in a given sprint.
  • If you’re nearing the end of a sprint and a developer needs a task to pick up, you can look at any task in the backlog that can to be completed within the sprint and assign that task to the developer. If there’s no such task, you can look at sub-tasks of any larger tasks in the backlog that can be completed in the sprint. You can then convert that sub-task into a regular task (you can update the task title to indicate it’s a sub-task of the parent for easier tracking). Then assign the new task to the developer.
  • Perform retrospectives from time to time to get feedback from developers on how they’re faring with work.
  • Have frequent software releases to production. Don’t let features pile up too much otherwise it could lead to difficult in troubleshooting issues.

Till next time, happy software development.

How to add hymns with Yinkos Hymns Manager

Posted on: February 16th, 2023 by Olu No Comments

Hi folks,

In this article we will cover how to add hymns or any other kind of songs with Yinkos Hymns Manager.

First, log in to the app.

Go to the Hymns screen by clicking the Hymns button or by clicking on Hymns Management > Hymns from the top menu.

Next, click the Upload button. You will be taken to the Add a new hymn screen.

Enter details for the hymn/song and select the audio file. You can enter just hymn number if creating a hymn entry. You can also enter a custom title.

Click Save when done.

That’s all you need to add a hymn with Yinkos Hymns Manager.

Till next time, happy music management.

How to record music with Yinkos Hymns Manager

Posted on: February 11th, 2023 by Olu No Comments

Hi folks,

In this article we will cover how to record hymns with Yinkos Hymns Manager.

First, log in to the app.

Go to the Hymns screen.

Next, click the Record button

You will be taken Record a new hymn screen

To start recording, press the Start button

If doing this for the first time, the browser will ask for your permission to record using your microphone. Make sure you grant permission. Once recording has started, you will see a message Recording… appear.

Once you have finished recording your music, press the stop button

To play your recording, press the Play button. A player will appear and play the song.

If you’re happy with the song, then enter the title of the song and version. Then click Save.

That’s all you need to record a song with Yinkos Hymns Manager.

Till next time, happy music management.

Database Trigger

Posted on: February 4th, 2023 by Olu No Comments

Hi folks,

In this post I will talk about database trigger. A few days ago, a colleague working on a piece of software I develop tried to submit some code containing database triggers for review. I hadn’t seen any codebase with database triggers until that point. Another developer who looked at the code felt the triggers ought to be removed. This got me curious about what triggers are what they are used for.

What is a database trigger? A database trigger is procedural code that gets executed automatically when certain events happen on a table or view in a database. Triggers are mostly used for maintaining the integrity of the information in the database. E.g. When a new record (for a new worker) is added to the employees table, a trigger can be used to add new records to the taxes, vacations and salaries tables. Triggers can be used to log historical data too for auditing purpose.

Thinking about trigger, I feel they must be used with caution because it is easy for developers to not even know that the triggers exist. This could lead to surprises and lots of time debugging code. This problem can be minimized though through good documentation.
Also, the use of triggers mean the business logic is handled in not just the application source code but in the database which could make it more difficult to understand how the applcation works. Furthermore, it may take more effort to write and maintain automated tests for database triggers.

That’s all for now. Till next time, happy software development.

 

References

Database Trigger. Wikipedia. https://en.wikipedia.org/wiki/Database_trigger.

How to view what tables a user has privileges on in Oracle

Posted on: November 10th, 2022 by Olu No Comments

Hi folks,

In this post I talk about handy commands you can run to find out what tables a user has privileges on in an Oracle database.

To view privileges for all users, run the following query:

select * from dba_tab_privs;

 

To view privileges for the currently logged-in user, run the following query:

select * from role_tab_privs;

 

The result will show the role, owner, table name, column name, privilege, grantable and common fields for each privilege.

The above command could be very useful when debugging permissions issues.

That’s all for now. Till next time, happy software development.

How to create product demo videos using a Mac

Posted on: October 17th, 2022 by Olu No Comments

Hi folks,

In this article I briefly discuss an easy and inexpensive way to create product demonstration videos using a Mac. The information shared here is based on my experience creating such for our product, Yinkos Hymns Manager.

First, here is a list of free tools you can use.

  1. QuickTime
  2. Gimp
  3. iMovie

For screen recording, you can use QuickTime. It comes free of charge on Mac computers. With this software, you can create one of more recordings of your screen and add your voice as you do the demonstration.

If you want to add a splash screen at the beginning of your presentation or anywhere else within it, you can use an app like Gimp (which is free to download), PhotoShop (not free, but you may be able to try it for free) or similar software.

Once you have your images and screen recordings for all aspects of your presentation, you would need  a software to combine them into a single video, including nice transitions between the various videos. You can use iMovie for this. iMovie usually comes built-in on Mac. If it isn’t available you can get it from the App Store free of charge.

 

That’s all for now.

How to execute shell scripts that can throw an error without causing Jenkins build to fail

Posted on: October 1st, 2022 by Olu No Comments

Hi folks,

Usually, if a shell script in a Jankins build throws an error, the build fails automatically. In this post I talk briefly about a technique for running a shell script in your Jenkins CI pipeline without causing the build to fail if the shell script throws an error.
The technique is to use code like the following:

sh("""
set +e
/your/script/that/may-or-may-not-fail.sh
set -e
""")

 

set +e is the default way that bash runs. That is, if a command throws an error, bash displays it, but continues with the script.

set -e forces the script to exit if there’s an error.

That’s all for now. Till next time, happy software development.

How to fix error “my_config.h” file not found in MySQL-python on Mac OS

Posted on: September 30th, 2022 by Olu No Comments

Hi folks,

In this post I will briefly touch on how to fix the error that my_config.h could not be found when trying to install MySQL-python with pip on Mac OS 12.0.x with Python 2.7.x. We assume you installed MySQL via Homebrew.

The error looks like

    _mysql.c:44:10: fatal error: 'my_config.h' file not found
    #include "my_config.h"
             ^~~~~~~~~~~~~
    1 error generated.
    error: command 'clang' failed with exit status 1

 

First, download my_config.h using commands:

cd ~/Downloads
curl https://raw.githubusercontent.com/jacob5412/MySQL-Medium/main/my_config.h -o my_config.h

 

Next, find your MySQL version by running command

mysql --version

Let’s assume your version is 8.0.29.

Make sure the following directory exists /usr/local/Cellar/mysql/8.0.29/include/mysql/.

Then copy the downloaded my_config.h into the directory using command:

cp my_config.h /usr/local/Cellar/mysql/8.0.29/include/mysql/

That’s it. You can now install MySQL-python using command:

pip install MySQL-python

That’s all for now. Till next time, happy software development.

References

Fixing “my_config.h” file not found in MySQL-python (Mac OS). https://medium.com/the-rising-tilde/fixing-my-config-h-file-not-found-in-mysql-python-mac-os-ff97663a8042.

How to be able to switch to another user without entering password

Posted on: September 17th, 2022 by Olu No Comments

Hi folks,

In this post I explain how to switch to another user in Linux without needing to enter a password.

You can do this with the PAM authentication module.

Edit /etc/pam.d/su

vim /etc/pam.d/su

 

Then enter the following lines

auth       [success=ignore default=1] pam_succeed_if.so user = the-username
auth       sufficient   pam_succeed_if.so use_uid user ingroup the-groupname

Save and exit the file.

This will allow you to switch to the-user if you belong to the-group without needing to enter the password for the user using a command like

 su - the-user

 

That’s all for now. Till next time, happy software engineering.

 

References

How to Switch (su) to Another User Account without Password. https://www.tecmint.com/switch-user-account-without-password/

How to use sudo command without password

Posted on: September 17th, 2022 by Olu No Comments

Hi folks,

in this post I discuss how you can use sudo command without password on a Linux system.

Back up your sudoers file

cp /etc/sudoers /etc/sudoers.old

Then, run visudo command

visudo

 

Then enter an entry like

your-user-name ALL=(ALL) NOPASSWD: ALL

 

Then, if visuo uses nano, press Ctrl X to save. Then press enter to finish the save.

Please note: it’s not good security pracrice to let a non-root user run sudo without passwords, so you may want to limit it to some specific commands.

That’s all for now. Till next time, happy software development.

 

References

How to Use sudo Commands Without Password in Linux. https://www.makeuseof.com/using-sudo-without-password/