Agile is a subset of Iterative and Incremental development (IID). i.e. A team could have incremental and iterative development without being agile. i.e. an agile team needs to have additional tenets in addition to being iterative and incremental 1. Self organizing teams: Empowered teams help organize and deliver better results 2. Adaptive and emerging plan: Project plan (scope, delivery and cost) needs to be adaptive to emerging requirements 3. Potentially shippable software: Producing software that can be truly useful to business is critical to agile success Since each solution will be situation specific, let me give you a scenario and how we fixed it. 1. The scenario: We had challenges in ensuring "Business people and developers must work together daily throughout the project." The development team was in corporate head office. Business teams were geographically dispersed in three time zones. The task was to build one solution that fits all. 2. The solution. We realized early on that we need a product owner from each business unit. But, team was getting pulled in different directions due to differing priorities for the business units. I worked with the product sponsors and got a proxy product owner on site. His job was to make sure the development team receives clear communication on what needs to be built. He was also tasked with identifying differences, creating stories and prioritizing. 3. The result. With one proxy owner always available to the team in the same time zone, we spent lot less time discussing and more time building application. Also the process of identifying differences, helped us to find non-it solutions to meet every product owner's needs. Ultimately we got "Better software in faster" Yes! Continuously look for better solution rather than implementing stories/ requirements Key is to understand the agile spirit inside the agile manifesto. “…better ways of developing Software..” We need to constantly find better ways to deliver the software faster, cheaper and meeting customer needs by valuing 1. Individuals and interactions over processes and tools 2. Working software over comprehensive documentation 3. Customer collaboration over contract negotiation 4. Responding to change over following a plan Lot of scrum teams loose out because they forget to find better ways. They are in a mad rush to meet sprint commitments. Don’t discuss with product owner or business what would meet their needs. As a result we end up building software that is lacking in 1. Innovation 2. Quality 3. Customer value I have had teams write bunch of test to ensure high code coverage, but forgot to check if the original code was meeting business needs. These teams met commitments by putting extra hours to correct the UAT bugs. Is that success? No I have had teams become hyper-productive by simplifying the stories and finishing them in half the allotted time. This team could pull extra stories or take time off to finish training, reading, environment upgrade etc. Is that success? Yes Introducing agile into an organization implies significant change from the previous ways of doing things. I would like to bring the famous quote from Machiville to bring things into perspective: “..The innovator has for enemies all those who have done well under the old conditions." There is bound to be detractors and people sitting on the fence. How well you deal with them determines long term success of the agile program. What would a detractor want? He would want you to get derailed from your goals and fail in delivering. Recommendation: keep away from confrontation, and ask them to identify the issues and risks they see and deal with those at a risk and issue management level. How do I explain Lean to someone quickly? 08/15/2009
The time tested way to explain something is by practical example. I would suggest walk them through how something could be done differently using Lean principles. You don’t have to choose a $30 mn project to demonstrate the difference Give him a “Lean” answer to his question and a elaborate answer. Lean answer: Getting work done minimizing waste or time, money and resources Now an elaborate answer could be: “Lean is a management theory ...... develops ability in people to use a disciplined approach blah blah blah Yawn blah blah blah! To sum up I will schedule a 2 hour time next week to walk you thrugh 52 slides (???) and I will order a copy of my new book Lean thinking…….. My company will give you a proposal for transforming – Now get lost” In a software development context: It infrastructure projects are in fact ideal candidates for agile. Most of the IT shops operate in a agile fashion i.e. 1 tracker at a time. What exactly is agile Testing? 06/26/2009
Testing is context and environment specific. So it is tough for me to tell whether you will write functional tests, integration tests of performance tests for your product. What is a Release sprint? 06/24/2009
In Scrum we produce “potentially shippable product” at the end of each sprint. However, there is a bunch of activities required to move the product from potentially shippable to shippable. Who hates Agile the most? 06/23/2009
People will hate agile if they don’t know what to do with all the information they get out of agile models. |


RSS Feed