Tuesday, 28 October 2014

Salient Features Of Scrum

Agile - The base of Scrum

Agile, and the path to Agility is now becoming a much sought after norm for many businesses across the world. There is a huge demand for understanding, and implementing, Agile based frameworks. Perhaps one of the main reasons why Agile is becoming increasingly popular is because consumer demands are changing radically and people now desire more. And, people are not ready to wait. They want products which offer good value for money, and that too with enhanced features. This has created a need to develop products which are:
  • Competitive
  • Feature rich
  • Quickly available
  • Fulfil specific end user requirements
Agile proposes to satisfy these requirements without adding on to the product costs.
The basic issue with all Agile frameworks such as Scrum is that they are – frameworks. They offer guidelines how the Agile process can and should be implemented in a project. For that, it becomes imperative to understand what a framework is, and how it differs from a methodology. Many individuals still feel Agile is a methodology and they could not be more wrong.

Agile methodology misconception

There is still a misconception regarding Agile – some people still tend to refer to Agile as a methodology. This is not true. A methodology offers a set of rules, principles, tools, or practices that can be used to conduct processes and achieve certain goals... Read more at Salient Features Of Scrum

Tuesday, 21 October 2014

Breaking Down The Agile Manifesto And Understanding It

The popularity of Agile frameworks, especially XP and Scrum, is increasing by the day, and more and more organisations are deciding in favour of using these frameworks to execute their projects. Agile proposes many advantages – frequent and reliable product increments, delivering product features having high business values, and above all – delivery of shippable product features even while the development process is underway. However, a major issue with Agile, and all Agile based frameworks is that the framework has to be properly understood and later implemented in the project. Moreover, the implementation should be carried out keeping Agile principles in mind. More than often, businesses fail to benefit from Agile simply because the management has not understood the basic principles behind the framework, or has failed to implement those principles in a proper manner.

The Agile manifesto

Since it was developed in 2001, thousands of individuals including project managers, software professionals, and C level executives have endorsed the Agile manifesto. Hundreds of books and references have been written to discuss what the guide has to say, and how it should be interpreted. The manifesto has drastically changed the way in which organisations and individuals develop software projects. The manifesto packs a lot of punch for its 68 words which have been written by 17 software professionals over a two days meet at a ski resort.
The principles of Agile are stated in the official guide written by Ken Schwaber and Jeff Sutherland. The guide functions as a bible for all Agile groups and Agile professionals. People refer to the guide when in doubt, or when they wish to clarify a particular point during Agile framework implementation. For individuals interested in Agile, it is very important to understand the guide and interpret what it has to say.
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
To start with, the manifesto states “We” i.e. it emphasis that Agile is not a solo endeavour. It involves group activity and people have to collaborate while working, at every level, and at every instant. Development teams, project teams, and organisation have to work jointly as a composite unit, and rely upon each other for completing work.
are uncovering
Here, the guide suggests that Agile does not offer one-size-fits-all type of solutions. Agile cannot be standardised and implemented in a project. People involved with Agile processes have to put in efforts, and strive to seek answers through discussions and collaborations. Answers have to be discovered through experimentation, and the “adapt” and “inspect” principles which are so dear to Agile. It is important to explore new ideas and eliminate those activities which are counterproductive or not effective.
better ways of developing software
Nobody is perfect. Also, no framework or methodology can be perfect. Instead of concentrating upon perfection, the Agile team ought to concentrate more upon improving the current work process and finding better ways of doing things. Small improvements, gradual but consistent, should be incorporated in the process to make it more efficient and result oriented.
by doing it
The bottom line – build the software and deliver it. The best way of finding out whether something works or not is to build it and try it out. Failures should be seen as learning lessons, and the team should learn from them. Better methods of working originate from experimentation and the learning process. Rather than spending undue time thinking over whether something will work properly or not, it is better to do it, and learn from the results availed through the implementation.    
and helping others do it.
Agile is all about sharing. People have to share their ideas and experiences with each other. It is not required to make a mistake and learn from it – one can learn from the mistakes made by others. Knowledge should be shared and opinions sought for. Senior team members should try to foster a healthy working environment, and act as mentors for those new to Agile.
Through this work we have come to value:
The manifesto was envisioned and drafted by 17 seasoned professionals closely involved with various project development methodologies and processes. They represent the core market requirements. Through their experiences and knowledge, the manifesto was designed to target what clients really desire in a project, and how the team should function to satisfy those requirements in the best possible manner by delivering time bound projects having high business values. Agile principles should be taken seriously and valued by all concerned.
Individuals and interactions over processes and tools
Bob Martin has correctly described Agile as "a set of values based on trust and respect for each other and promoting organizational models based on people, collaboration, and building the types of organizational communities in which we would want to work." The Agile team should primarily focus upon working together while developing the project, and ensure that a productive and healthy working environment prevails at the place of work. If anything – tools, processes, or activity - disrupts the way in which individuals closely work together, serious thoughts and considerations should be given to the issue, and the impediment should be removed without wasting further time.   
Working software over comprehensive documentation
Agile focuses upon the delivery of working software releases through product increment cycles. The main goal is to deliver product features on a frequent and consistent basis to the client. Resources and time should not be wasted over lengthy documentation. Instead, the team should focus upon delivering the business value to the client. If you have to decide between spending time and efforts over completing the documentation formalities, and in delivering the software, you should opt for the latter. The reason why Agile discourages comprehensive documentation is that people would than require more and more time to read the stuff, analyse what they have understood, and spend even more time wondering what to do next. As a result, they would actually find less time to work upon the project and complete it.
Customer collaboration over contract negotiation
The client is the most important entity in Agile. The process invites stakeholders’ participation and encourages them to become involved with the development process. Agile proposes to deliver high quality working software that meets the actual, and exact, requirements as specified by the client. The team should concentrate more upon collaborating with the customer and delivering the business value, rather than sticking to contract conditions and legal formalities. It means that the team should try to focus upon delivering what the customer really needs rather than honouring and following what the contract says.
Responding to change over following a plan
Agile is recommended and ideally suited for developing projects prone to changing market conditions. It thrives in situations where the product design is liable to change with time. Changes occurring in the features and functionalities associated with the product can be easily incorporated in the process flow, and developed by the team. The unique aspect about Agile is that the changes can be incorporated even when the team is developing the product, and changes can be carried out even late in the product development cycle. The team should be positive towards changes and welcome it. Changes offer an opportunity to deliver something that is even better than what was originally planned.
That is, while there is value in the items on the right, we value the items on the left more.
Agile is a framework. The principles have to be implemented in a workflow or development process, to mould it so it can be more effective. Agile does not suggest you do away with traditional tools and development processes. It merely offers a way of making your existing development process more effective and productive through its principles. The ultimate objective is to deliver a valuable product to the client and foster good relations with him or her.

