Things I like – Bitvise Tunnelier

Folks who run their websites on dedicated servers are familiar with SSH as a way to securely connect to their server from any location. A less well-known aspect of SSH is built-in support for tunneling – which can be simply explained as “built-in proxy server”. As the article I’ve linked to in the previous sentence succintly puts it tunneling “is a way to forward otherwise insecure TCP traffic through SSH”.

If you have ever been nervous about using public Wi-Fi for anything other than checking the news, you should definitely look at SSH tunneling. I use SSH tunneling to access websites that run on high port numbers (CPanel, HyperVM etc.) through my corporate firewall that only permits basic HTTP traffic otherwise.

On the Windows side, PuTTy is the most popular SSH client – being freeware and extremely light on memory and disk space are huge pluses. That said, I’ve found PuTTy to be rather lacking in tunneling support – 1) the application tends to buckle under several simultaneous connections and 2) it lacks any sort of built reconnection support, which is a basic requirement for proxying.

A little bit of searching around lead me to BitVise Tunnelier – a free for personal use SSH client that offers superb tunneling support. It also has a couple of other nifty touches that I like, but let me start off with the basic login window:

bitvise-main

This is the second clue that tunneling is a big part of this program (the name being the first clue ;-) ) – a log window of all active connections and traffic going through the application. Most of the other features in this window are available in PuTTy as well, but it’s definitely presented in a more accessible way in Tunnelier.

Let’s take a look at how to setup proxying in Tunnelier:

bitvise-proxy

Ah, this is so much better than PuTTy’s cryptic “dynamic” port setting. Not much else to talk about here, so let’s move onto Tunnelier’s screen for setting up port-forwarding.

Before we get there, it’s worth noting that port-forwarding really is some technological black-magic and most explanations have left me pretty confused, so here’s my stab at clearing up what Port Forwarding is – through SSH magic, Port Forwarding allows you to connect to a port on a machine in your network and have that connection automatically relayed to a different server on another network that you would not be able to reach otherwise. I hope that helps :-) , because that might help explain this screen a little better:

bitvise-fwding

In my mind, this is probably the worst UI screen in Tunnelier – it wasn’t really till I understood how port-forwarding worked that I actually wrapped my head around this screen. I do wonder if maybe a wizard might have helped here.

As it stands, the screen asks you to define the port on the machine hosting Tunnelier that should be “forwarded” to the remote server and once it’s at the remote server, which port the traffic should be sent to.1

To wrap-up this show-and-tell session, let’s look at the SSH/options window:

bitvise-options

bitvise-ssh

Just to point out that Tunnelier offers not one, but two different settings to ensure proxying doesn’t break – an automatic reconnect option and a Keep-Alive option.

Final Notes and Caveats:

  • I haven’t  used Tunnelier’s built-in SSH client, but for pure command-line work, PuTTy is my preference.2
  • Tunnelier also offers some very robust SFTP support – I haven’t used it myself, but my colleagues do and have only good things to say about it.
  • Astonishingly for a free product, Bitvise still offers great support for Tunnelier – just post in their support forum and you should get a reply from the developers within a day or so.
  • Some Network admins may not take kindly to your routing any traffic through this tunnel, essentially “hiding” your traffic from network devices. Check with your admins before doing this on an corporate network!
  • Yes, certain parts of the screenshots have been blurred out – I’m paranoid that way :-)
  • Apologies for the horrible colour on the screengrabs – my Tunnelier instance is on a remote server, which is only accessible through a slow VNC connection.
  1. I know it’s a bit odd to see localhost as the destination but that’s because I’m trying to connect to a service on the remote server that only listens on the remote localhost address – hopefully that makes sense []
  2. And if you do use PuTTy, you should check out this article on colour schemes – the “Zenburn” scheme is my favourite []

Taipei – Before I forget

