Many clients have business processes that involve rich or unstructured content. Often the classic “Document Management” or “Web Content Management” approaches, systems, and user interfaces aren’t quite the right fit and something custom is needed. Maybe you are trying to make it easier to share digital assets with a geographically distributed field sales force or partner network. Or perhaps you are trying to streamline a complicated business process that needs to feel clean and simple to each participant in the workflow. The possibilities are endless, but the solutions tend to have some common traits:
- A user-centric approach to the overall design of the system is critical
- There is often a non-trivial business process for review and approval of assets and that process may change over time
- There may be some data that lends itself to being stored in a relational database (rows and columns), but a significant portion of the data is unstructured or semistructured, often consisting of file-based content such as office documents, audio, images, and video
- Integration with several other systems is typical, with other systems (both internal and external) acting as both consumers and producers of content
- Data volume may be an issue, such as with large imaging projects or massive web sites
When you look closely at the parts of such a system from a technical perspective, traditional web technologies and frameworks may be present. The presentation tier, for example, is likely to be implemented using a widely adopted framework that your IT department is already comfortable with. And certainly a relational database has some part to play. But there may be other systems involved such as rich content repositories, so-called “NoSQL” repositories, search engines, and workflow engines. As you start to look at the system as a whole, it starts to look less like a traditional web application and more like a new kind of animal: A content-centric application. Metaversant consultants have been building content-centric applications for over 15 years.
How we do it
Metaversant uses a proven methodology to assemble these types of solutions from existing software components, including some that are freely-available as open source software. Our approach is typically divided into two parts: Blueprint and Implementation. During the Blueprint, we:
- Identify your business goals and key success factors
- Gather, validate, and prioritize requirements
- Understand your technical environment, standards, and strategic direction
- Select technical components from which we will later assemble the solution (or validate choices you may have already made)
- Iteratively design a user-centric interface
- Develop a high-level architecture
- Plan a roadmap that shows what, at a high level, will be included in each release
- Identify the scope for the first release
- Provide an estimate for the Implementation
The Blueprint is a critical activity that ensures you know what’s in front of you. If someone tells you they know what it will cost to deliver a custom content-centric solution before they’ve performed these steps, you should be wary. You could be drowning in change orders or cost overruns if you aren’t careful. With Metaversant’s approach, everyone is on the same page as the project moves into the next phase: Implementation. During Implementation, we typically:
- Set up a development and test environment (often leveraging cloud resources)
- Convert storyboards/mockups into annotated wireframes
- Plan the sprints/iterations
- Conduct daily stand-up meetings
- Develop, deploy, and test code
- Collaborate with stakeholders in-person, via email, and chat
- Incorporate stakeholder feedback into successive iterations
- Write documentation and perform turnover meetings
- Create and execute plans for load/performance testing, user acceptance testing, final QA, and rollout
At the end of Implementation we may begin a short Blueprint for the next phase or, if the Implementation was the final phase, we work on transitioning the solution to either your support team or Metaversant’s support team according to your needs.
Contact us to get started on your application development project.