Friday, 10 October 2014

Scrum Product Owner Role And Sprint Planning Meeting Agenda

In many ways, in a Scrum project, the sprint planning meeting agenda plays a very significant part in determining the success of delivering shippable product increments through the sprint iterative cycles. The product owner is very closely involved in the sprint planning agenda, and is responsible for the outcome of the sprint cycle, since he or she is primarily responsible for taking the initiative and “designing” the sprint – the PO decides which user stories should be ideally taken up for development purposes based upon their business values. Moreover, the product backlog needs to be refined on a regular basis. The PO may invite and seek the help of Agile team members to keep the backlog refined so “granular” and developable user stories are available at the time of Scrum planning meeting.
The main issue with Agile Scrum today is that the role of a PO cannot be “standardised” based upon assumptions as to how Scrum ought to be implemented in a project, and what the PO should ideally do to make the project a distinct success. In addition, while considering Scrum sprint planning, the same thoughts might be applicable to it as those associated with the PO’s – it is difficult to create generalised rules regarding how a sprint should be ideally designed. The primary reason is products and requirements change as per fluctuating market conditions, and stakeholders too are liable to change their thoughts as and when end user demand user-specific requirements and development. However, after considering the fact that scaled Scrum versions are likely to “dominate” the Agile scenario over the coming years, it is worthwhile thinking that “some” of the duties of a PO and certain sprint planning “characteristics” are likely to remain common – irrespective of which scaled version is used, and the manner in which Scrum should be, or can be, implemented in a project. In addition, while the sprint planning meeting was traditionally conducted in two parts, the Scrum event has now evolved to be conducted as a whole – as a single event – and include two topics in it, rather than two parts:
  • What can be done in this (currently being planned) sprint – the “What” aspect
  • How should the chosen “work” be ideally “done” – the “How” aspect
It is interesting to think about how the product owner’s role is likely to modify itself in the future, and what features the sprint planning event is likely to include. The suggestions are open for debate, and the reader is invited to present his or her viewpoints.

Scrum product owner role and responsibilities likely to remain “common”

  • Creation of the product backlog based upon the vision as seen by the stakeholders. Defining user stories having high business values so the project “worth” is maintained at all times.
  • Monitoring all Scrum related activities in project. Even if the PO’s role may be demanding and “difficult to play”, the PO still has to deal with changing market conditions, stakeholders requests, and negotiate with the development team with regards delivering shippable stories and maintaining team velocity.  Read More At Scrum Product Owner Role And Sprint Planning Meeting Agenda

