Posts Tagged ‘agile development’

My Code Review Workflow

My role involves reviewing code written by different members of my team, which is an important process in the software delivery lifecycle. In certain cases, code reviews turn into gatekeeping which does not deliver the intended value for the process

The reason for code reviews

  1. Get a shared understanding of the code submitted – an opportunity to share, learn and collaborate
  2. Find opportunities to improve the code and what it is doing – refactoring
  3. Find edge cases that may not have been covered
  4. Verify that the code does what is expected

I just thought I would share my PR review approach and I hope it may help others here

  1. Read through the code changes across the files in the GitHub/GiLab or version control UI – this helps me get a sense of files which should not be there, too many files, too few files etc
  2. Pull the PR locally on my machine – Jetbrains IDEs and VS Code have pull request views and functionality if you are not a cli guru like yours truly
  3. Run the code and test the features as documented both happy path and some random abrupt paths

The improvements we are going to add to our projects (still looking for ideas here)

  1. Automated code checking for formatting and linting

I tend to use Firefox developer edition (set to always start in private mode) for web stuff to view it in a clean browser. Chrome is the new Internet Explorer 6 (the most painful growth phase of the web)

What is your code review workflow, what tips and tricks have you used to make it smoother and more streamlined?

UPDATE 1: November 4, 2021 – excellent reference on by Chelsea Troy https://chelseatroy.com/2019/12/18/reviewing-pull-requests/

Agile driven requirements wishlist for Integrated Telcom Service Provider Packages

I am constantly frustrated by having to remember voice, data and SMS bundles not only for my own use but for my family and dependants, and I am envious of family data plans in the rest of the world.

Being an agile practioner here is my user story

As a telecom service customer I would like to purchase and track a single package for the users in my household and dependants

Acceptance Criteria

  1. The package includes the following services at a minimum
    • On-net voice calls
    • Off-net voice calls (same country)
    • SMS messages
    • Internet access
  2. All phone numbers on the package use the services transparently
  3. The package is paid for monthly, with the ability to purchase additional optional services as need
  4. Ability to add and/or remove numbers at will
  5. Ability to pay for additional batches of numbers e.g., 5 numbers – the service fee helps the telecom cover losses due to the service discounts
  6. Weekly and monthly payment options – to help manage cash flows
  7. Generation of tax invoices for the service payments
  8. Web/app based monitoring of service usage broken down to a daily usage
  9. Ability to set usage thresholds for all user at least 2 levels – I know individual thresholds may be difficult so nice to have
  10. Reminders to pay for services before they expire

What do you have on your wishlist for your telecom provider?

Perspective: User Requirements for Technology Projects

I was asked to talk about the handling of user requirements, how to link them to implementation within technology projects, by The Medical Concierge Group (TMCG) a digital ehealth service provider.

The key principles are being able to respond to change (agile), keep learning, and how to capture business/customer outcomes as well as improving communication across different departments and external stakeholders.

Agile Software Development for Ugandan Context 2019 Edition

Excited to share my thoughts and experiences in agile software delivery for use within Uganda at the Google Dev Fest in Kampala, on October 26, 2019

 

 

Software Delivery Skills Plan 2018

If you fail to plan, you are planning to fail! ~Benjamin Franklin

A new year is upon me, and looking over the horizon I am looking to do the following work streams to help better my development skills

1. Work with a new age Javascript framework – vue.js seems the rage, this is also working with webpack and new Javascript build tools

2. Make docker part of my development workflow – this will be project based

3. Distributed ledger proof of concept – the distributed ledger is the rage now, but what can be achieved to prove its capability

4. API First project – this is a separatation of the backend REST APIs from the front end, may be combined with the vue.js to deliver a working project. I will also look to leverage the OpenAPI

5. Write a paper for a scientific journal leveraging the health informatics work I have been doing over the last 3 years and present it at a conference.