The following is my list of ports and protocols for SharePoint communications between servers based on my experience. Many are optional and rely on how your network is set up. The items can be configured with custom ports.
WFE = Web Front End
APP = App server
Search = Search server
UP = User Profile
AD DS = Active Directory Domain Service
BDC = Business Data Connectivity
Sorry for the image... it was difficult to fit the table on this page, so an image was the best choice I had to be compatible across devices.
Reference:
https://technet.microsoft.com/en-us/library/cc262849.aspx
Friday, October 23, 2015
Wednesday, October 14, 2015
Being a Woman in a Leadership Role
This article is part of a series. You can start at the beginning: Leading Development Teams on Large Projects.
Although this article is about being a woman in a leadership role, I firmly believe that these qualities are essential for any good leader and that you can remove gender from them. I just think there are certain areas that are stronger for a woman and stronger for a man. So the areas we are not as strong in, we just have to hone in on those and build up those skills and then eventually, we all end up on level ground.
Decision Making
There’s this stereotype of women – we can’t make up our
minds. We want the couch on the left, no, the right, maybe if we turn it
sideways, no, turn it the other way. Oh, let’s just paint the room a whole different
color and maybe that will make the couch work. Yeah, I admit. I’m guilty of
that with one exception: I’m not like that at work. This is something I’ve had
to work hard at. The ability to make decisions and stick with them is important
when you’re in a leadership role. This very important skill can single-handedly
diminish all your good intentions as a leader if not done well.
Be Yourself
It sounds simple, but in actuality, we all tend to wear
masks when we are at work, school, parties, etc. Think Carl
Jung’s Persona mask here. “Because of his more or less complete
identification with the attitude of the moment, he deceives others, and often
himself, as to his real character. He puts on a mask, which he knows is in
keeping with his conscious intentions, while it meets the requirements and fits
the opinions of society, first one motive and then the other gaining the upper
hand. “[1]
Although this article is about being a woman in a leadership role, I firmly believe that these qualities are essential for any good leader and that you can remove gender from them. I just think there are certain areas that are stronger for a woman and stronger for a man. So the areas we are not as strong in, we just have to hone in on those and build up those skills and then eventually, we all end up on level ground.
There are three areas I want to talk about in this article:
1.
Communication
2.
Decision Making
3.
Be Yourself
Communication
I touched a little on this in the last article, Resolve Team
Issues Quickly. A woman’s approach to leadership is slightly different than a
man’s. I think most women are in touch with their feelings or at least try to
be. We always want to talk things out. It’s in our nature and how we were
raised. I think this quality helps in leadership because it helps to get
everyone talking – communicating, which seems to be the number one issue that comes
up as a problem in IT amongst employees. Don’t get me wrong, I think men are
capable of this too, but I think if a man wants to be a good leader, he will
probably need to work a little harder fostering good communication skills.
Decision Making
There’s this stereotype of women – we can’t make up our
minds. We want the couch on the left, no, the right, maybe if we turn it
sideways, no, turn it the other way. Oh, let’s just paint the room a whole different
color and maybe that will make the couch work. Yeah, I admit. I’m guilty of
that with one exception: I’m not like that at work. This is something I’ve had
to work hard at. The ability to make decisions and stick with them is important
when you’re in a leadership role. This very important skill can single-handedly
diminish all your good intentions as a leader if not done well.
When it comes to making a decision, I first listen to all my
teammate’s points of views and their supporting evidence as to why they think
it is the best solution. We meet as a group and I listen to each of the
suggestions individually and fully. The whole team hears the arguments. A lot
of times the team has differing opinions. So it’s up to me to make the final
decision. When I make my decision, I center on what is best for the company and
our customers first. Then I consider how well will this idea work for long-term
maintenance by other developers or architecture-wise as a system. My
responsibility as a leader is to be thinking about the big picture. Then I make
the decision based on that. I explain to my team why I’ve made that decision. I
know that some people may say you don’t need to explain your decisions, but I’m
a member of the same team. I feel it’s important to communicate the reasoning
behind your decisions. This way, you get your team’s support and understanding,
while at the same time you teach them how to make important business decisions
if they ever get into a leadership position.
The hardest part is not to waver after the decision is made.
To become uncertain in yourself, shows weakness in leadership and to a team
that’s full of men, that can lead to a mutiny of sorts – a slow takeover by someone
who is strong-minded, but ultimately not the leader. You are the leader for a
reason, stand behind your decisions and trust in your ability. Actually, this
is true for men too. If you reverse the situation, say instead you have a man
leading a team of women. The result will be the same. The women will take the
man down at any sign of weakness. The ultimate message is to believe in
yourself and stand behind your decisions, no matter your gender.
What about wrong decisions? Sometimes that happens. It’s
happened to me before. Your approach just didn’t work out. Admit to the team
that the approach didn’t work based on factual reasons. Demonstrate where the
decision went wrong. Then, have the answer to what has to happen next. How can
we turn it around and make it work? Have the answer in hand already and you
will still be considered a good leader. If you can’t think of the answer,
consult with your teammates and brainstorm solutions. Then rinse, lather, and
repeat the decision making process I outlined above. Remember through the process, it’s a
learning opportunity, for you and the team, and you will all make better
decisions in the future as a result.
I find that sometimes people new to my team will be doubtful
of my abilities, but my ability to make good decisions and use facts to support
them usually ends up in turning their opinions around. I’ve heard before that
if you’re a man, you don’t have to prove yourself with facts, but I don’t find
that to be true in my experience. I think all good leaders have supporting
evidence and reasoning to back up their good decisions. If you want to get
ahead genuinely, you have to know your stuff whether you’re a man or a woman.
Be Yourself
It sounds simple, but in actuality, we all tend to wear
masks when we are at work, school, parties, etc. Think Carl
Jung’s Persona mask here. “Because of his more or less complete
identification with the attitude of the moment, he deceives others, and often
himself, as to his real character. He puts on a mask, which he knows is in
keeping with his conscious intentions, while it meets the requirements and fits
the opinions of society, first one motive and then the other gaining the upper
hand. “[1]
To be fully satisfied in your accomplishments as a leader,
you have to do them as yourself with your own beliefs, conscience, and values. My
personality is gentle. I am not a harsh, demanding person. I don’t draw hard lines.
I am generally happy, kind, and I have a good sense of humor that I use to my
advantage. I like to put my team at ease and build a friendly rapport amongst the team. When I work with other teams, I try to understand their point of
view. They probably are just as busy as me with just as many obstacles. My
approach is very different than a man’s approach to leadership, but it works
for me and that is my point. I try to let myself shine through. Consequently,
my gentle approach leads to a lot of support by my team members and other
teams. They trust that I only have good intentions. I treat everyone as equals
and they treat me as an equal too. I can be a woman with my woman ways (in
other words, I don’t have to act like a man) and my peers respect me for who I
am.
I used to work for a company that didn’t put women in leadership roles, and I truly felt jilted as I saw men promoted above me that weren’t as knowledgeable or didn’t work as hard. But then I realized the truth – I don’t owe that company for any of my accomplishments. I am in control in this situation. There are many other companies that promote a person for their abilities, whether that person is a man or a woman, and all that is left is to seek them out.
I used to work for a company that didn’t put women in leadership roles, and I truly felt jilted as I saw men promoted above me that weren’t as knowledgeable or didn’t work as hard. But then I realized the truth – I don’t owe that company for any of my accomplishments. I am in control in this situation. There are many other companies that promote a person for their abilities, whether that person is a man or a woman, and all that is left is to seek them out.
< Go back to Resolve Team Issues Quickly
[1] The Basic Writings of C.G. Jung as translated by
R.F.C. Hull. © 1990 by Princeton University Press.
Tuesday, October 13, 2015
Resolve Team Issues Quickly
When your team is first coming together on a project, issues between team members may begin to surface. Not everyone codes the same
or has the same values or thought processes. Sometimes things can get heated
between team members. As the Team Lead,
you’ll want to nip these issues in the bud as quickly as possible because if
you ignore them, they will fester and completely obliterate any good intentions
the team has/had. How well your project turns out is a direct reflection on how
well you built your team. You absolutely can’t build a successful project if
your team can’t work well together.
If there are problems between team members, talk to them
individually first and find out what the problems are. Usually when I do this,
knowing both sides, I realize there is miscommunication going on. Maybe it’s
because I’m a girl and I have an easier time communicating my feelings that I
can discern this miscommunication. My next step is to bring everyone in the
room together. First, I say what one person’s issue is, then I say what the
other person’s issue is. Finally, I point out where the miscommunication I
observed is. I do not beat around the bush at all. I think women have a
tendency to try not to hurt anyone’s feelings, but men are not like this. They
say straight up what’s going on, get it off their chest, then punch each other
in the arm and go have a beer together. Well, maybe it’s not exactly like that,
but my point is not to be too touchy feely here. Be direct, be honest. I like
to ask the troubled parties what their ideas are to resolve the problem and if
they have none, I come prepared with my own ideas and ask if those will
suffice. Sometimes, they just need a few ideas to springboard their own
resolutions.
At many companies, contractors are hired to supplement teams
on projects. I interview my contractors before bringing them on, because if the
contractor is the bad apple, the whole team gets spoiled. I trust they have the
skillset the vendor says and when I interview them I focus on their
personality, sense of humor, and thought processes to ensure they will fit on
my team. As soon as they become part of my team, they are “one of us” and it’s
up to all of us to deliver a rock-solid project. If issues arise between a
contractor and another team member, I follow the same process as above. I treat
everyone as an equal team member.
So what about issues that can’t be resolved? Occasionally, there
are just team members that don’t play well together. I have a
three-strikes-and-you’re-out rule. I will try three times to resolve issues
between team members. On the third time, I’ll explain that this is the last
chance we have to resolve the conflict. I’ll explain directly and clearly what
the consequences are if the issue cannot be resolved. For example, maybe a team
member gets removed from a project or depending on the issue, written up. Or in
the case of a contracted employee, he gets removed from the company and
replaced with a different contractor. I make sure everyone knows exactly what
will happen if this final try at resolution doesn’t work so that way it’s no
surprise when the consequences come.
< Go back to Assign a "Number 1"
Monday, October 12, 2015
Assign a "Number 1"
This article is part of a series. You can start at the beginning: Leading Development Teams on Large Projects.
In Star Trek: The Next Generation, Captain Picard is head of the ship. He makes all the important decisions, but he can’t be on duty 24x7. That’s where Commander Riker, aka Number 1, comes into play. He is second in command. Both the Captain and crew equally respect and trust his ability to lead in the event Captain Picard is unable to. The same is true in development teams. I lead multiple projects simultaneously. I can’t always be available to all my teams. I do like to take vacations once in a while! For each project team, I assign a “Number 1” – a person the team can trust to lead when I’m not available. If the same team members are on numerous projects, I pick a different “Number 1” for each project. In this way, I can mentor my team members and help them grow their leadership qualities and empower them to move ahead in their career. I keep the person informed of everything I can so he can take over and make informed decisions when necessary. I don’t always tell the entire team everything that happens behind the scenes. There is often a lot of drama and politics that aren’t conducive to productivity so I usually keep that stuff to myself. However, I may share it with my “Number 1” so that if he gets the opportunity to lead in the future, he is not blind-sided by these unavoidable annoyances. I’ll also keep him informed of architectural decisions that may be beyond his skillset. This enables me to teach new skills to my team member and, again, help him grow.
In Star Trek: The Next Generation, Captain Picard is head of the ship. He makes all the important decisions, but he can’t be on duty 24x7. That’s where Commander Riker, aka Number 1, comes into play. He is second in command. Both the Captain and crew equally respect and trust his ability to lead in the event Captain Picard is unable to. The same is true in development teams. I lead multiple projects simultaneously. I can’t always be available to all my teams. I do like to take vacations once in a while! For each project team, I assign a “Number 1” – a person the team can trust to lead when I’m not available. If the same team members are on numerous projects, I pick a different “Number 1” for each project. In this way, I can mentor my team members and help them grow their leadership qualities and empower them to move ahead in their career. I keep the person informed of everything I can so he can take over and make informed decisions when necessary. I don’t always tell the entire team everything that happens behind the scenes. There is often a lot of drama and politics that aren’t conducive to productivity so I usually keep that stuff to myself. However, I may share it with my “Number 1” so that if he gets the opportunity to lead in the future, he is not blind-sided by these unavoidable annoyances. I’ll also keep him informed of architectural decisions that may be beyond his skillset. This enables me to teach new skills to my team member and, again, help him grow.
I usually consult with the person before I announce his “Number
1” position to the team because not everyone wants to be in that position. If a
person is resistant, I will point out specific qualities I think he has that
will make their leadership experience successful. This shows him I know his
abilities and that I have confidence in him. He, in turn, gains confidence in himself.
If he still doesn’t want the position, I won’t pressure him, but I will
approach him again on future projects.
I believe leading a project gives a person valuable insight
to being a good team player and consequently builds stronger teams. It also helps
to further the person’s career by growing skillset and challenging him to learn
more which results in happiness, satisfaction, and a sense of purpose. The
result for me as the Project Lead is that my team trusts my ability to make
decisions and to support their needs as individuals. Plus, they become my
champions to my boss which helps me to further my career at the same time. It’s
a win-win situation. This is why I try to give everyone a chance to lead.
< Go back to 15-Minute Daily Stand-Up Meeting.
Go to Resolve Team Issues Quickly >
Sunday, October 11, 2015
15-Minute Daily Stand-Up Meeting
This article is part of a series. You can start at the beginning: Leading Development Teams on Large Projects.
At my company, we gravitate towards the waterfall development methodology though we do adopt some agile practices. For example, I hold daily stand-up meetings that last only 15 minutes. Sometimes I will hold these meetings over instant message if any team members are working from home, but I always have them. The daily meeting is the most important way to keep everyone informed, hold the team together, and keep progress moving forward. There are three questions I ask each team member at every meeting:
Asking these questions quickly tells me the status of the project, how far along we are. It also tells me if someone is not working on anything and can help another team member out or if I can assign that person a new task. Finally, it tells me if anyone is having problems meeting their goals. As the team lead, this is where I need to step in and find ways to clear any obstacles so the project can move ahead and with the daily meeting, I know the issues as soon as possible. Building trust with your team is largely based on how you perform at removing obstacles, so it is best to act quickly on these items.
At my company, we gravitate towards the waterfall development methodology though we do adopt some agile practices. For example, I hold daily stand-up meetings that last only 15 minutes. Sometimes I will hold these meetings over instant message if any team members are working from home, but I always have them. The daily meeting is the most important way to keep everyone informed, hold the team together, and keep progress moving forward. There are three questions I ask each team member at every meeting:
1.
What did you work on yesterday?
2.
What do you plan to work on today?
3.
Do you have any blocking items?
Asking these questions quickly tells me the status of the project, how far along we are. It also tells me if someone is not working on anything and can help another team member out or if I can assign that person a new task. Finally, it tells me if anyone is having problems meeting their goals. As the team lead, this is where I need to step in and find ways to clear any obstacles so the project can move ahead and with the daily meeting, I know the issues as soon as possible. Building trust with your team is largely based on how you perform at removing obstacles, so it is best to act quickly on these items.
Another benefit of this daily meeting is that I can keep the
team informed of any important decisions, directions, or changes on the project.
Sometimes during long-running projects, upper management or business owners
forget what the original goals were, so part of my job as team lead involves continuously
reminding management and business owner what the project goals are and the
progress the team has made. Sometimes, that’s not enough though and the
direction gets changed anyway. The daily meeting enables me to quickly
communicate and negate any rumors the team might have heard.
< Go back to Leading Large Teams on Development Projects
Go to Assign a "Number 1" >
Leading Development Teams on Large Projects
At my company, I am the Lead Software Engineer. In addition
to leading my team as a whole, I also lead multiple smaller teams broken out by
projects. The projects that we are working on right now are very large. One
project is running into its second year. The challenge with running large
projects is how to keep everyone on track while keeping them motivated to
charge ahead. Through this series of articles, I’ll discuss three tools to help
successfully lead a development team on large projects with the result that teams bond together and continue to deliver solid software:
Finally, I’ll talk a little about being a woman in aleadership role and the challenges it presents. Know, though, that these
tips are for anyone, not just women. Good leadership goes beyond gender, but I
do think it takes a little effort to help others believe that too sometimes.
I started writing this article with the intention of keeping
it all together for one post, but quickly realized there was a lot to say. Therefore,
I broke up this article into smaller bite-sized pieces and will release them
over the next few days so that it’s easier to stay focused.
Start with the first article, the 15-Minute Daily Stand-UpMeeting.
Thursday, October 1, 2015
Button Won't Postback with IOS 9
I had a problem today where an application with an older code base, ASP.NET 2.0 had compatibility issues in Safari 9. The application was a login application and with the release of Apple's IOS9, the submit button wouldn't postback. Therefore, no users with Apple devices with the new IOS could login.
The key to getting the button to activate was adding a configuration setting to the web.config file to allow the Apple Web Kit version 601:
The key to getting the button to activate was adding a configuration setting to the web.config file to allow the Apple Web Kit version 601:
<system.web> ... <browserCaps> <filter> <case match="AppleWebKit/601"> EcmaScriptVersion = 1.5 supportsCallback = true </case> </filter> </browserCaps> ... </system.web>After adding this setting, the button works on IOS9 with Safari 9 and users could login again. You can continue to add cases for additional web kits as needed.
Subscribe to:
Posts (Atom)