Across several blog posts, we have covered agile development for teams as well as agile development outsourcing for startups. It should not be a big surprise to anyone therefore, that we have been forwarding our experience in outsourced agile development to a growing list of clients.
What we offer are dedicated agile developer teams where the development is completely managed through us. Welcome to your outsourced project office.
We can do the writing of the user-stories (core story, wireframes and acceptance tests), the project management of the development (iteration planning, daily update meetings, status tracking & reporting) as well as the initial acceptance testing. What we find is that every project is different and we adjust our agile development outsourcing framework to these requirements. The existence of a concise framework allows us to quite rapidly set-up operations for new clients and ensures that learning's can be leveraged across our clients.
At the heart of all project management stands communication. We use a range of tools to support communication across distances. These are in no particular order Skype, conference-call rooms, project intranet and a fantastic collaboration/ white-boarding e-room. We've played with the idea of sending Mac Mini's out to clients that have a permanent team-size of >=5 to allow smooth video-conferencing via iChat (as opposed to the poor quality in Skype) but have yet to act on this thought.
We strive to provide the ultimate in transparency and as much information as possible as to the current status and delivery dates. And working in short iteration cycles of about 3-4 weeks, depending on the client, with tools (currently XPlanner, although we might start using TargetProcess) to monitor the progress of a project provides us with a wealth of information. Every day, a core group of people receives a daily update status mail that lists progress on the different stories we would be working on. Every other week, we issue a bi-weekly report and at the end of every iteration we issue a report on what was completed and moved to the next iteration.
It can be challenging to attempt agile development across distances and throughout the last year we have had many good learning experiences. Not everyone has a unit-testing framework for example so continuous testing and starting with tests is not an option (although we will propose implementing a framework at no cost as it will help us increase our overall throughput and raise code quality). Not having the customer with you means that acceptance testing feedback can be difficult to collect (we now do 'live' testing sessions using our e-rooms screen sharing and note-taking facilities). Knocking on doors to get quick feedback on interaction designs will not be possible (so we always start with a wireframe exercise, now using Axure to create very realistic demo's of the user-interface).
All in all though we know that the outcome using our agile development outsourcing framework guarantees our clients greater flexibility in their planning, increased ability to provide us with feedback that will actually be integrated, a better sense of the different project status and a higher overall output than compared with outsourced development teams operating "the old" way.
Soon we will provide some examples of how we perform our iteration planning sessions, keep clients on top of things and collaborate with them and our outsourcing team on project requirements and execution. We are considering providing a "test-drive" to a selected few interested parties tempted to try our agile development outsourcing services as well, more on that coming up.
Posted by bjoern at 4:28 AM