Why you need a great team to deliver an IT project

“None of us is as smart as all of us.” –Ken Blanchard

 

We are judged on our individual contribution but most of the time we are contributing in a team, working on a shared goal such as delivering a project.  To make your work life more enjoyable and more successful its worth helping recruit the best people to the team and improve others.

IT Projects are a team game, involving developers, testers, BA’s, business experts (customers), project managers and other roles.  Individually we can go fast but if you  to create something substantial, you need a team.  Teams bring scale and momentum but are the source of problems, most projects fail because of people not technology.

Get good people on your team

Don’t accept poor performance in a team, don’t accept average people, work with the best people you can.  The speed of a team is dictated by it’s slowest performing member, if you put B players on your team then it causes bottlenecks and slows the team.   Average team members have low standards, they don’t take responsibility  and don’t work hard.

Average team members slow down better team members and can frustrate them enough for them to leave the project or the company, life is too short to work with people who don’t care.  Its frustrating to team members who work hard and have to compensate for those who aren’t.

Average members set the benchmark of satisfactory performance.  Your star performers see average performance is acceptable and this leads to everyone coming down to that level.  The minimum requirement for a team member is they work hard, improve and learn from their mistakes.

People who are working hard and improving get better, these people rise to the level of their talented team members.  The difference between average and great is attitude.

I was a scrum master of a team and one developer was not doing a good job.  The developer wasn’t working hard; they didn’t understand the business requirements and would frequently skip steps in the development process.  The developer didn’t integrate with the team or take ownership of tasks.

The developers code often had bugs and would take two or three attempts to fix a bug.   The developer asked other developers for help, slowing them down.   It was frustrating for other team members because the developer hadn’t tried to look up the answer.

This slowed the team down and caused the team and the customer to become frustrated with missed deadlines.  I hoped the developer would get better, but they didn’t.  I discussed the problems and highlight the effect it was having on the team, we looked at bug statistics and missed deadlines.  The effects of having a B player was disruptive, it slowed the team down and frustrated everyone.

Problems don’t resolve themselves, particularly if that problem is a person

Talented people like working with talented people because they teach each other and add value by viewing problems from different perspectives, bringing different solutions.  Talented people work together with ideas, questions, feedback, raising problems and creating solutions which are better than they would create as individuals.

Steve Jobs highlights the importance of A getting the best software engineers.  

Steve Jobs on Average vs Best Software Engineers
“If you go to New York City and get an average taxi cab driver versus the best taxi cab driver, you’ll probably get to your destination with the best taxi driver 30% faster. And an automobile; What’s the difference between the average car and the best? Maybe 20% ?

Now, in software, and it used to be the case in hardware, the difference between the average software developer and the best is 50:1; Maybe even 100:1.

Very few things in life are like this, but what I was lucky enough to spend my life doing, which is software, is like this. So I’ve built a lot of my success on finding these truly gifted people, and not settling for ‘B’ and ‘C’ players, but really going for the ‘A’ players. And I found something… I found that when you get enough ‘A’ players together; when you go through the incredible work to find these ‘A’ players, they really like working with each other.

Because most have never had the chance to do that before. And they dont work with ‘B’ and ‘C’ players, so its self policing. They only want to hire ‘A’ players. So you build these pockets of ‘A’ players and it just propagates.”

What does good look like

Being a team player is vital, to create something substantial you have to work as a team.  Team members need to put the team first, value the other team members and communicate.

When people hear the word communication they think it’s about talking but that is only half of it.  Communication is listening, clarifying, acknowledging and talking.  Team members need to listen, value each member because you build on the  ideas of each team member.

A team solution is like building a tower, each person puts in a brick and each brick builds on top of ones before.  If you don’t listen you are build separate towers and you have to decide which towers to use but it won’t be as big or as strong as a team tower.

Team members need to trust each other because individuals on a team need to

  • Speak up
  • Raise problems before they become problems
  • Give feedback on ideas, solutions, performance
  • Put forward ideas
  • Ask questions
  • Ask for help
  • Have fun

Help them work as a team

It’s not just getting a group of good people together and throwing them onto a project, an effective team is more than the sum of its parts.

