This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
TCS has since long recognized the value of lean and agile development. It said to have been adapting agile practices into its process in the last two decades. Even while the IT industry in India was still developing and agile methodology was only coming to the forefront, TCS had been applying rapid application development, lean approaches, model driven development and many other agile principles regularly, to ensure quality deliverable at a much quicker pace. With more well defined agile methodologies like Scrum and XP becoming popular, TCS has been leveraging these successfully, delivering projects using one or more of these agile methodologies, either in their out-of-the-box form, or using a modified version.
TCS has successfully delivered over 100 projects using Agile methodologies in a globally distributed environment, thus meeting its customers' business needs of time to market, quality and responsiveness to changing requirements. The agile projects of TCS have been executed in a variety of areas such as application development, maintenance, conversion, data-warehousing and embedded systems as well as for a wide range of business domains such as Insurance, Banking, Manufacturing, Retail and Telecom. The efforts range from small projects to programs with over 300 person months, team sizes ranging from 10 to 100 associates, and iteration lengths varying from 7 to 90 days. The typical offshore leverage in these projects is up to 70%. TCS has also successfully partnered with multiple clients to deploy Agile methodologies, either in their out-of- the-box form or as a hybrid model.
TCS uses GNDM (Global Network Delivery Model) for executing agile in a global environment. Process Excellence Group are used to facilitate the projects and they continuously collect the experiences and best practices from across the organization and uses it to continuously refine the standard process. TCS Agile projects collaborate using our internal knowledge management systems, communities of practice, and have access to toolsets and enablers hosted in the centralized organizational process repository.
TCS Global Consulting Practice offers consulting leadership to organizations providing thought leadership and helping them to realize the business benefits of organizational Agile adoption by assessing their Agile readiness and using a best practice framework for delivering optimal agility in distributed development.
Also, TCS Global Consulting Practices offer consults to help organization realize the benefits of Agile adoption by evaluating their readiness and providing them a best practice framework for delivering optimal dexterity in the distributed development.
To promote Agile to a status of an organizational process, a company needs to look at it in terms of enterprise agility, i.e. how quickly the enterprise is able to respond to a change in market or even better how it can take the position of a market leader through triggering the market changes.
Based on the above, TCS has come with the following five key points, as mandatory to ensure institutionalizing Agile methods at the enterprise level which they call as the A-B-C-D-E of institutionalizing Agile methods:
1. Assess: Make sure that you know of the organization's inherent maturity to adopt Agile. Identify and plan for mitigating any risk.
2. Balance: Devise the right Agile methodology. Agile development is not a digital condition. It is analogous. Organizations can achieve maximum enterprise agility even when they are lesser agile in their software development process.
3. Communicate: Communicate, communicate and communicate. Ensure that everybody, right from the president of the company to the developer knows and understands all about the new methodology and have their expectations set. This is irrespective of whether someone is involved in an Agile project or not. It is important to set the right expectations and build the right skill for succeeding with Agile at an enterprise level. The change management has to be well thought of and rigorous to promote the sustained use of Agile development methodologies.
4. Digitize: Even while you chant "Individuals and Interactions over processes and tools", strive for the maximum automation possible without hindering the productivity of the developers. In a large and distributed project, automation, and the right way of doing it is the key to success for Agile projects. And automation is not only restricted to development and testing. We should look at all possible areas as long as we remember that it is suppose to make people productive.
5. Evolve: Agile institutionalization is not a goal, it's a journey. Its perfectly ok if the organization feels that they cannot follow a typical Agile method and instead will go for an iterative approach. It's more important that the Agile values like self organization, early feedback, etc. are built into the team irrespective of whether they are following a spiral, an iterative or even a plan driven approach. As and when the organization gains more maturity, their way of working will become more and more Agile. For example, if the experience of iteration duration of two weeks is unnerving, it can be changed to four or six weeks; however, once you have chosen the duration, the rhythm needs to be maintained.
How TCS solves the above problems?
1. Selection of project
In TCS, while helping a distributed organization to adopt Agile, the very first task that an Agile consultant does is a due diligence and understand the organization's inherent machinery and identify the primary risks of its Agile adoption. This is done through some focused work on studying the organization's existing processes, review sample deliverables, conducting interviews, etc. and finally the data is fed into our Agile readiness assessment tool. This tool would analyze the data around 29 parameters like technology, executive support, skill level, requirement dynamism, etc. and pull out the aspects that can pose serious risks to the organizational level agile adoption. Even at a project level, TCS runs a tailored version of the tool to understand the project's readiness of Agile. The solution is applicable to organizations that are starting on their Agile adoption journey as well as those who are already into Agile but are not receiving any substantial value-add with the methodology.
2. Choosing the appropriate model
In order to have a successful Enterprise Agile deployment there is a need to create an Agile methodology that is best suited to the organization. Even if a hybrid is created, it should still be aligned to the Agile manifesto. The process then gets continuously refined as and when the organization gains more maturity on the Agile paradigm.
The crux of devising an optimal Agile method, therefore lies in the ability to identify the right practices. In many organizations, this is done based totally on experience, and the methodology goes through refinement for several iterations till it reaches the optimal benefit level and gets standardized.TCS uses a more precise approach. They use the concept of quality attributes. A "quality attribute" is a metric against which the success of the process or the developed product will be judged. An optimal Agile process will be the one that will meet all the goals for its quality attributes. Using the concept of practice based process model, you no longer have a process but a set of practices. Each practice does something specific, given a defined set of input and produces a defined set of outputs. Using a practice based process model, you are no longer
bound to a single process. Based on the business goals or risks of the project, the right set of practices is selected such that it will enable the team to reach the goal in the best possible way. This model to be more quantitative than qualitative as it is of now. With a quantitative
model, the project manager will be able to make quantified statements of the risks and gains.
3. Directing all the stakeholders towards a single goal
TCS setup a management roadmap work which is implemented in the following phases:
- Envision and Explore: They first identify the change agents and risks of agile deployment in the beginning itself and limit the usage of methodology to the few senior associates who are Agile enthusiasts and ready to make a sincere effort to change their mindset. These will be experienced people who can handle conflict and identify failures as improvement opportunities.
- Establish and Enable: The next phase they follow is to scale up the methodology and take it forward to other teams. At the same time, the early adopters are now eligible for taking up the roles of Agile project or program managers. Continuous sharing in the form of coaching, mentoring and constructive discussions is needed to ensure that there is a steady flow of knowledge and everybody understands the spirit of Agile. The central idea of this phase is to make the organization agile-enabled.
- Execute and Evolve: Once, most of the organization is at a comfort level with Agile projects, they evolve the methodology through continuous expert mentoring, research, center of excellences, forming Agile communities and exposing the organization at an industry level. This will result in multiple changes to the methodology, which will need to be communicated and exercised with proper coaching. By now, enough value has been shown by the Agile projects, to make most of the organization Agile enthusiasts and ready to take up Agile methodology.
4. Limited Scope of Automation
TCS believes that core principle of any Agile organization is to respond to change in the fastest possible way. Thus they define automation as an important means to enhance productivity and it will help them be more Agile. The following is method followed by them for tool automation:
5. Ability to adapt to the constant change by continuous process improvement
TCS believes that process improvement is a continuous journey and not only triggered by external entities and thus has to be a proactive initiative. Process improvement can happen on various levels:
1. Periodic assessment of the process and comparing it against the existing business goals
2. Improvement using Lean Six Sigma
3. Focused innovation based on understanding business trends and opportunities
TCS White paper, Adopting Agile Methodology in a Large Scale Distributed Development Environment by Dipanjan Munshi