Showing posts with label productivity. Show all posts
Showing posts with label productivity. Show all posts

Friday, April 21, 2017

Feature Toggling

From Wikipedia -
feature toggle[1] (also feature switchfeature flagfeature flipperconditional feature, etc.) is a technique in software development that attempts to provide an alternative to maintaining multiple source-code branches (known as feature branches), such that the feature can be tested, even before it is completed and ready for release. Feature toggle is used to hide, enable or disable the features, during run time. For example, during the development process, the developer can enable the feature for testing and disable it for remaining users.[2]
Continuous release and continuous deployment provide developers with rapid feedback about their coding. This requires the integration of their code changes as early as possible. Feature branches introduce a bypass to this process.[3] Feature toggles are an important technique used for the implementation of continuous delivery.
The technique allows developers to release a version of a product that has unfinished features. These unfinished features are hidden (toggled) so they do not appear in the user interface. This allows many small incremental versions of software to be delivered without the cost of constant branching and merging. Feature toggles may allow shorter software integration cycles.[4] A team working on a project can use feature toggle to speed up the process of development, that can include the incomplete code as well.
I have been looking at implementations to accomplish this and came across Togglz - Features flag for Java.   Looks pretty easy to use.   This looks interesting as well Togglz aspect with Spring Boot - Insane Programming.  

I am looking to try to implement feature toggling and would be interested to hear about your experiences.   

Tuesday, November 15, 2016

Context switching kills productivity... Here are a few things I found helpful to get stuff done.

I read this post today and completely related to it...

It feels like this is our nightmare.   Context switching, meetings, emails, instant messages, phone calls, more meetings,  more emails, more distractions.    It is sometimes an almost an impossible task to make progress on our tasks, goals, innovations.....   

If I get an hour or two of focus during the work day it is a miracle.   Feels like the only way to get things done is to work at 10pm at night after family stuff is done and the emails and other distractions have come to a halt.    

Here are some things that I have tried and seem to help me to be more focused during the workday without going completely dark.

  • Leverage a persistent team chat software like (Slack, Hipchat, Flowdock, etc.)   I am currently using Flowdock at my current job and it has been a great tool for my team.   We have been able to eliminate almost all internal team emails.  Instead of trying to catch up with tons of emails we can now goto one place to see what is going on with the team.  
  • Block off time in the calendar.  
  • Use Lync/Skype Busy and Do Not Disturb.   
  • Pomodoro Timer.   Pomodoro Technique® and Scrum: Objective IV | Devoted Developer  I use the timer for when folks come by my desk and I really need to focus.  A Pomodoro is usually 25 mins.  If I am in the middle of one and someone stops by I quickly look at the timer and ask them if I can stop by in X minutes when my Pomodoro is done.   Most of the time this is acceptable.
  • TDD.  TDD allows you to continually develop in an iterative fashion with tests that not only make sure the code does what I expected to do but also makes it easier to stop/start developing.   Without this it takes allot longer to figure out where you left off when you get back to developing.

I am interested in hearing what others are doing to help focus and get things done in our challenging environment of distractions.