Good leadership highlights the problem/goal and asks the team how to do it.  Leadership should support the team, protect the team from distractions and help resolve issues as they arise.  Hire good people and then get out of the way so they can do their job.  You need to trust people and give them responsibility and the opportunity to do a great job.

A team needs to trust each other to collaborate.  The best way to do this is get to know each other, have fun and socialise to build rapport.

Summary

Your individual success is influenced by the team you work with and the achievements of the team.  Anything significant needs a team to deliver it and the most effective way to be successful is work in a good team and help everyone improve.

Try and help bring the best people you can to your team, everything we do in life involves working with people and collaborating to deliver projects.

Set high standards, work hard and be a good team player.  Technology, change management, processes are all tools used by people and teams to deliver solutions.  Work is a team game and the better the people you work with the more success you will have.

Make sure you work with good people if you want to be successful.

Further reading

The Importance of Working With “A” Players

Advertisements

Why people leave their jobs and how to stop them

Incorrect requirements always result in a bad solution

People move jobs regularly, few stay in the same company for longer than 3 years.  What is the cause for moving regularly?

Moving and recruiters

This article says we move jobs every 4 to 5 years but  IT workers move more often due to more contact from LinkedIn and recruiters.  The big winners in people moving are recruitmenters who get paid for a person moving and get paid to replace them, who then replaces someone else in an endless cycle.

Recruitment has changed from people applying to job adverts to most IT professionals being head hunted or being tempted with job offers for more money, improved benefits and better roles.

Most teams don’t make sure their employees are being paid competitive wages, they still operate in the old method of giving people a percentage increase.  The result is in 2 plus years most people’s experience, skills and knowledge is worth more than their current employer is paying them.  This leaves the company vulnerable because if a recruiter sends this person a new role then it could be for more money they are being paid.

IT professionals and software developers have the opportunity to learn new technologies, this experience if in the right technology such as AI, Big Data, Machine learning or the next sort after skill can be worth even more.  The demand for the growing areas of AI, Machine learning means those with those skills get paid a premium whilst more people up-skill in this area.

What makes people move?

A lack of money demotivates and getting more persuades people who move jobs but there comes a point where mone is not the main driver.  Other factors which drive people to move are below

  • Engagement
    • Involvement
    • Feeling valued (listened to)
  • Career progression
  • Money
    • Benefits
  • Culture
    • Values
    • Type of people
    • Behaviours encouraged
    • Work atmosphere
  • People
    • bad colleagues/bosses
    • Good colleagues
  • Work
    • Challenging
    • Interesting
  • Learning
    • Training, improving
    • Getting new skills

Its a mixture of the company providing benefits and individual team within a company having different culture/teams/people and atmosphere.

Why do people move jobs? 

People move to where there is potential to improve their skills and progress their career.  When people are progressing in their careers they are happy because progression leads to challenging roles and payrises.

Research from Salary.com shows that 23% of employees look for a new job every single day.   this article Your Happy Employees Are Still Job Hunting (Infographic) shows some other reasons

  • 10% want a better work life balance
  • 9% want a new boss
  • 5% want flexible scheduling
  • 4% want better benefits
  • 3% want more recognition

Culture, engagement, progression

The focus on recruitment is

  1. Salary
  2. Benefits
  3. Other reasons

This attitude is outdated because IT professions gets regular offers via LinkedIn, they understand their worth and  moving jobs is easy.

A positive culture, engaged employees, training and career progression are reasons for employees to stay.  Without a positive culture, engaged employees there are a fewer reasons for individuals to stay at a company, it makes it easier to move.

Losing staff members is expensive, costs such as

  • Recruitment fees
  • Loss of business knowledge
  • Domino effect of others moving
  • Re-training and getting new members up to speed
  • CV and Interviewing costs
  • Potential project failure

Richard Branson explains the benefit of training your staff with the quote below

“Train people well enough so they can leave, treat them well enough, so they don’t want to”. Richard Branson

Get people involved

Leaders tell the team the problem and then explain the plan.  Telling makes people less interested because it’s not their plan, it’s an order.  Instead explain the direction and problems, ask for ideas.  Companies hire good people, so get out of the way and let them be great.

To get to better ideas you need more people to propose ideas.  Ideas from different people have different perspectives and areas of expertise.  This generates a base to build future solutions from.

Involved people feel valued because they are making a difference, this encourages people to stay.

IT projects are a people business

