Disclaimer: What's described below is purely based on personal experience. This may or may not work for you. You take complete responsibility for the consequences, positive or negative, that may result from implementing any of these ideas. This is mostly intended for certain types of geeks; so if it does not apply to you or, worse, offends you please remember this is not intentional. Whew!
Anyone who has ever met me would attest to the fact that I am a very logical person. This clearly does not lend itself to highly romantic ideas like "love at first sight". What if, metaphorically speaking, you are dealing with glaucoma or some other type of eye disorder that impacts your sight, thereby forever prohibiting your ability to experience love at first sight? See, I told you I am not the romantic type.
If you are like me, then you can use Software Development Life Cycle (SDLC) principles to guide you! I know what you are thinking, but let me draw the comparison:
Phase 1 -- Requirement Gathering and Analysis
If you are a software engineer, you will understand why this is the most critical phase. Before you go looking for a partner, you should seriously consider making a list of your key requirements. For example, if you are an urban hipster, the probability of you having a happy relationship with a tea-party activist is quite low, as this will jeopardize your "interoperability" criteria. The ability to successfully exchange information and to be understood is vital for more than just software applications.
Now extrapolate these ideas to include other requirements like reliability, fault tolerance, etc. You should note that while some attributes should ideally mimic your values, like politics and religion, others should be complementary. For example, let's say you get upset easily (this is a bug, not a feature), then you will be better off with someone whose tolerance level is higher than yours.
Consider sorting your requirements into critical (non-negotiable) and nice-to-have ones. This way, if you can't have it all (and you never will), you know what you are willing to give up.
Phase 2 -- Design
Now that you have your requirements in place, you have to figure out your design options. Do you want to meet people through dating sites or through more traditional methods? Are you a Tinder type of person, or more like the e-harmony kind? Each option provides its own conventions, constraints and opportunities. You need to be considerate of all these variables before you make your decision.
Once you have done that, then you can delve into the low-level design. Let's say you decided to create a profile on OKCupid, you should now do things like select your profile picture (don't post pictures that were taken 10 years ago; as they may have features that are no longer applicable), profile content (what aspects would you like to highlight), content style, number of questions you are willing to answer, etc. As with software design, it's always good to do peer review; once you have a prototype profile, ask your friends to provide feedback.
Phase 3 -- Development/Implementation
The objective behind this phase is to implement the design successfully. If you are not yielding the intended results, then check your design strategy. If you are a hard-core atheist, then going to a friend's Hanukah party is not the best way to meet your potential partner (although Mardi Gras parties can be fun!). Also, check your requirements; perhaps they are unrealistic. You know, when a client wants you to build a Bugatti, but all they can really afford is a Honda Civic? Yeah, don't be that person!
Let's say, your efforts are successful and you are now meeting interesting people. Don't get carried away, always keep your requirements in the forefront. OKCupid has something called match %. The algorithm does a good job of assessing your compatibility, especially between people who have answered a lot of questions. You may not want to waste time going out with someone whose match % is really low.
However if you are using something like Tinder, then you have your work cut out for you. It's not optimal to ask and assess responses to hundreds of questions in-person. At the very least, it's time consuming. On the other hand, if looks are your key requirement, then Tinder might be more efficient.
Phase 4 -- Testing
You can interpret testing in several ways here. In my personal life, after several months of spending time together with my boyfriend (now my husband), we decided to perform "stress testing". The plan was simple, he would move in with me for a month and we would pretend we were roommates or a couple who have lived together for decades. The key here was that we would not do anything out of the ordinary just to impress the other person.
I intentionally threw things around, played loud music, went out with my friends, and pretty much did everything that I would normally do. I don't wear makeup or do funky things with my hair. However if you do, then test your relationship without these extra efforts. If you are afraid that your partner might lose interest if you don't look perfect all the time, since that is not a relationship that you want to be in. Depending on your circumstances, you may need additional testing. As an example, we don't have kids, but if you do then consider integration testing. If your circumstances have changed, then include a round of regression testing!
Phase 5 -- Deployment
At the end of phase 4, if you and your partner are both completely happy with the test results, then move to the deployment phase. In our case, this meant him moving in with me permanently. In the off-chance that the test results are unsuccessful, you should decide if you want to go back, tweak things and try again or deploy the exit strategy.
P.S. I intentionally skipped "Phase 6 -- Maintenance" since it's a topic in its own right and goes beyond the scope of this post.