Thursday, 11 December 2014

Agile Kanban in Ministry

Kanban:
        Kanban is a new technique for managing the process in a highly efficient way. Kanban underpins Toyota's "just-in-time" (JIT) production system. Although managing ministerial work is a creative and sometime complicated activity and therefore different to mass-producing cars, the underlying mechanism for managing the production line can still be applied. 
   
    When I look at Kanban with open mind i simply understand one thing that it provides a pipeline where requests entering at one end and completed requests getting delivered at other end. The pipeline internally have different kind of processes to make sure that requests gets delivered in a better way.
   
    PipeLine Effect:
        It simply restricts the flow, wider the pipeline bigger the throughput.
       
    Working of Ministry:
        As per my analysis I found that every ministry have set of tasks, task may have some dependency, new task get added, priority of tasks get changed, task may be declared void, task implementer (minister) may get changed, etc. so in general task may or may not be complex in nature but due to current process it looks pretty complicated and not visible to public.
       
    How Kanban fits in Ministry:
        creating Kanban board:
            We can create a kanban board (soft copy) to helps people visualize and optimize workload, work time, and constant improvement. Below columns can be placed on board:
           
                | ToDo | Analysis (10) | Budgeting (10) | Approval (10) | Tender (20) | Implementation (20) | Acceptance (10) | Done (n) | Hurdle (10) |
               
            Now each column will have WIP (work in progress) and Done except ToDo and Done column. we can limit the number for each column so creating a pipeline.
       
        Applying kanban principals:
            we are limiting the WIP which reveals the bottlenecks so we can address them.
           
            Stop Starting and Start Finishing:
                It may sound simple but it need more attention and value of flow. Pipeline make sure that we cant't violate the limit before pushing the current tasks ahead, i.e. towards finishing the task. So ministries will start delivering faster and visible to public, as many of the works are getting started but status of the work is unknown to minsitry.
               
            i) Start with what you know:
                    No need to waste resources for setup, simply start where you stand, since miinistries follow pretty much planned works but if anything new which is truly urgent we can start with known facts and as learned can be improved.
            ii) Agree to pursue incremental, evolutionary change:
                    Baby steps are always recommended as it gives confidence to a baby that he/she can walk and will be hurt less. Ministries are following the old trend so evolutonary changes must be in slow speed and incremental.
            iii) Respect the current process, roles, responsibilities & titles:
                    Many of existing processes, roles, responsibilities & titles must get respect if they are adding value and worth preserving. Ministries are having so many existing process, roles, responsibilities & titles which may remain with proven statement.
            iv) Encourage acts of leadership at all levels:
                    Kanban advocates that no one should be leader and ministries there are several roles but it must be avoided and they should understand the public-servant philosphy. They are altogether responsible to deliver the works to public.
                   
       
        Applying Kanban properties:
           
            i) Visualize the workflow
            ii) Limit WIP
            iii) Manage flow
            iv) Make Process Policies Explicit
            v)  Improve Collaboratively (using models & the scientific method)

Scrum in Education System (Edu-Scrum)



Today’s Education System:
             Education system is backbone of any system in any era.  The education system has been a business these days, that too without competition for betterment in education. It is just to present the show off stuff to attract the guardians and students both. Rote learning (a technique based on repetition) has been the practice in now day’s education system, where student don’t understand the philosophy behind the subject topic/definition/etc. Even most of the time the when same question comes in different way to the student he failed to answer, as he has practiced the   Q-A in rote learning way. Rote learning is required in some extent, for e.g. learning one's lines in a play or memorizing a telephone number, or definitions.
I have seen students from Math’s, Physics, and Psychology backgrounds are even following the rote learning mechanism. They are repetitively reading/writing the same algorithm/principles/solutions/Sayings and they are failing to understand the fundamental behind that.

I am a Scrum follower/implementer and here I would like to introduce Scrum in Education system for its betterment.

How Scrum can help?
As  we know that in any class there are 3 important things - Teacher/faculty, number of students, and number of subjects. Now let us see that how Scrum can help here -
A session of a course could be divided in sprints

Monday, 29 September 2014

Journey of Agility on Track of Infinity (∞)

         Infinity (denoted by ) is a mathematical concept that refers to a quantity being boundless or having no end.

Being a Mathematics guy I have enjoyed it with a little pain of complexity but the best thing is that whatever I got new to learn, Mathematics made it simple.  

Now when I am being agile, mathematics made it easy to learn and adopt; here I would like to talk about one important aspect of it, Agile and mathematics together where I am picking infinity () and will try to map it in Agile.

Friday, 26 September 2014

Employee Recognition in Agile Environment