It’s easy to focus on technology, it’s sexy, new and you can amaze customers.  You can wow with impressive capacity, power, speed and flexibility of cloud solutions (Azure, Dynamics, Power Platform, etc) but this misses the point.

Customers are not interesting in technology, they are interested in having a solution that helps them do their jobs and be successful.  e.g. What are the benefits to the business and users, who cares what technology it’s built on.

Projects are delivered by people working together as a team.  An IT project is a collaboration between the business experts (Customer) and the technical experts (developers, functional consultants, testers, etc).  Its a collaboration to understand the requirements, creating a solution and delivering the solution (which will be wrong and need to change as more detailed requirements are uncovered).

The better the team trusts each other, the more effectively they collaborate and the more fun it is.  Delivering projects successfully makes work enjoyable and keeps people.

Improving

One reasons for moving jobs is career progression.  Life is interesting and challenging when you are learning new skills, you are making progress on your career goals.  People look for jobs when they are stagnating.

Achieving

It’s great to be part of a team with a clear objectives and who a delivering.  When you work on a project and you deliver it to specification and on time, you feel a sense of achievement.

People want their work to matter and feel it makes a difference.

In the article Who Are Your Motivated Workers? 

  • 43% said achievement is a motivator
  • 24% said recognition is a motivator

We want to contribute, achieve and be recognised/praised for our good work.  It  takes effort to praise  people for good work.

Recognition has little long lasting value because it’s soon forgotten, to be effective you need to recognise good work consistently and constantly.  Recognition has to be earnt and you must be specific with your praise otherwise it lacks impact.

People have to hear recognition and you cannot assume they know you appreciate their effort.

A lack of recognition demotivates and drive people away. If someone is doing a good job but not one tells them it leads feeling under appreciated and de-motivation.

The measure of achievement can be company goals, projects delivered or personal achievements.  We might only play a small part but we feel valued.  The quote from Steve Jobs when hiring John Sculley to Apple from Pepsi.

“Do you want to sell sugar water for the rest of your life, or do you want to come with me and change the world?”

Career progression

If you are not progressing you are falling behind.  People need goals and be working towards them.

If you career progress is stagnating, it leads to frustration and looking for new opportunities.

If people don’t enjoy what they are doing they won’t do it well.  The responsibility of doing a job you enjoy and are passionate about is both with the individual and the employer.  The individual needs to think about their job, what parts they enjoy and what they don’t.

One of the most important boosts you can give your career is picking a job you enjoy and one you want to get better at.

Keep moving towards your ideal job and what you like doing, where your strengths are.  You spend 8 hours a day at work, a third of your life, so pick something you are interested in.

If you don’t enjoy your job you will never excel at it or progress because you cannot fake enthusiasm or passion.  Everyone works in work but to progress you need to improve yourself outside of work and make the most of your time in work (learning, networking, experiences, skills).

Engagement

For people to be engaged they need to be included.  When people are told what to do they start to turn off but when you give them a problem and ask them to solve it, they get involved.

If you hire good people then let them contribute you

Leaders make a big difference in employee engagement, this article What Great managers do daily quote a Gallup study

a Gallup study found that at least 70% of the variance in employee engagement scores is driven by who the boss is. This is disconcerting because the same research found that about 70% of people in management roles are not well equipped for the job.

Have more fun

Work is important but that doesn’t mean you have to be serious.  You can do the job, deliver projects and have fun. Incorporate fun into the project, get to know others on the team and deliver.

Life is short, so enjoy as much of it as you can.

Final thought

Be engaged, get involved, praise others and you will be successful

Further reading

4 reasons talented employees don’t reach their potential

 

Hosk’s recommended Dynamics 365/Power Platform and other articles May 2019

 

Quotes

When the pressure is on you don’t rise to the occasion, you fall to your highest level of preparation – Chris Voss

Articles of the Month

awesome-1

Great resource below showing all the new certifications and resources to study

Great Dynamics 365/Power Platform articles this month

Programming/Scrum

Other/Business/Leadership/Management

The Hosk – currently reading

The Hosk – last 5 recommendations

