Wednesday, October 14, 2015

What is Scrum & what does a Scrum Master do

Intro.
The Scrum process is anchored by the following standard fundamental elements; a backlog list, the team, owner, stand up, planning sessions, and retrospect. The Scrum Master role is to ensure all elements are functioning together properly, eliminating obstacles and tackling any unknowns head on. In addition to that, the Scrum Master will track the velocity (Burn down chart) within the iteration, capacity per iteration, capacity per person, and ensuring that the project and company requirements are met.

Scrum Project Charter (If needed)
For any new project, if a company calls for a charter, then the key elements will need to be identified by the Scrum Master, Owner and Team. The breakdown can be defined as such: Description (by Owner), Business Justification (by Owner), High level Project Requirements/Epics(by Owner, team and Scrum Master), Backlog (only if possible early in this stage by the Owner, team and Scrum Master), Risks (By the Owner and Scrum Master), Assumptions (By the Owner and Scrum Master) and Constraints (By the Owner and Scrum Master).

Project Initiation, Epic and User Story
The process is initiated by identifying the different areas in the system (Epics) and prioritizing them. This work is done by the Scrum Master, Owner(s) and team. In an ideal Scrum environment, a single role “Owner” will be designated for such a function, however in many companies, one must rely on many owners. For every Epic, a set of user stories are identified and created by the owner(s) and analysts. Each user story follows the standard format; “As a I would like/want to so that ”. Each user story will be estimated and added to the backlog list. This list must be visible to all parties in the team and stakeholders to ensure transparency. In addition to this, it is important to identify and make known the definition of when an item/task is "Done". "Done" is defined differently between companies and as you read further when an item will be defined "Done" will be clearer. In all cases an item is "Done" when  it is "Shippable"  or "ready for live system".

Iteration Initiation
At the start of any “iteration”, the Scrum Master schedules a planning session to go through each item with the team. The items are selected based on priority and ordered properly within the iteration. The sum of the estimates for the items selected for the iteration would equate to the calculated team’s capacity. Capacities are always adjusted to take into account how many points are spent on non-project related tasks.

Stand up
Throughout an iteration, everyday there is a daily stand-up. Each person will come ready to this time-boxed meeting with “What I did yesterday”, “what I will do today”, and “Obstacles in my way”. The Scrum Master role is to clear obstacles raised and keep velocities updated.

Functional Testing and Demo/Presentation
As a set of items are finished for the owner(s) and they have passed unit and functional testing, the changes will be presented with an opportunity for adjustment upon request. Negotiating as to what and if a change is possible in the present iteration based on that meeting is one of the Scrum Master's responsibilities.

Testing and Definition of "Done"
Some companies define "Done" when the user story has passed both functional testing and the owner presentation. Once all changes for the iteration passes through all testing environments, if a company applies manual or automated regression testing, then some of those companies define an item as "Done" once these tests pass. Many smaller companies would be ready to deploy the changes to a live system at this point. Larger companies tend to follow through user acceptance testing on a pre-production environment. Some such companies may define "Done" before the UAT others only after. For some companies with smaller teams who apply UAT, all members in the scrum team would be involved in UAT. In such cases it merits to define "Done" when the UAT is complete. For larger companies who have a scrum and UAT team, this is where the scrum team would start a new iteration. In all cases regardless of who is doing the Regression and UAT, any new item or defect discovered after the item(s) are set as "Done" will placed into the backlog list and re-prioritized accordingly.

Retrospect
At the end of every iteration, a retrospect meeting is initiated. Each team member will come to the meeting with three topics; “what went well”, “what did not go well”, and “how we can improve on what didn’t go well”. This will be a driver for the Scrum Master to improve every iteration to continuously advance the efficiency and quality of the team and system.

Friday, July 3, 2015

'me rant' about the Software/hardware and Business people

This is 'me rant' about the Software/hardware and Business people relationship (from a narrow perspective)

