Best practices for Maximo projects

Today I have received the following questions from one of our customers.
Expanding a little, in this article I will present my own recipes to cook successful Maximo projects.


Development Methodology

I am a strong fan of Agile philosophy and less enthusiastic adopter of Agile software development methodologies like Scrum, XP or Crystal.
I really believe that the right way to seek success and perfection in software development project is to strive to align your processes, organization and culture to the four value statements of the Agile manifesto whatever methodology you are using.

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

There is no silver bullet here. Every project is different. Every customer is different. You have to experiment and improve keeping in mind those principles.
My own motto is: Start Small, Grow Fast. I always use this as a very simple guiding principle.





Workspace structure

I suggest to keep all the files and documents in a single place. There is no need to create boundaries between development, test or project management people. Everybody is on the same ship and a great collaboration is fundamental for an efficient and productive team. If possible, give access to the customer to entire set of files and documents. Foster mutual trust and establish a partnership.
This is a common set of directories in a project folder.
I know that some of these files are stored in a safe place in the Maximo database. However, I think it is better to keep together all the custom code in a common repository where you can also search for previous versions of a specific file.


Collaboration, Backup, Versioning

The workspace described above must be shared across all the team members including specialists, architects, developers, project managers and stakeholders.
Avoid using email to exchange documents. This could quickly become a nightmare. Break old habits. Share a list of tasks on Google Docs and ask everyone to keep it updated. Create a design document and edit it in real time during a review session. Many times we don't need strict rules and processes.

Regarding the technology for storage and versioning of the workspace it really depends on the size of the team. As a general rule:


Tools

First of all, share a common set of productivity tools. Look at Maximo specialist Swiss Army Knife for my selection of tools.
If you have to develop Java customization you have to set some coding standards.
In real world scenarios you will always face some challenges to keep in sync development, test and production environments. Unfortunately, there is no tool to compare two different Maximo environments. That's why I have develop my own method.
An effective technique is to periodically clone the production environment to the test and development environments with a procedure like this.
On the other side it is important to use Migration Manager to move packages to be released from dev to test to production.

Labels: , ,