Selected  HoskWisdom

  • There is nothing sexy about underwear when you are hanging it on the washing line
  • Don’t respond to anger with shouting, be silent and confuse them
  • Imagination exhausts itself with the endless possibilities of code
  • When a project isn’t working, you have to stop playing the game
  • Writing good code is like being sexy, if you have tell people you are, you aren’t
  • Code is as complex as you make it
  • Clothes matter, naked developers have little or no influence on projects
  • Good developers bring joy when they join a project; bad developers bring joy when they leave a project
  • Coding is mastered through relentless commitment to the fundamentals
  • When you approach the end of a project, you finally see the requirements and solution as they really are. If only we understood that at the start
  • no project plan survives contact with delivery
  • Customers are a welcome thorn in a developers side
  • You must have chaos within you to be able to dad dance
  • It’s not the skills of the people on team but how will they work together that makes the biggest difference
  • Earn confidence by being good at what you do
  • Everyone wants to be heard but no one wants to listen
  • If you only learn in work, prepare to be average

Last months Monthly articles

Last months recommended monthly articles

Hosk’s CRM Developer Articles

A collection of my favorite CRM Developer articles I have written

Study guide for MB-230 Dynamics 365 for customer engagement for Customer Service

“Press forward. Do not stop, do not linger in your journey, but strive for the mark set before you.” —George Whitefield

You cannot pass the MB-230 Customer service exam without studying.  Having worked with Case management will help but you will still need to study to learn some of the features and functionality you haven’t used in a project.

I recently passed the Exam MB-230: Microsoft Dynamics 365 for Customer Service (beta) and I am sharing the resources I used and some of the notes I made.

Study materials

The best study material is looking at the areas you are going to be tested on Exam MB-230: Microsoft Dynamics 365 for Customer Service (beta) creating a trial and try the functionality, you get practical skills to accompany your theoretical knowledge (e.g. you can use it)

Good 8 hour Open eDX course – MB-230.1 Self-paced , this course has learning material and practical tests. It covers all the key areas of the certification.

The Customer service certification is similar to the previous certification MB2-718, so Neil Parkhurst’s study guide will still help (ignore Field Service content).

MB2-718 Certification: (Microsoft Dynamics 365 for Customer Service) – Revision Guide

Hosk Study notes

The notes are not extensive because I gave up making notes and concentrating on revising because I had to the exam before 31st April :-), so you need to use the materials above and use these notes for a refresher before you take the exam

Entities

  • Customer record – this can be either an account or contact
  • Case – schema name is incident.  The is the case, CSR, incident.  They can be linked
  • Resolution Activities – an activity created to hold the resolution reason
  • Entitlements – how much support a customer can have e.g. number of cases, time etc
  • Entitlement channels – type of service e.g. phone
  • SLA – service level agreement
  • SLA can be linked to entitlement
  • Goals – can track progress of individuals
  • Schedule module – allows you find and schedule resources

Case Management

  • Cases can be known as service, ticket, case, CSR, incident
  • Contracts have been replaced by entitlements
  • Contracts are still on the case form for backwards compatibility
  • Cases case be associated with
    • Knowledge base articles
    • Subjects
    • Products
    • Entitlements
    • Activities (emails, tasks, phonecalls)

Case actions

  • New Case
  • Resolve Case
  • Cancel case
  • Save and Route
  • Create Child Case
  • Add to queue
  • Assign
  • Do not decrements entitlements
  • Run reports

Case Search

  • Case fields search = Case number, Case Title (you can add more find fields)
  • Search options = string, wildcard *, partial value
  • Global search/relevance searches multiple entities
  • https://docs.microsoft.com/en-us/dynamics365/customer-engagement/basics/relevance-search-results
  • Relevance is disabled by default
  • relevance search must be enabled (in System Settings à general)
  • relevance search is done using Azure and copying data to Azure (this is why it must be enabled and you agree to hosting data in Azure)
  • Enabling Relevance Search allows all users in the organization to use it.
  • Relevance search is text-based, and can search only on fields of type Single Line of Text, Multiple Lines of Text, Option Sets, or Lookups. It doesn’t support searching in fields of Numeric or Date data type.
  • relevance search isn’t available in On Premise only Dynamics 365 online
  • user can set the default search experience in their personal options
  • Use views to view  active, resolved and personal for predefined filter
  • Views can apply filters on fields

