Skip to main content

Posts

Showing posts from 2014

How to handle different namespace between serialization and deserialization

Consider this scenario: You have a web service with entries in a namespace Company.Business.Entities You have matching entities on the client side in a namespace Company.Client.Entities You want to simply serialize the Business Entity, transfer over the wire and deserialize  into client enetites. Problem!!!! you can't as the namespace is not same. Solution Put a namespace attribute on each client side and server side entity. e.g. [ DataContract (Namespace  =   "http://wwww.yourcompany.com/messages/entities" )] The problem with this is that you will have to add this to each and every entity.     2. Option 2 and probably better is to use assembly attribute in assemblyinfo.cs [ assembly :  ContractNamespace ( "http:// wwww.yourcompany.com/messages/entities " , ClrNamespace  =   "Company.Client.Entities" )] Add this to both, client and Business entities. Remember to update ClrNamespace and runtime will create correct namesp

How not to do Stand ups?

So what is a stand up in a Scrum? A stand up is basically a Scrum event, where the whole Scrum team gets together each morning to answer three questions: 1. What I did yesterday? 2. What I am working on today? 3. Are there any impediments? That's it! Team will usually stand up in a circle, if possible near the Kanban board. So what are the things that can go wrong here? Most of the teams replace project meetings with stand up and these often become lengthy discussion meetings. The team start discussing issues, design solutions, weather, coffee from the machine, pets etc..... The team looks and reports to the Scrum Master or team lead. Often the team see this a status reporting meeting. The time and place of  the stand up keeps changing. If the Scrum Master is not available, the team is lost on who will conduct the stand up and whom to report to. So what can we do to address this? The Scrum Master should coach the team to stick to above three questions. The

10 things Scrum team should do

Here is a list of 10 things a scrum team should do. These are in no particular order 1. Keep to the time in all scrum events e.g daily stand-up, sprint planning and retrospective 2. Keep focus on the sprint goal. Everything else is secondary including personal opinion and egos. 3. Keep task and burn down chart up to date. 4. Regular communication and collaborations. Don't let the tools of communication replace one to one communication. At times it is easy just to walk to someone's desk and ask a question. 5. Where possible, sit close to each other. 6. Finish all the task on a story and mark it Done Done before picking a new one. 7. Have regular team outing like lunch or pub for team bonding. A scrum team goes through a process for forming, storming and norming. Any team events helps to get to norming stage early. 8. Have respect for all team members. Agree a protocol for Do not disturb and stick to it for e.g. if I have my headphones on, please do not disturb me unles

Immediately Executable Functional Expression - IEFE or iffy

IEFE or iffy is a JavaScript function that, as the name says, is executed immediately. Here is the syntax. The key is the brackets at the start and end of function. This helps to keep the scope of the variables within the function. Without the function workerProcess and worker will have global scope which is BAD!!! (function () {     var workerProcess = function () {         var task1 = function () {             console.log("task 1");         };         var task2 = function () {             console.log("task 2");         };         return {             job1: task1,             job2: task2         };     };     var worker = workerProcess();     worker.job1();     worker.job2();     worker.job2(); }());

3 key ingredients for success of Agile

For a team to be successful  at using Agile, following three things are key ingredients Transparency Inspection Adaptation Transparency... All things within the Scrum team should be open and visible. Every task and story should be visible not only to Scrum team but also to people outside the team. Kanban board is one example which can be used to show the team progress to everyone. Openness should be highly encouraged with the team. Openness gives the team the courage to highlight any potential issues.Another example is a common definition of 'Done' which is accepted by those performing the work and those accepting the working product. Inspection... A team should be able to inspect all scrum artefacts to keep a check on what is working and what is not. Inspection should be performed at regular intervals but not so often that it gets in the way of actual work to accomplish the goal. Ideally inspection should be performed by an external inspector. A good example o

10 things a Product owner must do

In a Scrum team, a Product owner is the person who has the vision about the product and is responsible for maximising value of the product and the Scrum team.Product owner is always one person and not a group of people. Here is a list of 10 things a efficient Product Owner must do....

Roles in a Scrum Team

There are only following three roles in a Scrum team and there is no exception to this. 1. Product owner 2. Scrum Master 3. Development Team There are no other roles. There is no scope for Project Manager. This is the simplicity and beauty of Scrum that it does not execute it as a project. The focus is on Product development and delivering maximum Business Value. Hence the role Product Owner rather than Project Manager. Often many people don't like this simplistic view and often try to complicate it with other traditional project management principles. And the end result? They think Scrum is not working.  I would say, it is a very simple framework and keep it simple. Reminds me of a great saying "Keep it simple stupid". The Scrum team is cross functional and self organising. The Development may consist of developers, test analyst/manager and business analyst. The Scrum framework does not define who can and can't be in the Development team. The Scrum frame

What is Scrum?

Scrum is a simple and lightweight framework using which you can handle complex problems, while productively delivering products to highest business value. The focus should be on delivering business value rather than effort or cost. In a traditional waterfall method, the scope is usually fixed and resource/cost are flexed. In Scrum, you flex scope to deliver a Minimum Viable Product (MVP) within fixed resources and timescales. The Scrum framework consist of roles, artifacts, events and rules. Each of these has important role within the Scrum framework. We will discuss each of these in next few posts.

Agile development using Scrum

Recently I attended Scrum Master course from Scrum Alliance . Also I managed to clear CSM - Certified Scrum Master Exam. I must say I learnt quite a lot on the course. Also currently I am leading my second project using Scrum. Over next few weeks I would share my learning and my experience here. Watch this space.