The Accelerated Delivery Platform (ADP) is an agile software development platform targeted at creating high productivity and quality in software development at Capgemini and its customers. ADP integrates a set of proven accelerators for software development projects of any kind, including smart use cases, smart estimation and model driven development. The platform is open source and open knowledge, and is supported by a growing community.
ADP is mainly targeted at Microsoft's .NET technology, but its accelerators have been applied successfully to other technologies, including Java, business intelligence (BI) and packaged implementations such as SAP. The platform has been used widely in projects in the Netherlands and Belgium, but interest in its accelerators grows rapidly, both at Capgemini and its customers, resulting in a first conference on smart use cases held in the Netherlands in May 2008. The Accelerated Delivery Platform includes accelerators such as:
Smart is a well known proven agile life cycle, using smart use cases as our unit of work. Smart incorporates many agile and iterative best practices and combines well with other methodologies, such as Scrum, Kanban, RUP and XP.
===Smart use cases===
An important innovation in functional requirements modeling. Smart use cases deliver smaller and equally granular use cases to software development. We use smart use cases not only for requirements, but also for unit of work and estimation, planning, and we generate user interface specs, test scenario's and code (e.g. front ends) from it. Works in various project settings, including .Net, Java, Sharepoint, SAP, BI.
A pragmatic and easy to apply estimation technique bases on smart use cases. Can be applied without elaborate training, but we do have training available (half day course). Associated with smart estimation are a set of techniques, such as quick estimate templates, and smart estimation poker.
A easy to use online project dashboard which is in line with smart use cases and their life cycle. Easy to track progress in your projects, using burn down and burn up charts.
Smart use cases are the primary unit of work in Smart projects. Moreover, smart use case not only are a great unit of estimation, and development, but they also are an ideal unit for testing. In Smart project testing becomes an important part of the design of the software, when testers and developers together create an activity diagram per smart use case. From this diagram test scenarios and test cases can easily be derived. Testing is intertwined in each of the Realize and Finalize iterations - as soon as possible, to beat Boehm's Law.
This approach, which is called smart testing
, matches process cycle tests from TMap. Smart testing is best described in the book Pragmatic modeling using UML
by Sander Hoogendoorn.
===Model driven development===
Using our domain models and smart use case models in UML, we are able to generate a variety of deliverables in projects, such as estimations (.XLS), test scenario's, UI specifications (.DOC) and of course, lots of code, including web pages, user controls, use cases, domain objects, table creates, etc. For regular types of use cases it is possible to generate up to 100% in a .Net web development scenario. We are looking at delivering more template through the community, e.g. for Java, Silverlight, PHP and customer-specific situations.
Applications built with the ADP all follow one of three related software architectures, for database oriented, service consumers and service delivery. This allows ADP projects to re-use components from delivered projects and it keeps software maintainable.
We current supply frameworks for .NET. The architecture of these frameworks embraces open source components, but also performs a lot of services unavailable elsewhere, such as model-view-controllers, database and service persistence, exception handling, resource handling, business rule validation. Newly added are the extension to quickly realize Silverlight applications.
The ADP is set in an open source / open knowledge community that delivers value at no cost. The Capgemini business model is targeted at collaboration, coaching and learning. We are currently building up a public available wiki, FAQ, and several forums to facilitate the community. A user group is being formed, and a first conference (on smart use cases) was held in Utrecht, the Netherlands in May 2008.
Extensive learning capabilities on the platform and its accelerators are delivered by Capgemini Academy. There are trainings and workshops available on agile software development, Smart, smart use cases, modeling using UML, software architecture and design patterns, building applications, model driven development, smart use case estimation, testing smart use cases.
===Applying Smart to projects===
We execute projects using Smart. This proven methodology follows agile characteristics matching other agile methodologies such as Scrum and XP, but enhances those with more precise guidelines on requirements, design and software architecture. For instance, Smart starts with two short start up stages (called Propose and Scope) and a finalization stage (called Finalize).
===Applying smart use cases to projects===
In these projects we apply smart use cases as unit of work, but they are also the unit of estimation. Following strict guidelines, smart use cases are modeled at a lower level of granularity than you would expect traditional use cases. Thus they become equal granular, reusable and better suited as unit of work. Moreover, we use smart use cases to generate and build our software, and also have a test strategy for smart use cases.
The unique part of this proposition is that the platform is not sold to customers, but rather shared with them in the community. Even better, parties using the platform share the feedback, which is used by the core team to further extend the platform.
There is a lot of activity in the community. A user group is being set up, by parties using accelerators in the platform. A new forum has just been installed. Moreover, the book on modeling and software architecture, written by Sander Hoogendoorn, will be translated in English. A new book, targeted at smart use cases will be written in 2008. Smart use cases are starting to get recognized as a sound unit of work in several disciplines, including BI, enterprise content mangemenent and SAP projects. Capgemini Belgium is adopting the platform, and interest in the platform grows from several countries, including India, USA, Sweden and the UK.