Tuesday, 7 October 2014

Scrum Product Owner’s Role

Agile professionals have often discussed what the exact role of a product owner should be in Scrum. What virtues should a product owner possess to be considered a “good” PO? The answers are many. And this is not surprising because Scrum is a framework, and its implementation in a project depends upon the requirements specific to the project. When requirements change, the role of the PO also changes. Therefore, it may not be possible to standardise the exact role a PO should play in a Scrum project.

A certain process flow remains common to almost all Scrum projects. The role of a product owner can be thought about in terms of what POs actually do in a typical Scrum project. Here are a few suggestions:

 Scrum Tool
Common role or activities of a Scrum product owner

·      Creating the product backlog as per the product vision seen by the stakeholders. Defining user stories having high business values in the backlog so the project “value” is constantly maintained.
·      Monitoring and tracking all Scrum activities. The role of a product owner may be difficult to act since a project might be demanding, and the product owner may have to cater to market related issues and still monitor the work carried out by the team. Balancing both the aspects can prove to be trying.
·      Make sure that the product backlog is kept refined at all times. Moreover, the product backlog should be accessible by the entire team.
·      Each product backlog item “PBI” should be properly stated and defined in the product backlog. The story description, appropriate business value, and the acceptance criteria should be stated precisely in the story card and explained to the entire team so the team members can develop effective stories and develop shippable product features.
·      To be available whenever needed, to remain present, and share information, knowledge, as well as expertise with other team members.
·      The PO responsibility should also include defining productive sprint goals just before a sprint commences.
·      A product owner’s responsibility should also include respecting and aiding everyone involved with the project and ensure the project is completed successfully.
·       Not try to influence the mind-set, or psyche of the team members regarding any issues and encourage the team to get involved in the project to achieve better productivity.

The role of a product owner can be a difficult one to play. Since the PO owns the project on behalf of the stakeholders, he/she has certain responsibilities towards them. The PO is also responsible for conveying the product vision as seen by the investors to the entire Scrum team and ensures that the product is actually developed in accordance to the vision.

Use free Scrum tool at Quickscrum.com

Wednesday, 1 October 2014

What is Role of Scrum Product Owner?

Several discussions have been carried out by Agile professionals regarding the Scrum product owner role. What virtues make a product owner an “ideal” one? How should a PO delegate authority? Should it be as per traditional management models, or should a servant-leader role be employed? How should the person handle stakeholders when there are issues? There are many questions. The debate can keep on extending indefinitely since newer “scaled” versions of Scrum keep on coming, and the PO has to change his or her role based upon the traditional, or scaled, version of Scrum the management decides to follow.

It would be more practical to concentrate upon some of the most important, and the most common, activities of a PO.

Scrum Product Owner Role

Read more at 

Scrum Product Owner Role

What is Sprint planning meeting agenda?

In a Scrum project, the Sprint planning meeting agenda is one of the most important activities undertaken by the team. The product owner plays an important part in the agenda. In Scrum, out of the many important duties carried out by a PO, a very important one is to create the product backlog based upon the vision of the stakeholders, and subsequently maintain or “groom” it with the help of team members (preferably). However, once the backlog is created and all required product backlog items are properly defined in it, it becomes necessary to “prepare” for the next step in the Agile product development cycle – plan and develop effective sprints so shippable user stories are delivered at the end of sprint cycles. Offering consistent development over successive sprint iterations is an inherent feature of Agile Scrum. In a sprint planning agenda, the objective of a sprint meeting is to prepare productive sprints so the team can develop meaningful stories.

So, what does a sprint planning meeting actually consist of? In practice, the meeting is conducted in two parts – the first part is dominated by the product owner while in the second part the development team actually prepares tasks from user stories taken up for development in the sprint backlog.

1st part of sprint planning

The product owner is the most “conversant” person as far as user stories are concerned since he or she actually “creates” the product backlog. The stories need to be explained to the team members. During the first part of the Scrum sprint planning meeting, the PO selects some of the most important product backlog items from the top of the backlog, and creates a “sprint backlog” by transferring the selected stories into it. So, the sprint backlog is a subset of the main backlog, and contains a “chunk” of stories which carry high business values. The PO explains how the development of a particular story should be carried out by the development team. The acceptance criteria is explained and the team is briefed regarding what it should do to ensure their “development” is shippable i.e. the stories are bug free and satisfy the benchmarks or acceptance criteria linked with each story. The PO also answers any doubts or queries put up by the team.

Sprint Planning Meeting Agenda