Convert activities

  • Press the convert to on an activity to convert an activity into a case.
  • Convert to case allows you to specify
    • Customer
    • Subject
    • Case open/closed
    • Change the task status to completed
  • Origin will be automated selected
  • The activity will be automated linked to the case

Resolving cases

  • Cases cannot be resolved until all activities are completed
  • Deleting a case removes all activities, notes and attachments linked to the case
  • Cancelling the case leaves the case and activities for reactivation
  • If you resolve a case with open activities, it will cancel those activities
  • Queues are used to group or catorgorise cases (e.g. high priority/low priority)
  • Reactivate a case instead of opening a new case for the same issue
  • When resolving a case , the resolution activity form pops up
  • You cannot edit the resolution activity form
  • It will create a new resolution activity for a case
  • total time comes from the total time in activities
  • Total is not editable
  • Billiable time is mandatory and editable
  • When a case is reactivated the case becomes editable
  • The previous resolution activity will be cancelled

Case Routing Rules

  • You can view routing rules ran in System jobs
  • One active routing rule at one time
  • If a second rule is activated the first one will be deactivated
  • Routing rules have conditions – If, then statements
  • You route to a queue or assigned to a user or team
  • After making a rule, you have to activate it
  • Case routing rules can be applied in bulk from a view
  • Case routing can be applied to a case with Save and route button
  • One Routing Rule set can have many rule item

Record Creation and Update Rules

  • Automatic creation and update rules can automatically create records
  • Only one creation rule can be active, if you active a rule it will deactivate other rules
  • Source type cannot be changed once selected and saved
  • Workflows run to create records as necessary
  • One rule per source type e.g. email, phonecall ,task, social activity, service activity, appointment
  • If you choose different source type you get different

Parent/Child Cases

  • Case closure settings à settings à service management – Parent child case settings
  • Select attributes which will be inherited from parent to child case
  • Closure preference
    • BLANK – Parent/child cases are closed independently
    • Close all child cases when parent case is closed
    • Don’t allow parent case closure until all child cases are closed
  • View – Active Cases with Parent Child Status
  • Create Child case button on case
  • You can see child cases on case relationship section à Child Cases
  • On a list view of cases the button Associate Child Cases allows you to link multiple child cases

Merge cases

  • Multiple cases created, merge into one
  • Merging a case, combines related activities and cancels other cases
  • Merging cases will leave only one case
  • You can merge up to 10 cases at one time
  • Child cases become children of the merged case
  • The status of a merged cases is Merged
  • You can only merge a child case into another child case if they share the same parent case
  • You can see merged cases in Case relationships a Merged cases

 

Good luck

Hosk’s recommended Dynamics 365 and other articles April 2019

Quotes

Not all problems have a technological answer, but when they do, that is the more lasting solution. Andy Grove

The bug that stands in the way becomes the way

Articles of the Month

awesome-1

Great Dynamics 365 articles this month

Programming/Scrum

Other/Business/Leadership/Management

The Hosk – currently reading

The Hosk – last 5 recommendations

Selected  HoskWisdom

Last months Monthly articles

Last months recommended monthly articles

Hosk’s CRM Developer Articles

A collection of my favorite CRM Developer articles I have written

The prepared developer writes better code

There are no secrets to success. It is the result of preparation, hard work, and learning from failure. Colin Powell

Look beyond today and plan tomorrow #HoskWisdom

Many developers believe writing code is the most important part of development but you can’t create good code without being prepared.  Preparation, planning and understanding requirements helps find problems in solution design and before you create code.

Lack of preparation results in stuttering development, slowed by bugs, missing requirements, technical debt and late delivery.

While persuading my son of the benefits of getting to football early (more practice, more play with his friends and more football), I said the early bird catches the worm; he said the early footballer catches the ball, but what does the early developer catch?

The early developer catches the bug

Replace early with prepared and getting clarity before you code.

Doing things last minute.com, winging it and making it up as you go creates half.  You might disagree, thinking about the time you winged it and it worked but what about the times you were unprepared, usually it results in lower quality work which took longer.

The result of a bad decision can work once but constant bad decisions don’t work in the long term.

Quote from Bill Walsh on being prepared.

“Hearing someone described as being able to “Fly by the seat of his pants” always suggests to me a leader who hasn’t prepared properly and whose pants may soon fall down.” Bill Walsh

