As more and more software developers and managers are struggling to improve their delivery capabilities, OutworX has steadily but surely started moving towards Agile Development as a means to deliver high quality solutions in shorter time span and with ever-shrinking budgets.
Truly, transition to Agile is not an easy task. We are ensuring how to make the move without breaking anything. We at OutworX are taking every move scrupulously and diligently.
We understand that Agile development is a substantially different method of developing software, which heavily relies upon speed, smooth and frequent communication, and a desire to provide the customer with a completed solution in a shorter time line. That’s why we have, firstly, started asking our team members if they are ready for the transition. At this stage, we are looking into the possible roadblocks, and the way to remove them, and also comparing it with our old method.
Secondly, we are not in a hurry. We let the learning evolve iteratively, which means we try to learn something out of everything. This learning process doesn’t require us to be an expert, and we mainly focus towards doing a single thing and doing it completely, making it a complete software solution in itself.
We in OutworX do understand that transition is not so easy, and every transition is bound to face opposition from within and own team members, which is also a sign of solid democratic structure where people come out with their apprehensions. Keeping in mind their apprehension, we are educating them and taking time to dispel the myths about the agile development, as we’ll work with them in the future.
In this regard, we are also telling our team members the risks of not going agile. We give reference of those companies which have excelled and outsmarted their competitors by adopting agile development process.
At OutworX, the one good aspect is that most of stake-holders in our organization have shown enthusiasm towards implementing agile software development, but we are taking into confidence even the small stake holders, and help them understand that switching over to agile methodology is a matter of our survival in the outsourced product development market. Moreover, all need to understand and assimilate the process in order to get it executed fruitfully. We are making every effort to change the mindset of our team members and customers as well regarding the software delivery process.
We understand that adaptation to new methodology will take time, and gradually everything will fall into place. And to learn from all our mistakes in the early days of agile methodology, we are going to document the progress carefully so that we can have true assessment about when and where we went wrong.
In today’s fast paced IT-driven economy, if we want to be successful in software, we need to learn fast from our mistakes. What we need to understand here during the transition to the agile development process, it is better to fail or commit mistakes fast, so that the process of learning should be fast-paced, and eventually we’ll be able to speed up software development process.
Posted by Bharat Bhushan, AVP, OutworX Corporation
Thursday, August 7, 2008
OutworX readiness for Agile : Part III
Monday, July 21, 2008
4 Cardinal Values of Agile Methodology: Part II
Continuing our discussion further, we would now discuss about the values entrenched in the Agile methodology. The Manifesto for Agile Software Development highlights 4 value statements, which we’ll explain for better understanding of the methodology.
The Agile Values:
Individuals and interactions over processes and tools. Individuals work together to build software systems, in which processes provide them guidance and tools help them improve their efficiency. But, it is the people, with right technical and behavioral skills make all the difference, because without right people all the processes and tools can’t produce results on their own.
Working software over comprehensive documentation. Agile development emphasizes documentation to build products and software, as documents support communication and collaboration, enhance knowledge transfer, preserve historical information, assist ongoing product enhancement, and fulfill regulatory and legal requirements.
Customer collaboration over contract negotiation. Agile development is driven by customers, product managers and development team, where each has specific roles, responsibilities and responsibilities. Keeping the letter and spirit of the contract, the project team delivers value to customers.
Responding to change over following a plan. During the development lifecycle of the project, priorities are changed for a plethora of reasons such as changed understanding of the project stakeholders, changing business environment, changing and evolving new technologies and platforms, etc. In such a changing environment, there should be room for change in the project plan. And, project plan should have the flexibility and adaptability to the change.
…to be continued.
Posted by Praveen Panjiar, Blog Evangelist, OutworX Corporation
Thursday, May 22, 2008
OutworX focuses towards Agile Development Methodology: Part I
In today’s software product market, development firms are increasingly focused towards optimizing the development process of their products with unequivocal attention on innovation, quality, and cost. Firms that have the capability to speedily and economically develop products will gain unmatched advantage and edge over competitors.
Authors Jim Collins and Jerry Porras in their book “Built to Last” posed a question: “What makes the truly exceptional companies different from the other companies?" Answering to the question, they said, “Visionary companies distinguish their timeless core values and enduring purpose, which should never change, from their operating practices and business strategies (which should be changing constantly in response to a changing world)."
This is what we product development firms can achieve with Agile Methodology. Defining “Agile”, Jim Highsmith says, in his book “Agile Project Management: Creating Innovative Products”, “is a social movement driven by both the desire to create a particular work environment and the belief that this "adaptive" environment is critical to the goal of delivering innovative products to customers.”
Why do software development firms need Agile Development Methodology?
We need Agile Development methodology, as it promotes high levels visibility, predictability, and quality by adapting an iterative development approach. The “Manifesto for Agile Software Development” declares “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 be continued
Posted by Praveen Panjiar, Blog Evangelist, OutworX Corporation