The first part is attended by the entire team – the product owner, scrum master, and the development team members. It is not necessary for the stakeholders and project owners to attend the meeting, but if they desire to do so, they can attend the meeting as “passive” invitees, and not disturb the proceedings with their suggestions or even try to get “involved” in the meeting.

2nd part of sprint planning

User stories form the base of all development activity in Scrum. The entire product is developed by creating shippable stories, which are later integrated to “form” the complete product. During the second part of the Scrum planning meeting, the team starts discussing how it will carry out the actual development activity and create the stories in the sprint backlog. Generally, a Scrum team is “multi-talented” i.e. each team member possesses more than one type of expertise. However, it is important to know that this may not always be the case in all Scrum projects, since the product requirements and resources may vary depending upon the nature of product to be developed.

The team members – developers, programmers, designers, QA personnel, and technical writers – decide amongst themselves how the user stories should be split up into parts that are more “manageable”. Each such “part” is referred to as a “task” in Scrum. Tasks are developed to create shippable user stories. A developer can develop each task individually. Certain Scrum teams may even work in “pairs”. Members collaborate, and decide amongst themselves as to who should take up which task depending upon the experience and levels of expertise possessed by them. Once the tasks are “distributed” the actual sprint can begin.Read more at

Sprint planning meeting agenda

Why Agile Can Be A Popular Software Development Framework?

Software products penetrate almost every aspect of human existence today. They manifest themselves in a multitude of manner, and remain omnipresent in a host of devices ranging from washing machines and smartphones to automobiles and computers. Owing to a consistent usage of different types of digital devices by people across the world, software applications and utilities have to evolve as and when consumer requirements change and “strive” to fulfil the new set of requirements demanded by end users. It is, therefore, essential to develop newer versions of existing software products more frequently, in the shortest time possible, and in a manner such that end users do not face any problems while using the products in the upcoming months. Stiff market competitions and an ever-increasing consumer “appetite” for feature-rich products have created a special need to implement a reliable and sustainable product development methodology, or a framework, which can aid in developing sophisticated software products in a relatively short time. Moreover, the methodology should also help in reducing the developmental overheads so investment returns can be increased. As on today, a reliable project development methodology is very much required to fulfil the business goals on a consistent basis, and earn large profits from the products manufactured by IT companies.

Over the decades, IT stalwarts have introduced many software development frameworks and project management methodologies. While many of these methodologies have proved to be useless and non-productive, a large number of them have been, in fact, successful in delivering the desired results – with varying levels of acceptance. With the passage of time, two software development frameworks have managed to dominate the field of software development. The frameworks are:

1. Waterfall
It is a traditional software development framework typically featuring “staged” development processes which have to be “carried out” one after the other. A unique aspect about this framework is that product development starts from the “topmost” stage and “flows” towards the “bottommost” stage. Once started, the product development cycle cannot reverse itself – it is unidirectional in nature. The framework is widely used, and is very popular amongst software development companies, primarily because the framework has “been around” for a long time and used by a large number of software developers and IT firms. It is easy to understand and use. Therefore, it is also used for teaching the software development process to engineering students. Even though it is a much sought after development framework, a large number of individuals and companies traditionally using Waterfall methods for developing their software products are now finding it increasingly difficult to meet the changing global software trends, and developing state-of-the-art applications and utilities, which are so much in vogue today.

2. Agile
A comparatively new “entrant” Agile has managed to find a special niche for itself in the IT development field over the years. The Agile framework was originally envisioned, and developed, to overcome the defects of traditional software project management methodologies and frameworks, which had failed to evolve “in the desired direction”, could not adapt themselves to the changing market trends, and offer reduced turnaround times. There are many reasons why “lightweight” Agile frameworks have become popular development platforms:

They support product development through “short bursts” of programming/development activity, generally lasting from two weeks up to one month. It is much easier to develop, test, and document smaller “pieces” of code, features, and functionality rather than entire projects. Individually developed features are later integrated to form the “complete” product. The frameworks primarily focus upon rapid delivery of “shippable” products and business value.
The client is actively involved with the team and the development process. Each feature is checked and “cleared” by the stakeholders before it is accepted as “Done”. This leads to increased customer satisfaction and enhanced user experience.
Potential pitfalls are identified well in advance, at a micro level, so it is much easier to control regression and reduce technical debt. Agile software projects generally help to earn good profit margins.
Agile frameworks support error detection and error correction processes. Technical errors are discovered early during the product development process, and dealt with effectively.
The frameworks provides an opportunity to carry out “retrospective” thinking, reflect in terms of where the project is heading, and what “more” could be done to improve the product development process.

Agile and the scope of software development
Individuals associated with the software industry generally prefer using the term “software development” Read more at Why Agile Can Be A Popular Software Development Framework?