In the current state of fast changing market, where the customer expectation and business requirements are changing like never before, revenue pressures are building on day by day, business environment are getting more and more competitive, well established organizations are getting tough competition from the startups, the organizations are required to find ways to fine tune their way of working to remain relevant (read it as surviving), and deliver the value to their customers and to the investors.
Not an easy thing to do but at the same time not that difficult either. Organizations need to focus on their customers, the value they are providing to their users and in turn create value for themselves. The value could be in terms of market share, revenue, profitability or customer satisfaction. Is there a magic to achieve this… the answer is emphatic NO. One way of getting there is to start adopting Agile practices meant for faster time to market, instilling lightweight processes and meant to meet the dynamic needs of the customers.
Let me first give a glimpse of what Agile constitute. It is a set of methodologies that puts customer requirements and working product or the solutions first. It focuses on delivering the right product, at the right time, in an iterative and incremental manner. It involves collaboration across different teams of the organization that generally works in ‘silos’ to come together, work in collaboration for a common cause of customer satisfaction through usable working product that meets customers’ business requirements and avoiding working on non-business critical or non-value adding requirements. It encourages flexibility, recommends face to face communication, focus on continuous improvement in the product and processes, faster iterations for development of demo able product features and releases over exhaustive documentation, following a rigid requirement set and well defined plan.
That is fine!!! But if an organization does this, can it be called an Agile organization and can it will meet the end objective of business numbers and customer satisfaction. The answer is yes and no both. You may be called Agile but may not be able to meet the end objective. Reason, it takes lot of effort in changing people mindset and long customary processes prevailing in the organization.
Adopting agile needs a sort of transformation at the organization level from top to bottom. It requires change of mindset and aligning every individual towards the common goal of bringing ‘poor’ customer in the central ‘focal’ point of their thought process. In most of the organizations, generally the functional organizations, the teams focus on their respective functions and their own ‘limited’ set of deliverables. They expect the requirements casted in stone and often once freeze, should hardly ever change.
To be ‘Agile’, teams need to put customer requirements first. They need to understand that requirements can change at any time depending on the market conditions, competition, technological advancements, changing customer taste and so on and so forth. The bottom line is, requirements can change. So equip yourself to handle the changing requirements. Do not be reluctant rather welcome the changes and associated release definition.
Organizations need to support creation of more cross functional teams that are self-sufficient to deliver the project. These teams need to deliver products in short cycles called sprint or iterations rather in age long time periods. Everyone needs to understand that these iterations do not result in full functionality product but a product that has ‘some’ minimum set of critical features fulfilled according to the priority that has been agreed with the customer. These set of minimum set of features should be good enough to gauge the market, launching the products and make finer refinements basis the market feedback. As the time progresses, more features kept on adding to the delivered features set in the order of their priority.
Organizations need to build leaders. Those, who take responsibility to help the teams, remove the obstacles being faced by the team, empowering the teams to be self-managing, concentrate on people rather focusing on their activities and those who can give proper direction to their teams.
I have seen many organizations that want to change to Agile but find it really difficult to go away with the age old practices of expectation of well-defined requirements, casted in stone plans based on initial set of requirements, processes that add overhead to the delivery cycles, authoritative and guided practices. It hardly helps the migration to Agile.
I suggest, if there is someone to hold the hand of the team through this agile adoption phase and overcome the hurdles that come in between the long and not that easy journey of Agile adoption. It includes explaining the agile principles and practices, correcting the deviations and keeping the team focused. The role of agile coach thus becomes quite significant in the agile adoption.
In nut-shell, due importance should be given to the business critical requirements, get them to deliverable state as fast as possible, do not be reluctant to make adjustments as and when needed, remove the wastes though continuous monitoring of the existing processes and above all encourage the culture that brings people forward to take additional roles and responsibilities to help and create cross-functional and self-motivated high performance teams.