Software/Hardware engineers are event driven. They are the beloved folks that make things out of nothing... well.. with the help of IntelliSense (for us lazy ppl), almost out of nothing... They are always focused at the task at hand and not so much on the time. Every now and then the humble (some ain't so much) PM/SrumMaster/Product Owner would venture out of the hole (i.e. fancy office) to check up on the work being done and understand and clear obstacles where needed.

Then you have the other side. Business people. They are time driven. We all love them.. (sorta). After all, they have the all mighty dollar! They want things done now, noW, nOW, NOW! they are always focused at the task at large and not so much on the gritty details. They are focused on time. Similarly, the humble PM/SrumMaster/Product Owner would undertake the perilous journey (thank you thesaurus) and interact with them to identify and help everyone keep what needs to be done simple and organized (Dont quote this you Masters of Scrum)

So what is the best way to bride those two groups??? Meet "Super wo/men" aka "Product owner" and ScrumMaster (Dah, I already mentioned them twice). Lets start with the owner. So what is this hero's role. Well in simple terms, organizing  what is important and what is not (i.e. backlog/Task List). That it. nothing to it. right?.... WRONG!!!. Just imagine how many opinions the poor sucker ... I mean ... person will have to go through. This person understands and gets what the business needs and wants. And all this need to be passed along to the development team, they give the magic estimate, and runs back to the business folks with "Ok, so now I can do this, that and those, but these, have to be left to next 2 weeks" ... "and oh, here, I got you cupcakes and muffins" and then run away (As if muffins and cupcakes go together... heresy I say!!)

You have all this while the other hero ScrumMaster is running around and duct taping every problem. (Duct tap is awesome....) For every problem there is a solution. This person will have to be able to pickup the pieces of every disaster and make it into a 'bump on the road', in or out of the iteration.

So where does that bring this conversion to... not sure.. everyone is needed. There are no real heroes. you remove one role and the whole things goes back to old school chaos. So I'm going to just going to end it n..n...now.

(I love Duct tap)

Wednesday, March 20, 2013

SETILive and Zooniverse. Create an algorithm! Scan the Universe.

I learnt about SETI and Zooniverse yesterday. So excited about learning more. Would be awesome to work on a an algorithm for setilive. 
  • http://www.setilive.org/ "We're searching for interesting signals coming from the Kepler Field. Will we find life on another planet?" (Extract from the setilive.org webseite)
  • https://www.zooniverse.org/ "The Zooniverse is home to the internet's largest, most popular and most successful citizen science projects. Our current projects are here but plenty more are on the way. If you're new to the Zooniverse, we suggest picking a project and diving in." (Extract from the zooniverse.org webseite)
Curiosity drives the mind!!

Thursday, January 3, 2013

Some words about stand-ups .... Again...

Today I have introduced a new member to my scrum team. This individual came from another team, which followed some elements of agile but not to it's fullest extent. Some will say 'Who is', but it is not to my standards. This new individual was involved in stand-ups, but again it was more of a weekly status meeting. In my book, this is NOT a stand up.

Lets examine a weekly meeting vs a stand ups.

- Group meeting sitting down vs standing up: 
This Topic, when brought up, is one that I always get weird looks from. Stand ups are for individuals to be standing up in. Not Sitting down. The objective of having people stand up is that each person will get to the point right away. 2 ~ 3 min tops. It is the subconscious acting in such a way to say: I'm here for a quick FYI and help out if needed then I'm out.  When you have a weekly meeting with a team of 5 people, each talking for 10 mins. This is 50 min.... and 10 minutes is liberal.

Summary: 
  • Sitting down = lazy and talking about the work day in a relaxed manner;  
  • Standing up = ready to go and take on the day's work
- Talking about a week's worth of work in one meeting:
In a weekly meeting, each individual will start talking about what they have achieved in the past week. So this is a summary of what was done last week. It is not discussing the "nitty-gritty" details brought up in a stand up. Because it's a week, if there was an issue encountered by any individual, then this person may have been stuck for much more than needed and the solution applied might not be the most ideal. In a stand up, because of the details and short span of a day, everyone would be aware of the issue and one or more individual may have a solution at hand and ready to help out.

Summary: 
  • Talking about a week work = general and unproductive for the team except PM; 
  • Talking about yesterday = specific, right to the point, and productive for the team and PM