Skip to main content

Posts

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.

Mobile journey options

In the last few years, we have seen rise in the use of mobile devices . As more and more users are using mobile devices , there is an increasing demand for businesses to have presence in the mobile world. Mobile devices have created tremendous business opportunities. The term mobile is not limited to mobile phones anymore, but it includes any device which can be used to access the information on the move. This includes tablets, hand held game consoles, media devices, watches etc. This list is increasing every day.  Options for mobile development There are number of options for developing apps with mobile presence, but we will explore the following 3 most commonly used solutions. Native apps: Native apps are downloaded and installed locally from platform specific marketplace. Cross platform apps: Using cross platform framework, you can develop native or hybrid apps. Hybrid apps are browser based apps but the user experience is same as a native app. Cross browser, mobile...

Extending jQuery library

The beauty of jQuery is that is extensible. You can easily extend the jQuery function or its alias $. For e.g. $.fn.disable = function() {   return this.each(function() { if(typeof this.disabled != 'undefined') this.disabled = true; } ); } The above code creates a function which will disable the element and return the element collections so that you can cascade more jQuery funtions e.g $("input").disable(); The above code disables all input type elements.

window.onload vs jQuery doucment ready

Any script which manipulates DOM structure needs to wait till the document has loaded. The traditional way to do this was to use window.onload method e.g. window.onload = funcerion () { alert("document loaded"); } However the above method has drawbacks. It will wait till the entire document is loaded including images. Now if a web page is image heavy, the above alert won't be displayed until all the images have loaded. Ideally you want the function to execute once the DOM structure is ready. An alternative is jQuery document ready method e.g. $(document).ready(function() { alert("DOM loaded");}); The above function can also be written as $(function() { alert("DOM loaded"); }); The beauty of ready method is that you can have more than one for the same document and they all will execute in the order they are written. You can only have one window.onload method for one document.

LINQ Sort Operators - IEnumerable and IOrderedEnumerable

Consider following example var query = Process.GetProcessess(). .OrderBy(p => p.WorkingSet64) .ThenOrderBy(p => p.ThreadCount) In this case query is of type IOrderedEnumerable Hence you cannot user a Where Operation like this query = query.Where(p => p.ProcessName.Length < 10 You will get a compile error that you cannot IEnumerable to IOrderedEnumerable However if you add Where operator on first query, it will return IEnumaerable e.g var query = Process.GetProcessess(). .OrderBy(p => p.WorkingSet64) .ThenOrderBy(p => p.ThreadCount) .Where(p => p.ProcessName.Length < 10)