Being prepared makes the most of a situation and you can prepare for other outcomes.

If you know the goal, you can get there in the most direct way.

Meetings

A bad meeting has no agenda, too many people, not the right people, not the right materials. The result is a boring, frustrating and ineffectual meeting which takes longer.  A common goal of meetings is to decide but you need information, options, evaluate before you can decide.

A good meeting has an agenda, it allows attendees to be prepared and focused on the topic, it has decision makers and only the people needed.  creating an agenda, preparing material and only inviting key people takes preparation, but it maximises the time of the people invited.

The focus is on the goal and the purpose. The meeting runs to a schedule. The meeting is followed up with a summary, actions, owners and deadlines.

Coding

Bad
A Developer gets a user story, hasn’t read it before, doesn’t understand the business needs or the purpose behind the requirement. Skims the story, jumps to the acceptance criteria and codes.

Result
Developer finds the story is in complete, acceptance criteria missing, has to ask questions, who asks the business, developer waits, he can’t start anything new because he is halfway through. Gets more requirements, repeats the cycle as they get into the details. Developer codes the rest of the story.

The code is built on a changing design. No coherent structure. Duplicate code used because developer hasn’t prepared or designed the code.  Creates new code in an inconsistent style and standards, this gets rejected at code review and he has to fix, developer frustrated.  The developer has looked at the code base to see what’s there, hasn’t read the standards document.

Developer told to write unit tests.  Tester finds bugs, goes back to the developer.  Users test and find it doesn’t do everything they need and find bugs. Code squeezed in to fix bugs making it harder to understand, maintain and extend.

Good example
Developer reads documentation and understand what the business is trying to do, the purpose of the business and the functionality. Developer reads requirements, asks the tester to make sure the requirements are testable. Questions get raised with business, fuller requirements.

The requirements are understood and the technical design is created and discussed before development starts.

The Developer understands code base, structure and what is there. Designs solution using existing code to avoid duplication and improve consistency.  The developer writes unit tests agaisn’t requirements.  The developer considers not only the happy path but tests exceptions, errors and other paths through the code.

The earlier you find problems the smaller the feedback loop and the quicker you can fix it.  The path you want to follow is fixing problems as near to the source as possible, the fewer people and environments you find the problem quicker the bugs are found and fixed.

Testers will find bugs, the developer will take these bugs and create unit tests to fix the bug and then code it.

Conclusion

Lack of preparation shows in execution.  Preparation allows you to get the right information, consider other options and think about the situation.  An example is presenting, if you prepare and practice it, you deliver a better performance, you can concentrate on the delivery not just the content and make a bigger impact.

For Developers the writing of code is one part of the solution, being prepared saves times and create a higher quality code base with less technical debt.

If you look ahead for bumps in the road you can avoid them

Hosk’s recommended Dynamics 365 and other articles January 2019

Quotes

“New ideas emerge when you question the assumptions upon which a problem is based”   Shane Snow

if you can’t stand the heat of development, step away from the keyboard

When Hosk is the answer, your problems are much worse than you first thought

Articles of the Month

awesome-1

Great Dynamics 365 articles this month

Programming/Scrum

Other/Business/Leadership/Management

The Hosk – currently reading

The Hosk – last 5 recommendations

Selected  HoskWisdom

  • At a high level all projects seem easy, it’s when you get into the details you find its infinitely more complex
  • Code you are proud of today, you will be ashamed of tomorrow.
  • When you see water flowing up hill, a developer has just written code with no bugs in
  • Many project managers are uncomfortable with doing nothing and letting people do thier jobs, they prefer to disrupt, question, prioritize, reorganise, confuse and slow down the project
  • Love is a simple line of code
  • You’re only as good as the code you create
  • Every decision should move you in the right direction
  • It’s better to know your enemy than be wondering where they are and who they are
  • If you think small, you act shall and you stay small
  • When Hosk is the answer, your problems are much worse than you first thought
  • Don’t fear the actions of others, fear your own impatience, mistakes and ego
  • Changing people on a project is a great way to create the illusion of progress
  • You control the decision, not the outcome
  • A persons past reveals their future
  • Learn today for a better tomorrow

Last months Monthly articles

Last months recommended monthly articles

Hosk’s CRM Developer Articles

A collection of my favorite CRM Developer articles I have written