What lies behind us and what lies ahead of us are tiny matters compared to what lives within us.
Developers are a community which spans projects, developers jump in and out of different projects for varying times. Any code or customizations are developer creates might be maintained by himself or another developer, it‘s important to do a good job to make it easy for yourself and others.
When developers in a company work well as a group, they push each other to keep high standards. Keep high standards takes pride and enthusiasm because it‘s harder to write simple code than complex code. When one developer drops their standards, this can infect a whole project, Bad code is like a virus, don’t get infected.
Microsoft Dynamics CRM developers need to work as a group because CRM has lots of pockets of specialisation and impossible for one developer to know the functionality and limitations of all aspects of CRM. The knowledge of the group of developers can give guidance to developers without knowledge of parts of CRM.
Today I say act like a soldier, in an earlier blog I told you to write code like a boy scout, what will future blogs bring
A Team of individuals
One day a call came into the support desk with an urgent bug on a Microsoft Dynamics CRM project I had not worked on, I had to investigate the bug.
The developers who worked on the project, either left the company or was unavailable. I read the project documentation,itwas outdated and didn’t help. I looked at the development environment and started my investigation with the code and CRM.
The code was a big ball of mud, rolled in a plate of spaghetti with technical debt on the side. This was legacy code with no one to help me, itwould be a long day, my fellow CRM developers had left me stranded.
I poked and prodded the code, toyed with the CRM, asked questions, documented my investigation and was 90 percent sure I had found the bug but it‘s scary changing legacy code with no unit tests.
Legacy code evolves to incorporate lots of fixes to particular problems or processes, when viewing the code for the first time often the code doesn’t seem logical unless you understand the business logic.
Don’t let you fellow CRM developers down struggling with poor code I had written. When you take shortcuts, don’t document code and write.
- Are your CRM plugins creating technical debt?
- The problems with complex code and complex CRM Customization’s
Code echoes
Creating code islike creating a baby, the creation is fast and fun but you havetolookafterthe code foryears.
Once the code is written it will be read, maintained, extended, debugged for years. Complex code willmaketakeupmoretime, sometimes asmall bug fix or code change cantake days todo. Coding faster will slow you down later, particuarly first draft code which has not been refactored.
The code you create today is likely to be used and maintained for years. Make sure quality is high so the pain of maintaining it is low. Working with legacy code, finding bugs can take hours/days and thoughtprocessof. My usual approach to legacy code is
If the legacy code ain’t broke, don’t touch it and slowly back away.
Poor quality code will leave developers maintaining that code stranded and struggling with the code and time taken to get it right.
Starship developer
The best thingsinlifeare beyond money; their price is agony and sweat and devotion ― Robert A. Heinlein, Starship Troopers
Reading Robert A. Heinlein Starship Troopers , in the story it follows one recruits journey in the mobile infrantry. The mobile infrantry are volunteers, their actions are motivated only by their willingness to be in the mobile infranty and they can leave at any point.
Self motivation is the strongest form of persuasion and motivation. This theme was discussed In the book Leading by Sir Alex Ferguson (Author), Sir Michael Moritz (Author) gives insights into management style of Alex Ferguson and motivated to write Leadership
I like to bring the thoughts and opinions from different areas to CRM development to see if there are similarities and differences. CRM developers are a community who share and help each other and sometimes contribute to the frustrations of a CRM developers The Frustrations of a CRM Developer
- CRM developers are volunteers, they havechosen to be a CRM developer
- CRM developers should be proud to be a CRM developer
- CRM developers can change jobs at any time if they don’t likeit
- CRM developers are part of a team
- CRM developers are part of the Microsoft Dynamics community
I have nothing to offer but code, customizations, sweat, solutions, tears, documentation and unit tests and blood to offer – Hosk
CRM developers are soldiers, battling bugs, deploying troops, creating customizations to take down customer requirements and keeping our heads down when the flack is flying.
Never leave a man down
The chances of CRM developers dying for the cause are remote, therehave been a few close calls but I got away with a few broken bones and nightmares (which mainlyconsist of having to support CRM 4 projects and SSRS report formatting)
The soldiers creed – I will never leave a fallen comrade.
I saw this in the film Black Hawk down, where a helicopter crashes and is surrounded. Some troops drive in to rescue them and get stuck themselves. They fight their way back to base. They realize not everyone made it back and most of them go back and rescue their comrades.
Why is it important because if you were the man left behind you would hope your buddies would come back to rescue you, it gives that Soldier hope.
The American soldiers have the Soldier’s Creed (US version)
I am an American Soldier.
I am a Warrior and a member of a team.
I serve the people of the United States, and live the Army Values.
I will always place the mission first.
I will never accept defeat.
I will never quit.
I will never leave a fallen comrade.
I am disciplined, physically and mentally tough, trained and proficient in my warrior tasks and drills.
I always maintain my arms, my equipment and myself.
I am an expert and I am a professional.
I stand ready to deploy, engage, and destroy the enemies of the United States of America, in close combat.
Iama guardian of freedom andthe American wayoflife.
I am an American Soldier.
I adapted it, similar to updating the quote from full metal Jacket Why CRM Developers should always start with the CRM SDK
CRM Developers creed (Hosk Version)
I am a CRM Developer.
I am a coder and a member of a team.
I serve the people of the Dynamics CRM Community.
I will always place the project first.
I will never accept defeat.
I will never quit.
I will never leave a fallen comrade.
I am disciplined, physically and mentally tough, trained and proficient in my code tasks and skills.
I always maintain my code, my computer and myself.
I am an expert and I am a professional.
I stand ready to deploy solutions, engage customers, and destroy the bugs in the code.
Iama guardian of freedom andtheLeisurelywayoflife.
I am a CRM Developer.
Here is an interesting article on the subject Leave no soldier behind – no exceptions
Don’t leave a CRM developer stranded
Leave no man down. You are part of a team, you might not see or talk to your team mates everyday but you are a group and you must work together
Ways to leave your fellow CRM developer stranded
- hard to read code
- poor quality
- lazy bugs
- no comments
- poorly labeled code
- first draft code/no refactoring
- no documentation
CRM developers are a team, your code/customizations will be used by your fellow developers, don’t let them down with first draft code
- Have pride in your work
- Skilled expert
- Enjoy working with your team mates
- If everyone keeps a high standard it works
- Soldiers are highly trained and have pride in their abilities.
- Soldiers have faith in fellow soldiers
When someone is out of the office and they call you for help, help them I will never leave a fallen comrade. Stop what you are doing and bust a gut to find the answer because if you were out on site you would help the team would help you.
Final thoughts
Individual commitment to a group effort – thatis what makes a team work, a company work, a society work, a civilization work. Vince Lombardi
To deliver projects successfullyit takes a team effort, with many individuals working together. Strength of a team of CRM developers comes from each individual working together.
CRM developers might not always work in the same team on the same project by CRM developers team is beyond projects. The code and customizations you create will be used and maintained beyond the life of delivering the project. Code and customizations expand beyond their project and unite CRM developers together. Create code and customizations you are proud of and will be easy for your follow CRM developers to maintain and extend.
Don’t leave a CRM developer stranded.
“Alone we candosolittle, together we candosomuch.” —Helen Keller
This post is my personal opinions and not the views or opinions of my employer :-)
Filed under: Hosk CRM Dev, Hosk Stuff