Just a grab-bag of stuff from my recent trip to Taipei before it completely fades from memory:

  • Singapore Airlines Business Class especially on the newer 777-200 planes (777-200 ER specifically) is wonderful – ample leg and seat room; power points in each seat; personalized service.
  • The KrisFlyer Business Class lounge at T3 in Changi is enormous – it’s quite easy to get lost there the first time you go in. It’s also a marked contrast from the tiny spaces that pass for lounges in other airports.
  • When flying to and returning from Taipei – I cached up unread items in FeedDemon and downloaded some podcasts. Although the caching in FeedDemon wasn’t very good (almost no images made it) I had enough to read/listen to that I almost made it through the entire flight without watching any in-flight stuff
  • On the flight to Taipei, the guy in front of me was watching Never Back Down. When I couldn’t open my laptop for various reasons, I wound up watching the movie and finally decided to see it for myself. I’m still regretting that decision
  • On the other hand, on the return flight I watched a couple of episodes of Flight of the Conchords and quite enjoyed them. I intend to grab some more episodes and watch them – even though I know my wife will be annoyed with my odd viewing choices again :)
  • Despite the endless increases in ERP charges, COE and what have you; it’s only when I travel abroad I realize how car-crazy Singapore is. The streets of Taipei are filled with two-wheelers in stark contrast to the traffic here. Of course that means you have to be constantly on the lookout for madcap drivers who try to squeeze past you with millimetres to spare.
  • I had only visited Taipei before in the latter half of the year and found the weather remarkably pleasant. Thus, it came as a rude shock when I encountered the sharp heat of early summer this time around :(
  • The food in Taipei was a revelation – whether it was a hole-in-the-wall pasta joint, or crowded local restaurant or the chi-chi People’s Restaurant, every single meal I had was top-notch.
  • The highlight of the trip (food-wise) though was a teppanyaki dinner. We were cajoled into going by a colleague who loved teppanyaki and I have to say I’m glad I went along. Teppanyaki is definitely not for anyone except hard-core carnivores (calorie-counters need not apply as well).
  • Carnegie’s on ladies’ night was an interesting experience.
  • It was quite discomforting to see at work how much we came to depend on the one person who spoke good english and mandarin/min-nan. When you are trying to understand stated (and unstated) requirements for an complex system, having two layers of translation in-between is surely a sign of bad things to come.

Inbox zero!

For a brief, glorious 15 minutes today, I achieved a version of Geek Nirvana – an Inbox that was completely empty.

No, I don’t mean everything unread – I mean empty. Not one single email in it.

Inbox Zero!

And of course, 2 minutes later, I had a flurry of email (sigh).

Swanson’s rules are a ripoff

So after my original post and then the warning, it’s official – the CEO of Raytheon admits that some of the rules in his 30 unwritten rules were in fact written, and by someone else – namely a california engineering professor some six decades ago.

Full story and comments here. While swanson’s book is still a good read, this entire affair including the denials and eventual admission, is just so typicall of the behaviour of US CEO’s today – please the market, in any way possible.

Email cleanup – Why Does a Project need a Project Manager and a Business Analyst?

Got this in my official email – A well-written article describing the very different roles a BA and a PM play:

From http://www.allpm.com/modules.php?op=modload&name=News&file=article&sid=1517&mode=thread&order=0&thold=0

The best way to guarantee success of any type of project is to have a strong, experienced Project Manager and a strong, experienced Business Analyst. These two individuals, working together from the beginning of the project, set the stage for success by accurately planning and clearly defining the expected outcomes. Both roles are necessary because they are each responsible for a different set of tasks and they each possess a set of skills that complement each other. The two roles are closely tied, but exactly what are the similarities and differences, and why does a project need both? In many organizations, one individual is being asked to play both roles. This article discusses the importance of assigning different individuals to each role to ensure project success.

Why Does a Project Need a PM and a BA?

Having both a Project Manager (PM) and a Business Analyst (BA) is critical to a project’s success. Each role provides specialized capabilities that make the difference between whether a project succeeds or struggles. PMs and BAs each have unique skills and knowledge areas that, when used together, produce a high quality product. They both want the project to be successful and want to satisfy their customer – the Executive Sponsor. They both understand the ultimate goal of the project – to meet the project objectives. They each work on their own tasks within the project to achieve these objectives. There are some areas of a project where the PM and BA work together or serve as a back-up for each other. There are many other areas where the two individuals diverge and do very different types of tasks.

The PM is responsible for ensuring that the product is delivered to the customer on time and within budget. The BA is responsible for ensuring that the product is built according to the requirements and is built correctly. This difference in focus is the reason that having both roles on the team is critical. The product will be built correctly, according to requirements, on time and within budget!

Working Together

So how do the PM and BA work together to make the project a success? Fundamentally, the PM manages project resources (people, money) and the BA manages the business stakeholders. The BA reports to the PM on his or her progress on the tasks in the work breakdown structure (WBS) in relation to requirements. Usually at the beginning of the project the PM and BA work very closely together and often work on the same tasks. Later as the project gets going, they each focus on their particular responsibilities and talk frequently to share their progress. Excellent PMs and BAs will work hand-in-hand to make the most of each other’s strengths. It is the healthy tension between the PM and the BA-the PM pushing to move forward and the BA cautiously wanting to gather just one more detail before going forward-that makes the combination so successful. They are inter-dependent because their goals are in conflict.

At the beginning of the project there are areas of overlapping responsibilities such as project scope definition, development of the project statement of purpose, project objectives and identification of business risks. A strong PM will utilize the analysis skills of the BA to make sure that the scope is feasible and well defined.

The Project Manager

  • Is usually the first person assigned to the project.
  • Is responsible for planning the project and ensuring the team follows the plan.
  • Manages changes, handles problems and keeps the project moving.
  • Manages people, money and risk.
  • Is the chief communicator of good or bad news to the Business Sponsors and IT Management.
The Business Analyst

  • Is usually assigned to the project after it has started.
  • Is responsible for bridging the gap between the business area and IT.
  • Learns the business inside and out.
  • Essentially serves as the architect of effective business systems.
  • Is viewed inconsistently across the industry in regard to job title, definition and responsibilities.

As requirements are gathered, analyzed and documented by the BA, the PM is closely involved, reviewing the requirements and adjusting the plan as necessary. The PM also reviews the decisions made when the BA and technical architect design the solution. Typically the PM reviews all project deliverables at a high level looking for project adjustments and issues. The BA reviews all project deliverables that are related to requirements, solution design and testing; looking in detail to make sure that the business needs are being addressed.

During the project both the BA and the PM will maintain a relationship with their “customers” The BA is the advocate for the business area and the PM will report project status and work to resolve issues. Both roles also have an ongoing dialogue with the technical team members: the BA working with the technical architects to design a solution, the PM watching the progress of the team and adjusting the plan as decisions are made.

When One Person Performs Both Roles

There are many projects where one person is assigned to act as both the PM and the BA. This is common and probably appropriate on small projects or when the organization is short staffed. Unfortunately, it is also common in organizations where there is a lack of understanding of the BA role and where the expectation is that business analysis is just another task a PM performs.

For the individual playing this dual role, the challenge is to be aware of the conflicting focus and to try to act in one role at a time. You may find you are having disagreements with yourself, and it may be helpful to have a fellow PM or BA listen to your internal debate to try and help you make decisions. Be aware that you probably have a preference for one role or the other and you may find yourself neglecting the tasks of the role that you enjoy the least. If you prefer doing PM work, you may miss requirements. If you prefer doing BA work, you may allow the schedule to slip or forget to direct your team members. This situation is further complicated if you are also assigned to other project responsibilities (i.e., you are also the technical architect) or assigned to work on other projects. Your project schedule, budget and product quality may be affected. Be sure to plan for adequate time needed to do both jobs effectively.

If you find yourself in this situation frequently in your organization, use your excellent communication skills to heighten awareness regarding the conflicting roles to your managers. Make management and your project team aware of your conflicting responsibilities and challenges associated with them. Seek help in managing the schedule and help to gather and document the requirements. If possible, try to minimize involvement on other concurrent projects. We cannot always have the ideal situation so make the best of what you have and communicate the issues as clearly as possible.

Dynamic Duos

When assigning PMs and BAs to a project, executive management should be aware of the importance of this dynamic duo. Their success depends on their respective experience, knowledge and skill sets. The results will vary depending on the individuals selected.

If a strong PM is assigned to work with a weak (inexperienced, unskilled or insecure) BA, the requirements gathering and analysis tasks may be rushed and important requirements may be missed. The PM will be pushing for the project to progress and the BA will not be strong enough to convince the PM that complete, accurate requirements are critical to project success. This may result in rework late in the project when the missing requirements are identified.

“Project management is the application of knowledge, skills, tools, and techniques to a broad range of activities in order to meet the requirements of a particular project. Project management is comprised of five Project Management Process Groups – Initiating Processes, Planning Processes, Executing Processes, Monitoring and Controlling Processes, and Closing Processes – as well as nine Knowledge Areas.These nine Knowledge Areas center on management expertise in Project Integration Management, Project Scope Management, Project Time Management, Project Cost Management, Project Quality Management, Project Human Resources Management, Project Communications Management, Project Risk Management and Project Procurement Management.” A Guide to the Project Management Body of Knowledge (PMBOK® Guide), – Third Edition

Rework may result in schedule and budget overruns.

In the opposite situation, if a weak PM is assigned to work with a strong BA, too much time may be spent in requirements gathering and the project will fall behind schedule. BAs want to get every single detail, 100% correct before moving forward and if the PM lets the BA try to accomplish this virtually impossible task, the schedule will be jeopardized. Also, if the PM does not strictly enforce the change control procedure, BAs may allow business people to add more and more requirements resulting in “scope creep” and project delays.

Obviously, the worse case situation is a project with a weak PM and a weak BA. No matter how involved the subject matter experts are, and how good the technical team is, this project is guaranteed to fail without strong leadership and clear requirements.

Therefore, the best case situation is a project with a strong PM and a strong BA. Assuming the rest of the project team is competent, this project will be well run and the end product will be of the highest quality. There is a great balance between thorough requirements gathering and project progress. The project will be on schedule and meet the expectations of the Executive Sponsor.

How to Achieve Specialized PM and BA Roles

Professional organizations like the IIBA and PMI are working to promote the career progression of PM and BA roles. Companies should recognize the importance of each role by giving them appropriate job titles, job descriptions, evaluation criteria and making sure that individuals in each role have the appropriate skill set. Training and cross training is important because a successful BA understands what the PM does and an excellent PM understands the role of the BA.

In summary, all projects need business analysis and project management skills. The PM and BA roles intersect and support each other. Some of the skills required by these two individuals are similar but many are different. Cooperation results in project success.

“Business Analysts are responsible for identifying business needs.The Business Analyst is responsible for requirements development and requirements management. Specifically, the Business Analyst elicits, analyzes, validates and documents business, organizational and/or operational requirements. Solutions are not predetermined by the Business Analyst, but are driven solely by the requirements of the business. Solutions often include a systems development component, but may also consist of process improvement or organizational change.The Business Analyst is a key facilitator within an organization, acting as a bridge between the client, stakeholders and the solution team. Business analysis is distinct from financial analysis, project management, quality assurance, organizational development, testing, training and documentation development.”

Email cleanup – links for Oracle Database users

A few links I have received in my official email, which would be useful for Oracle database users:

  1. http://go.techtarget.com/r/149379/1863357
  2. http://wtcis.wtamu.edu/oracle/server.101/b10736/analysis.htm
  3. http://www.databasejournal.com/features/oracle/article.php/2222781
  4. http://www.oracle.com/technology/products/oracle9i/daily/may30.html
  5. http://rootshell.be/~yong321/oranotes/rkillsession.txt
  6. http://www.oracle.com/technology/products/oracle9i/pdf/o9i_etl_twp.pdf (Warning: Direct PDF Link)

30 Unwritten Rules

I got this article in my email a while ago. Probably worth reading from time to time just to keep yourself on track:

Raytheon CEO turns lessons learned into hit booklet

When William Swanson joined Raytheon as a young engineer in 1972, he was timid and sat quietly scribbling notes at meetings. Decades of observations and wisdom have been boiled down into 33 concise leadership tips that Raytheon had printed into a 3

Top 10 Project Strategy Mistakes

I got this in my email a few days back – worth thinking about by any Project Manager:

Top 10 Project
Strategy Mistakes

Donn Di Nunno (February 9, 2006)

Project managers
must learn from past mistakes, or they’re doomed to repeat them. Here are 10 of
the most common missteps that jeopardize IT projects, with recommendations on
how you and your organization can avoid or overcome them.

Successful project managers
incorporate the lessons of past projects