Before going in discussion, let us understand these two terminologies:

    Award:
        It's an honor (such as a medal or trophy) that is conferred for merit, usually after a decision made by a committee of judges.

    Reward:
        It's something given in return for a person's service, merit, hardship, etc.
   
    I got very limited opportunity to work in traditional management environment but was able to understand the fundamental behind this called 'Rewards'. It may come to an employee in a different way even as a small cookie for "being good." Rewards gives a boost to the individual who got that, and creates a competitive environment within the organization and team. Definitely it's a good in 1st side that people are trying to improve due to this competition, but dark side is that people will start hiding the facts/knowledge, stop sharing the knowledge/information within organization/team to ensure that they stand better.
   
    In-spite of that in Agile based organization 'Reward' is purely absent and 'Award' is commonly getting used. In agile based organization/team they are motivated enough to share the knowledge and information to make the product better. Generally team should get awarded with trophy or medal for best team or so considering that team has completed all committed story-points and positive customer feedback in product review meetings. This gives a boost to the entire team and they are more united and focused for their goal. Even if 'Award' is given to an Individual like 'Best Contributor' considering that if an individual is completing highest story-points consistently, is not advicable and I really discourage this kind of 'Award'.
   
We can consider an 'Award' like Most-Valuable-Pair considering that team is using XP practices like Pair programming. This gives a positive signal within team to be a smarter pair and as we know XP advocates about different set of pairing so the whole team will improve and since they will do pairing they will grow together. I would like to add that this kind of 'Award' should get added only when team is enough matured in Agility otherwise negative outcome may come as in Traditional management approach.
   

    Now a question comes in my mind that in Agile environment how to recognize an individual as the product's success and failure belongs to the entire team? Certainly there are individuals who are performing better than other team member, how to appreciate them, how to make sure that those individuals get promotion?
   
    Let me try to answer this question. I am totally agreed that these individuals must be appreciated in term of better compensation and may be in term of promotion. As we know that there is no Project Manager role in Agile and except team no one knows that how good an individual is performing so Management who is responsible for performance appraisal must get the 360 degree feedback from the team not annually but regularly. There is a dark side of this kind of feedback which is - 'You give me a good review and I'll give you a good one, or You gave me a bad review last time, so I'll give bad review to you this time'.
   
   Now question comes that how to avoid this, we can ask team to rate every individuals in different area may be in scale of 10 with justification what they are giving to others, now suppose we have 7 team member so maximum points would be 60 for any individual. Now we can consider top 2 individuals if they have at least greater than 30 points otherwise either general or no appraisal.
   
    Probably this may help the agile team stay united and self organized.

Thursday, 25 September 2014

Agility derived from Ant Organization

Whenever i look at Ant's organization, i always get inspired by their dedication and commitmentand, one thing which I admire the most about them is their Servant-Leadership quality. I have watched them carefully and never found that queen is commanding and controlling them. They are self organized and able to execute what it makes to serve the queen.
   
    I have been Agile in last few years and as per my weakness i couldn't stop co-relating my past learning with Agile framework. As per my understanding of Agile framework it is somehow taken from Ant Organization.

Let me justify the same:
   
    Goal Oriented:
              The primary goal of an Ant is to serve the queen, and they do it as per their best. Same applied with Agile team and they must be goal oriented to serve their task/work-items to client.
     
    Servant-Leadership Attitude:
              The queen never do commanding and controlling of them, and Ants are self organized which is also applied to Agile team to be self organized.
     
    Constant Communication:
              Ants do constant communication, which I have proved with small experiment. I have dropped a few sugar crystal around the Ants area and soon I found that more Ants are gathered, and I have concluded that they must be communicating using pheromones. Same applied to Agile team and they are expected to do constant communication.
   

Adaptation : Darwinism And Agile-Scrum

“It’s not the strongest of the species that survives, or the most intelligent. It’s the one that is most adaptable to change.” - Charles Darwin

    I have studied in my school days about darwinism and found it quite interesting and learned a very good lesson from there. It talks a lot about 'Natural Selection' which can be understood as - organism arise and develop to increase the individual's ability to compete, and survive. The best thing is that the organism growth is getting inherited by the next generation.
   
    Now when few years back I got opportunity to be Agile and started learning about that, I found very interesting term called 'Adaptation', what was so special about this term, and I have started recalling my school days learning and I was more surprised to know that Adaptation I have learned long time back, that too with proven benefit of it. What I have concluded is that Darwinism is focused on the adaptation behavior of those species who have adapted the change for their survival. So unknowingly they were all Agile and i was very familiar with this term and associated benefits as well. Now when we go to transform our organization or team in Agile way, we should understand and consider the proven benefit of adaptation and Darwinism may be helpful to understand in full. As i said that 'Natural Selection' is about organism growth is getting inherited by the next generation, and the same applies in Agile as well that once the organization/team is Agile the next generation team within the organization or re-structuring of the organization will inherit the Agile for sure.

Tuesday, 19 August 2014

TDD (Test Driven development) in Action