Flowmation (Digital Asset Management and Project Management Solution)
Client and Product
Silicon Systems (Wokingham, UK) is a company delivering leading-edge, highly supported IT solutions to all areas of industry. Its major product – Flowmation (http://www.flowmation.co.uk) is a solution for advertising, print and publishing industry sectors. Combining Digital Asset Management (DAM) and Project Management, it allows organizing your assets into projects which can be worked on by both local and remote project members whether they are colleagues, clients or suppliers. Project tasks can be automated through workflows that are embedded within the system. Flowmation gives complete control over the design of these workflow automations enabling the creation of a project system that fits seamlessly into business processes.
Organizational and Management Challenges:
Flowmation was initially developed on the J2EE platform by the in-house team. Willing to outsource further work on the project, Silicon decided to employ about 5 off-site developers for the long term. The client realized that for the project to succeed much needed to be done: pass over all the knowledge to a new team, establish good communication between the offices, and build an effective development process. Additionally Silicon required a lot of releases during the course of development.
There were much more challenges from the technical side. The most significant ones included:
- Introducing a new web application framework.
The existing web framework was good enough for the project start. Later on, however, the application required a new one that would handle a big source code scope. Migration to the new framework could not interrupt a sequence of the planned releases.
- Introducing a new look and feel for the solution.
The current application design was quite technical and functional, but aesthetically poor. Therefore it was necessary to develop and implement a new visual design.
- Usability of the application
The initial version lacked usability: features like list sorting and filtering were missing, AJAX technology was not deployed, etc. So it was necessary to analyze the typical usage scenario and improve the usability of the application. All pages had to provide the same user experience in regard to similar components.
- Project Management features.
In order to increase the product attractiveness to end customers, it was decided to add a number of features related to Project Management including Activity Management, Timeline, Approval Process, etc.
The present permissions system was too difficult to maintain. Though flexible enough, the system was not usable from the customers viewpoint as they were often complaining about its unclarity. The objective here was to make permissions easier for configuration and preserve the existing flexibility.
- Digital Assets Management System.
Flowmation used Extensis Portfolio as a DAM system, thus being highly dependent on the third party software. The result was a restricted pricing strategy. Silicon required their own DAM system to increase the business value of the application.
For Silicon this had to be their first outsourcing experience. Willing to find the best possible vendor, they offered the project for tender among several IT service providers located in Minsk, Belarus. Each of them was then visited by the company representatives. In the end 2 potential vendors were selected and the winner had to be chosen on the following criterion: communication\relationship with the Technology Leader. We really wanted to select someone we felt we could build a relationship with and someone who inspired confidence. said Neil Dobson, Managing Director of Silicon Systems. After Neil and his team had several meetings with Intetics Technology Leader, his enthusiasm and communicative skills convinced them of choosing Intetics and their Offshore Dedicated Team model.
Team building and development process:
When the vendor was found, Silicon started selecting their key team members. Project Manager was chosen on the ground of his previous DAM experience. PM and Technology Leader further selected other team members (developers and QA specialists), 6 people in total.
To meet the project objectives, the team opted for Agile development process based on SCRUM methodology. Various XP practices were put into use: Unit testing, TDD, CI, Task Board, Acceptance Testing, CRC-sessions and pair programming.
Due to the incremental and iterative development applied, the client received a completely working version at the end of each iteration. The working version implies that all necessary stages of development, testing and integration have been done. Such a product can be shipped to target customers.
Twiki was used as a project collaboration tool, covering both documentation and scope planning issues. Mantis was applied for bug tracking, and SVN – for managing source code changes.
As noted above, the project offered a diversity of technical challenges. First of all, Wicket web application framework was chosen for further development. It is a component-based framework, which natively supports code- euse paradigm and therefore makes source code management much simpler. A strict division between the presentation layer and service layer allows to separate html code from Java code. With Wicket its possible to perform integration testing of pages without the necessity to deploy an application into a web container, which considerably accelerates the development process. Wicket can be easily integrated into the Spring application context. We have configured the application in a way that all requests to the new and migrated pages are handled by Wicket, whereas non migrated pages are processed by the Spring MVC framework. Thus, it is not necessary to migrate the whole application to Wicket at once.
Intetics also developed a new look and feel for the system and improved its usability in the following way:
- AJAX technology was utilized where necessary: loading indicator,showing\hiding various pans, etc.
- We introduced sorting, column and table customization, splitting of long lists into separate pages; context popup menu with a list of possible actions; breadcrumb trails across pages; multiple file upload; etc.
- We made it possible to perform custom searches and information filtering according to different criteria.
One of the major enhancements concerned planning and project management functionality within Flowmation. In essence, it is powerful Web-based Timeline Scheduling, but at the same time very easy to use (simple drag and drop). The application allows to:
- Create new activities and relocate or reschedule existing ones directly on the timeline by simply clicking and dragging;
- View the whole schedule across the entire company or drill down and filter by individuals, teams, projects or clients;
- Create alerts to be used as reminders or to escalate important deadlines;
- Use color scheme to see at once what is running on time and what is behind schedule.
- Adjust activities automatically to allow for times when people are out of office.
- Set up a powerful and flexible permissions system to ensure people see only what they need to see, making the system convenient for every company from SMEs to larger enterprises.
- View project documents across the Internet in a Flat Plan to get an easy overview of the project status. So you can graphically see how your project is progressing and what needs to be done to get it complete.
In course of development an original Digital Assets Management System was created. The system is platform-independent and can be used in both Macintosh and Windows environments. It works with a wide range of file formats, including Quark, Indesign, Photoshop, Illustrator, jpegs, gifs, Microsoft Office and RAW.
Flowmation automatically recognizes files entered into the appropriate folder on the server. Meta-data, including thumbnails, are captured enabling immediate access from all parts of the Flowmation system. It also works with leading SQL databases such as Microsoft SQL Server or MySQL. These provide cost-effective options from smaller companies to larger enterprises.
- Java 1.5;
- AOP, AspectJ.
- JUnit, JMock, DBUnit;
- Test Director (test case management).
- MySQL 4.1;
- SQL Server 2005.
- InteliJ IDEA 7.0;
- Subrevision (source code control);
- Luntbuild (continuous integration server);
- Cobertura (code style checking).
- MS Project (task management);
- Twiki (collaboration and documentation);
- Mantis (bug\feature tracking system).
At present, the Flowmation system is being used by a large number of companies in the design, advertising, print and publishing sectors. It is a simple and intuitive project planning and collaboration tool which facilitates employees work, helps to save time and increase the overall productivity.
In close cooperation with the client, Intetics created a well-organized and cooperative team and established a mature development process. Effective task distribution system and resource allocation approach allowed developing several smaller projects for the client who is now eager to outsource other development tasks to Intetics as well.