How I Scrum

I am writing this post to give a general view of how I have implemented the scrum to collaborate with my fellow professionals. To get the real knowledge about scrum & its history, I suggest you read the book. This will be my implementation which holds the essence of the scrum.

1.Backlog a.k.a To-do List

The Team gathers all the tasks that need to be done. I use Trello with multiple lists such as :

  • Backlog (to-dos)
  • Done
  • Review

You can use any other task management system where it allows you to create tasks & lists. If the team is located at a single physical place & meet there to work everyday, It is even possible to have a board with sticky notes on it.

2.Sprint

The Sprint represents a duration of time between 1-2 weeks of concentrated work. Once the tasks for a sprint are chosen, they cannot be modified.

It is essential to keep Sprint periods short in order to quickly evaluate & improve the process.

3.Daily Stand-up

Every day the team meets at a fixed & previously agreed upon time for a duration of 10 to 15 minutes. Every member starts by describing :

  1. What they did prior to this Stand-up
  2. What are they going to do until the next Stand-up
  3. If there is any challenge or obstacle that is preventing or slowing them down with their task

If any team member faces an obstacle of any sort & another team member can help, they shall not make the meeting longer. They shall take note, wait till the Stand-up is finished & then have a separate meeting with that team member.

It is crucial to stick to points & not drag the meeting. The name “Stand-up” was chosen primarily to emphasize the necessity of the meeting to be short & concise.

If it takes more than 15 minutes, you are doing it wrong.

J.J. Sutherland the Founder of Scrum

4.Sprint Review

The last day of Sprint, The team gathers to present & review the work. This is also referred as “demo day”. The team should have something to present as a result of the works that has been done during the sprint.

Afterwards every team member providers their feedback regarding the process. This is not about blaming or complaining. The main topic of these feedbacks are :

  • What went bad during this sprint?
  • What could have gone better?

If there is any feedback of sort, the team should add it as a task to the backlog & then the next sprint cycle. It is important to figure out a way of testing or evaluating this improvement in the next sprint review.

5.Repeat

With the information in hand & the backlog, the team plans the next sprint & the tasks to be done. It is crucial to start the next sprint as soon as possible in order to be more effective.

New Figma Project Considerations

logo of figma

I am writing this post to convey some information for my fellow designers using figma. I hope this will make my collaboration with them better. I am going to be updating it whenever I find something new.

Main Layout Sizes

Since nowadays we work with multiple screen sizes, it is good to consider for what platform we are building our project for. Here I have some sizes for each platform.

  • Mobile : 600px
  • Tablet : 960px
  • Small Laptop / Large Screen Tablet : 1264px
  • Large Laptop / Desktop : 1904px

These are not words of god so they can be changed. The key is to know the platform you choose.

Layout Grid

I use 12 columns grid system which is used to make responsive UI elements. This video shows how to set these up :

Here are some default gutter sizes for major CSS frameworks:

Bootstrap : 30px (15px on each side of a column)

Vuetify : 24px (12px on each side of a column)

It’s also good to have a “center” grid type to always account for the empty spaces at start & end of the screen.

Positioning inside the grid

As a general rule :

  • Decide how wide your content will need using column as unit.
    • for instance : 2 column wide button, 1 column wide title
  • Do not use the default padding (gutter) of the column as a starting or ending point of your content
    • This will make the integration more difficult. It also breaks the definition of padding. Padding should be regarded as a space or empty space, not the content.

Is there a Navigation Drawer?

If you use a navigation drawer which is common in dashboard type designs, be careful not to include it in every page as it will make the integration more difficult. Create one page with the navigation drawer & only in that page describe everything related to it & the page in general.

Text Sizes

As a general rule, do not go below 14px unless you know what you are doing. I have come across many designs that looked good on their own but when I implemented them, the texts were tiny & difficult if not impossible to read.

Flutter

I have had the chance to play around with flutter (and dart) during last holiday season & as a practice made a small app that did basic crud. I first heard about flutter & dart around two years ago. At first I was just amazed how easy it was to setup. A couple of commands & I had a native iOS app running on my machine however, soon I started to look for trouble.

Visual & Functional Unity

There has been a popular paradigm that basically says the code for visual representation of elements & functionality of the same elements shall be separate. That’s why we use CSS/HTML with JS to have a program running. I grew up under these sorts of assumptions & pretty soon after using flutter, it was clear it won’t be a tool I am going to use due to the lack of separation between these two aspects.

Luckily after a while I developed a sense for questioning my most valid assumptions & this matter of separation was no different. As far as I remember some of the reasoning for using two languages instead of one unified one were directed towards team. It was assumed that every project will be done by a team of persons who each focuses on one aspect. One person is a designer, another frontend developer & so on therefore, separating the visuals made it easy for each person to focus on their own part without going through the journey of understanding the whole stack.

I have had experience working with other individuals & alone throughout the years working on many projects. The mentioned assumptions about the separation of languages was never a valid one. I did not have the chance to work with a graphic designer who could understand HTM/CSS. Let’s assume I was even wrong about the mentioned assumption meaning, the reason for this separation goes beyond that & deals with something else totally. Let us look at CSS closely.

If CSS’s job is to deal with visuals only, why there are state management to some extent also is handled there? features like :hover or animations & recently so much more things have been added that I have lost track. The boundaries were certainly crossed.

The other direction were already there meaning, visual manipulation through JS code. So if one crosses the other’s boundary why are they separate anyways?

Asking these questions eventually led me into acquiring a taste for flutter. The trouble I found initially was not with the framework but with my own thinking process that was based on the general rules followed by the community & the whole industry. Everything I mentioned here applies validly to other stacks such as Android & iOS development or in fact any other native development stack that I had come across. They all use some sort of XML like structure for the visual elements that is connected with the functional portion of the program.

