Following best practices is key to successful projects
XCentium believes that successful projects don’t just happen on their own – they require good analysis, the right resources, tools, planning and execution – in short, they require an efficient methodology to ensure high quality deliveries within time and budget.
While we are always willing and open to work within our clients’ methodologies, our experience from many years of delivering projects have allowed us to define our own process, which has proven highly efficient and successful.
The key elements in our methodology is that it is agile and flexible throughout the project while at the same time allowing us to control the project and it’s progress as well as adjust to changes accordingly.
Our process is based on best practices of agile development and focuses on identifying and eliminating risks as soon as they surface.
A project is organized in phases, with each phase having a clearly defined set of tasks, deliverables, and milestones thus allowing to manage scope, timelines, budget and risk within each phase.
Each phase is executed in one or more iterations and the phases often overlap to ensure new findings are taken care of properly. Each iteration is planned in detail with priority given to risks or high priority features.
Our clients are deeply involved throughout the process as part of planning and with weekly status meetings and budget reporting to ensure full visibility into project progress and status.
At the end of each iteration a joint iteration demo is held, where the features implemented during the iteration are reviewed together with the stakeholders to allow for changes or adjustments.
XCentium practices agile Sitecore development throughout the process. During the Discovery and Design phases, a backlog is created with user stories based on the business and functional requirements identified.
An example user story could be: ”Our three user types will need a unified, yet user friendly, navigation that clearly caters to each of them”
As the project progresses and more information becomes available or priorities and requirements change, existing user stories will be adjusted or new user stories added, so the backlog constantly reflects the scope of work. This is one of the key elements of agile development and we involve our clients through the process to provide the full insight in requirements and priorities – a project is a collaborative effort and must be considered a team effort.
The life cycle of a typical Sitecore user story will look like this:
- Most stories equal a specific component of the web site and is built as a self-contained entity.
- Components are constructed ”bottom-up” by first creating the data template and after this developing the presentation layer.
- When development is done, the component is inserted in the site context and representative test content is added to replicate real-life behavior.
- Finally, the component passes through QA and UAT and the next story is initiated.
XCentium believes in using the right tools for the right purpose. For full visibility in project tasks and progress we use Assembla, which offers great flexibility and transparency and allow our clients to follow the project and participate real-time.
Assembla allows full insight into iteration and task status and furthermore provides full tracebility so all comments, questions and requirements changes can be viewed together with the task they are related to.
We also believe in a high interaction level between us and our clients. We have weekly status and budget reporting together with joint status meetings. When possible, meetings are held in-person.
Other tools used as part of the process can be Microsoft Excel for budget reporting, Microsoft Word for specifications or GoToMeeting for online meeting activities.