| Welcome to RobinLab - Agile Software Development Company | |||||||||||||
|
|||||||||||||
Project Rescue Through AgileAbout | Analysis | Solution | SCRUM and XP – Agile Power | Results | Technical details
Remark: due to the NDA we are not allowed to announce the details of the projects (including customer name, project name or project details) without Customer permission. The information on the project may not contain these details or be not full. About The ProjectIn the early 2000s, during the period of intensive growth of real estate market in the United States, our prospect customer has become one of the leading B2B service providers for thousands of real estate companies. This success predetermined rapid expansion of company’s services and five releases of new versions within few years. This company extensively outsourced software development oversees. They mostly relied on some well-advertised Indian company. Unfortunately, as it often happens in this business, their experience was rather negative. They spent the whole year trying to get acceptable results from the contractor. By the end of the year company was ready to break the contract. The situation was really desperate. Competitors were overtaking the market providing very close list of services. Moreover, new potential contracts remained undecided due to the delay in releasing the new version of the product, which included the new services announced long time ago. In addition, the delays caused the company to overdraft of the initially planned budget. Company management was in desperate search for urgent solution to the problem. They asked RobinLab to take a look at the project and give some suggestion.
From the project analysis we immediately noticed, that the main complication related to the requirements management process. On the one hand, during the last couple of years hardly any technical documents have been put together. It became a big obstacle for knowledge transfer, project transfer from one contractor to another, and adding new team members. On the other hand, in order to keep up with volatile real estate market, marketing research department came up with new requirements almost every week. Often they claimed that the new requirements had higher priority than those which had already been worked on. All this cluttered and jammed our works on the project. Some senior managers worried about product release delay, while others were rather concerned about catching up with the market. Software project managers wasted unjustifiable amount of time on roadmap updates and approvals. Software developers got drowned in new requirements while the old ones haven’t been implemented yet. It was not possible to rescue the project without some radical changes in general work organization. RobinLab started with the following urgent measures:
Old methodologies (or lack of methodologies) just did not work. The only remedy was an immediate switch of software project management to Agile Methodologies. RobinLab prepared six-month plan of moving to the new software project development process. We based our plan on combination of two Agile Methodologies - SCRUM and XP (Extreme Programming). SCRUM is a set of guidelines for planning and managing software development projects, while XP prescribes individual team practices that help developers, analysts, testers and managers to perform at peak efficiency. SCRUM and XP are especially effective when implemented together. Main bullet points of the plan included:
New methodology adoption was organized in two phases in parallel with knowledge transfer from the previous contractor. First of all, we needed to arrange communications with customer management team and to perform current project situation analysis. For this purpose we planned a tactics for the first several rescue sprints and had a dedicated SCRUM master elected from our engineering team. It was the SCRUM Master’s role to facilitate collaboration between the marketing department and software development teams to build increments of functionality in monthly iterations. Afterwards, when the situation on the project became stable and the project started broadening out, the SCRUM master’s responsibilities were delegated to one of analysts on the customer’s site after a proper training. First few one-month sprints of the rescue process were spent on building a stable product version that was based on the last available demo-version. At the same time, we did analysis and classification of features by their state of completeness. We built a list of unfinished tasks and high priority features. Finally, when a new stable version has been released and all the requirements specified, we got a base for a new start in software development. According to SCRUM methodology, each sprint must result in working application. We faced a dilemma: on the one hand every sprint length was just about 30 days and on the other hand we needed up to 10 days to test a version. The only reasonable solution was testing in parallel with the development process. According to XP rules, a feature is not done until it passes both its unit tests and its acceptance tests. Programmers write the unit tests, and marketing and quality assurance write the acceptance tests. These tests become the detailed specification and the completion criteria for each Sprint and each feature. This type of co-operative work between testers, analysts, and coders is known as test driven development, the TDD. So the final picture looks like:
Next 4 one-month sprints were spent on new product version development.
Our hard work and task-oriented Agile Methodology adoption yield great results. In just six months we delivered the major product update release. But we did not just build a product. We established a straightforward system for future products development and maintenance. Our customer adopted efficient requirements management system, and now can work on realistic software development strategies. Our successful cooperation continued with creation of a long-term plan of further enhancement of the company product line. Over the last one and a half year of our close cooperation, aside from help in project maintenance and development, RobinLab assisted in building new products generation, starting two new services, and automating many internal processes. Despite the US real estate market crisis, our customer’s company managed to significantly boost its market share and expand client’s base.
The project is a multi-tier web application. T serves as an integration point for many internal and third-party satellite web-services, with a handy interface, developed with use of AJAX technology. Used technologies and products:
Project complexity:
|
|||||||||||||
![]() |
![]() |
![]() |
|||||||||||
|
|
|||||||||||||