My Message

I wanted to write some sort of a tutorial or a guide together with the app I created as a help for those who are eager to try flutter out but I realized soon after there are far better materials out there. If you also come from the same background as I do then I would encourage you to think about your assumptions.

Flutter did a brave thing by bringing new ideas out there. I am grateful to all the individuals who spent their precious time working on it to make it easy to use & increase productivity!

Knowledge is not all

Why is that sometimes we do something that we are not supposed to? I grew up in a Muslim country which from early on emphasized on the idea that Satan was always present & he can get under your skin and make you do things. Some people even used this argument as a get out of the jail free card when they were exposed to their so called “sin”.

There is something deep there regardless of one’s religious or spiritual backgrounds. The other day I heard an idea that our thoughts or patterns of thinking can just be regarded as living entities meaning. Considering this to be true, the Satan’s persuasion does not seem so unrealistic. There might just be something at work and different individuals or sources interpret it through their own lens of language.

Steven Pressfield talks about “The Resistance” in his wonderful short book “The war of art”. Although the characteristics of The Resistance & the task of Satan (just for the sake of argument) are not the same but the fact that we give these entities some sort of human qualities are very much alike.

Now let’s put that idea aside & think about the essence of the experience when we are faced with moments where instead of retreat, we advance our way forward. There seems to be an unusual urge for novelty & surprise. In the beginning of a school year we have all the knowledge about exam periods & subjects that are required but we still go out of our ways & repeat the same last minute study routine.

It is false indeed to presume one could discover all the underlying elements of these puzzles while we have no idea about the tools of our perception namely our consciousness. Perhaps that is the very reason why everybody creates or follows a model to “get it done” instead of indulging in questions that might never be answered.

Sacrifice

Yesterday I heard an amazing definition about sacrifice from an individual who explained how her mother raised in a way that the mother had a terrible life so that her daughter could have a normal one.

Sacrifice is trading present for the future.

unknown philosopher

Feeling Blue

To me not compare yourself, instead do to yesterday of you
Consider not what tomorrow will be, only yesterday is true

Stick not to your ego too much or you end up feeling blue
Unexamined attachments’ outcome will be a world of goo

Seek the company of those wiser than yourself but remember
Be kind to everyone else from January till the next December

When you are surfing on the waves of Twitter, Facebook or YouTube
Be mindful sometimes after all every master was one day just a n00b

Hard

Where would you step your feet when it’s raining? You definitely wouldn’t want to be walking on the grass.

If you like your shoes & have more matters to worry about than cleaning them, then you’re looking for a hard surface such as asphalt or stone paved alleys.

Hard & Strong are some words we use to describe objects as well as characters of human beings. Rain is great so is momentary success. It seems being strong in peace time is not recommended as much as war time.

There’s a beautiful line at the end of The Godfather III that goes like this :

Power wears out those who don’t have it

I could not have put it more elegantly.

Slip

Sometimes things just don’t go as they were perceived to go no matter the anticipation that we put into them & the planning involved. Sometimes things happen just to test our faith. Sometimes we take too many breaks which end up breaking us.

In those moments it really does not matter what clothes you are wearing or what food you’re eating. It all comes down to essentials. The matters that matter are the the ones that don’t seem to matter at all. I am talking about our mindset. It is nowhere to be seen because it is the very tool that is used to see? is it not ironic?

Knowing it & putting it into practice is one of many sources of Intelligence. Currently the Artificial Intelligence systems that are being developed in one way or another make mistake, learn from the mistakes & self correct then repeat. The point is in re-writing the rules because that is what makes them different than the good old programs that operated mostly on conditions set by the programmer.

Our lives work the exact same way. One can always say, I am not in the right mood for this right now or he can find a way to put himself in the mood perhaps not in the moment but use the knowledge to prepare oneself for the next moment. It is often referred to as the chicken & the egg equation. Which one comes first?

Our inspiration from nowhere or the calling of something we started to accomplish be it even as minor as to have thought of?

One can ask & philosophize to infinity or One can just do.

Do one thing & do it good. The world will become a better place as a result.

Bugs

A software developer is bound to look for bugs and fix them. Sometimes they’re so dumb that when one realizes how many hours if not days were wasted for a syntax error or some null value somewhere in some statements.

I didn’t write a post yesterday for the fact that I was deep into integrating Deezer with Ma’DJ and during this process I lost many hours to realize at the end that I wasn’t doing anything wrong. The SDK only allows full playback on a desktop browser not mobile. I double or million checked my setup and created even more virtual environment to test but same result.

If I could take a lesson from this experience it’s that, when working with third party tools or APIs, one must be confident in their effort and educate themselves on the tool and its capabilities before jumping to conclusion on the inefficiencies & credibility of one’s solution.

Can it be done in 6 months?

One fascinating lesson I learned from the wisdom of Peter Thiel was his suggestion regarding our time perspective. If you have an software or service idea, what would it look like in 10 years?

when you have an answer for that ask yourself this, can it be done in 6 months? or even better, why can’t it be done in 6 months?

I arrived at this a bit late but It’s life changing. What ideas do you have & not pursuing because of its timeline?

Closer than You think

This image & the concept behind it perhaps has become a cliche to the reader but I could not find anything better in a short time to represent my point.

How often do we go through our lives without noticing the main thing that is causing a lot of miseries & starts the domino effect? We call ourselves names to justify that the reason for not noticing it is lack of understanding.

Sometimes it’s none of that at all. It’s something we carry all the time & it’s impossible to detect. Not because we are not smart. Not because we are careless. Not because we are just not good enough.

Sometimes a good friend can show us their vision of the world so we can compare but it seems we tend to befriend those with the same perspective so that chance rarely if ever occurs.

Question your assumptions. Don’t leave the easy or obvious ones.