Managing Expectations: The Myth of the Non-Existent Timeline

If you live and work on planet Earth then you’ve experienced something like this:

Joe: Hey Suzie, can you get me X.

Suzie: You betcha’, but I’m pretty swamped right now. When do you need it?

Joe: No rush… whenever you get to it.

managing expectations

Joe and Suzie think they’re on the same page. Solid.

It seems like a harmless exchange so far. Unfortunately, there’s a decent chance this relationship is about to take a nasty hit. Remember, Suzie said she was busy. What happens to a task that doesn’t have a defined timeline when you’re busy? Usually, nothing. Fast forward 3 weeks…Suzie’s been tied up with “high priority” tasks, some of them were even items for Joe:

Joe (now frustrated): Hey Suzie, where is X?

Suzie (sensing Joe’s frustration and getting defensive): I just haven’t been able to get to it. I thought you needed it “whenever…”

Joe: Well yeah, but that was like 3 weeks ago. What have you been doing all this time? This is a small task!

Suzie: Fine! I’ll drop everything and have it for you tomorrow.

Joe: Fine!

Suzie: Yeah, fine!

miscommunication leads to anger

Turns out, Joe and Suzie weren’t even reading the same book.

Boy…That escalated quickly. The problem all started when Suzie and Joe decided to move forward without agreeing on a delivery date.

Every request comes with an expectation of when it will be delivered, even if the requester can’t or won’t identify it. When someone says “Whenever you get to it” they really mean “This is a really easy task and surely you’ll get it before the next board meeting in 3 weeks, so I’m not going to be pushy and set a date.” Or even “I know when I need it, but I’m not going to tell you because maybe then I’ll get it early.” Or maybe they just haven’t consciously acknowledged that there is a date they need it by. Whatever the case, it’s trouble.

Here’s a personal experience: A few years ago I decided to lease my first brand new car. Upon closing the deal I told my dealer that I was in no rush and that it was ok if it took a week or two to get the car delivered. And I wasn’t lying, it really didn’t matter to me. However, the dealer insisted he was getting me into my new car by the end of the week. It was important to him! With his assurances in mind, every day that week I got a little more excited about my new car and by Friday, I was stoked to go pick up my new ride. So, when I found out my car wasn’t ready, I was pretty annoyed. I grew increasingly annoyed and ended up flat out mad as more days went by. Finally, the car arrived about a week later. It didn’t matter that I’d started out with no firm delivery date in mind, the dealer set a date of his choosing and then missed it, turning a win into a loss by mismanaging my expectations.

So, what should you do when a client asks you to accomplish something but doesn’t give you a deadline or timeframe?

Look at your workload, identify a place where the task fits, add some buffer, and provide a delivery date to the client. If they accept your date, great! Now, you can focus on delivery. If they reject your suggestion, you’ve just uncovered the hidden time constraint. Now, you’ll be in a position to negotiate and agree upon an acceptable date.

Congratulations, you’ve just averted a crisis by successfully managing your client’s expectations! This is easily one of the most important factors for providing great customer service, keeping your client happy, and maintaining a positive relationship during your work together.

Side note: If there really is no due date, then, in my opinion, there shouldn’t be a task. If something is so unimportant that it doesn’t matter when it gets done, why on earth would you ever spend time doing it?

Connecting Business Applications with Mobile Customers via Twilio’s SMS Service

In the constantly changing and ever-growing market of mobile technology, businesses face the challenge of finding methods to effectively communicate and connect with their target customers who are always on the move.

In this post, I’ll outline how you can integrate Twilio’s SMS service into a .NET web application in a few simple steps. We’ve recently integrated Twilio into a client’s web application as a means to communicate with employees after-hours, when employees have left for the day but a situation arises that needs further attention.

Before we get into the coding, let’s take a quick look at other methods that are used to send SMS messages from applications.

Email-to-SMS Gateway functionality has existed for a while and offers some of the same benefits, but with a few caveats.

  1. What if you don’t know the customer’s carrier? You need this in order to utilize it (for example, if your customer’s number is 555-777-8888 and is a Verizon customer, you can text them by sending an email to 5557778888@vtext.com)
  2. You cannot control who the message is sent from, for some carriers is the email address of the send, for some it’s the email address of the server
  3. You cannot control what number delivers the message, so the customer may not be able to respond back to the message

Twilio’s SMS service overcomes these hurdles in simplistic fashion. Twilio’s SMS service allows web applications to communicate with mobile customers with a few simple lines of code.

Let’s get started. First, you’ll need to add the Twilio service into your project by following these steps (note that this is for .NET 4.0 application). The installation process can be found here: https://www.twilio.com/docs/csharp/install

Once you’ve installed the service, you’re ready to add your SMS code.

In this case, our function is setup to receive a Phone Number that we are going to send a message and the Body of that message.

Public Sub SendSMS(ByVal receivePhoneNumber As String, ByVal messageBody As String)

Dim accountSID As String = ""
Dim authToken As String = ""
Dim objTwilio As Twilio.TwilioRestClient = Nothing
Dim objMessage As Twilio.Message = Nothing
Dim sendPhoneNumber As String = ""

When you sign up for your Twilio account, you’ll receive the following credentials within their application.
authToken = "111111"
accountSID = "222222"
sendPhoneNumber = "5553211212"

Instantiate your Twilio object
objTwilio = New TwilioRestClient(accountSID, authToken)

And send!
objMessage = twTwilio.SendMessage(sendPhoneNumber, receivePhoneNumber, messageBody, "")

End Sub

So now we’ve sent our message. It’s sent to the end user via a telephone number, just as if you were sending a text message from your phone. What if the end user wants to respond back? They can, with no additional effort on their end. The message will be sent back to the Twilio number, and Twilio will redirect the response to your web application.

Within the Twilio client, you can setup a Messaging URL, which will define where Twilio POSTs the response to (for example , http://www.yoursite.com/receiveTwilioResponse.aspx). Let’s setup that page.

When we setup receiveTwilioResponse.aspx, we’ll need to capture the Page Request and parse out the response message.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim fromPhoneNumber As String = ""
Dim messageBody As String = ""

First, we’ll get the Phone Number of the end user who is responding back to us
If Not Request.Form("From") Is Nothing Then

fromPhoneNumber = Request.Form(“From”)

End If

Next, we’ll get the Message Body from the page request
If Not Request.Form("Body") Is Nothing Then

messageBody = Request.Form("Body")

End If

And that’s it! From here, we can handle this data how we see fit.
Call LogDataToDatabase(fromPhoneNumber,messageBody)

End Sub

This is simplified for example purposes. You will want to setup error handling and logging in conjunction with sending the message, and will need to clearly define the business logic of when and who to send messages to.

Learn more about the service here : https://www.twilio.com/sms

Things I Wish I’d Known Preparing for Ground Truth – Part 2

Ok, in Part 1 of this post, we covered a good chunk of the lessons my team learned during our trip to China with the Executive MBA program at the University at Buffalo.

But, there’s more to earning solid feedback on your product from prospective customers than just delivering a sound demo. If you think there’s a different culture on the west coast of the US relative to the east coast, try meeting your customers in China! Before we grew comfortable listening, watching, and adapting in our new environment, my team risked coming back with nothing or missing the point, several times.

Get local through your errors. Before we departed, every book and coach told us not to drink the tap water. There’s not enough time to adjust on a short trip. Yet, one morning I slurped some while brushing my teeth, and didn’t realize it for several hours. When you adjust, you’ll probably do it by letting go. Just embrace it.

The Bottled Water Acid Test. Yup, we drank a lot of bottled water, and everywhere we went our hosts offered it to us. They watched as we drank it. Over time I thought this must be a stereotype of westerners. Or did it reveal how much I trusted the host? We were sensitive too, after hearing about refilled and resealed bottles. Rituals come in all forms.

Start early and make it easy. We scored seven meetings for two days. To do this, we started reaching out two months earlier. We avoided loading our hosts with any onerous work, especially reading long text blocks or keeping track. We reminded them of our meetings before we left the US. A couple of days before each meeting, we confirmed. One firm still moved a meeting from 10:30am to 8:00am, giving us just enough time to drop breakfast and run.

Forge a connection. To get those meetings, we tried a few strategies. Personal connections worked best, where someone had a cousin in-country and made introductions for us. Shared history scored too: did one of us go to the same school as a prospect? We got a 15% response rate from a targeted email blast to association members. To increase that rate, we could have adapted the request to be more relevant to each recipient. After meeting, most hosts shared a list of people we should speak to next, both inside their firm and at others. How kind!

Who are you talking to? On some of our tours, our hosts clearly spoke to the perceived leader of our crew first, and then to everyone else. It was striking. We soon tried it, using the business cards we received as strong hints about seniority. Would we have given them a disrespectful impression otherwise?

Help me save face! Once, we met with an operator and a manager and asked them to fill out a five minute survey for us. The manager sighed, rubbed his eyes, and said that he couldn’t complete it because he’d forgotten his reading glasses. Being super helpful, we offered to walk him through it. Much later, we realized our big mistake: perhaps his English wasn’t as good as his protégé’s, and he’d offered us a card to help him save face? We’d taken the card and burned it. Ach!

How close is too close? In a giant unfamiliar city, how much time should you place between meetings? In Beijing and Shanghai, one hour worked just fine for taxi travel. They were clean and quick (and almost always Volkswagen Foxes), and we asked our hotel concierge to write out directions in Chinese and English to give to our taxi driver. We brought the hotel card to get home again. We tried hard to keep our meetings to one hour, too.

Localization Details Matter. Localization is more than just translation. Our prospects remarked that they would consider us if we certified compliance with China’s legal framework. English is acceptable, but adding an interface in the legal form of Chinese would be better since it’s more widely understood than a particular dialect. Showing culturally appropriate use cases in our demo would have helped too. For example, Chinese occupants keep their rooms in the mid 70’s F. Who knew that detail beforehand? Our hosts might have wondered, “Why do these people always want me to freeze?”

Challenge or Business Opportunity? The list goes on. For example, there is wide variation between coastal and inland China, and rural and urban China, even more than in the US. At the time, there were no carriers able to deliver packages everywhere in China, and few fulfillment houses distributing for US firms. Each carrier had regional or urban-only coverage. Experience with computers and English varied inland, too.

Needless to say, the next time we collect on-the-ground feedback in China, we’ll be much better prepared. If you’re planning a project like this, consider doing it in stages, with time re-factor your approach each round. Everyone we met with was so helpful that I’d expect improvement to come quickly for you.

Things I Wish I’d Known Preparing for Ground Truth – Part 1

Since our founding in 1998, Algonquin Studios has acted as a trusted ally for several startups and has even launched a few businesses ourselves. By March, 2010, several Algonquin Studios team members had built a robust hardware prototype: a mesh network of sensors, controllers, and management software. It personalized the environment and access within commercial buildings and hotels. But the team had limited sales and installation experience.

Coincidentally, I had a trip to Beijing and Shanghai forming, as my team needed a capstone project in the University at Buffalo’s Executive MBA program. What a lucky match! Beijing and Shanghai were saddled with surplus real estate following the Olympics and investment booms and firms were hungry for smart competitive advantages. Why wouldn’t this solution work in China? My team set up in-person demonstrations and feedback sessions with hotel and property managers while we were in China, and brought back a trove of on-the-ground observations.

We were surprised at what we learned and the ways that were identified for doing things better the next time around. I’m sure you would be too:

Is that a prototype or a bomb? We brought several black plastic boxes as functional prototypes. Each was the size of a juice box and had LED lights and wires hanging out the side to batteries. Frankly, they looked like bombs to our American eyes. How would we get them through customs in China? It turns out they didn’t care.

Demos will break. How many ways can you give your demo? It had better be a bunch. At our first meeting we fried the Radio Shack step-down transformer we brought with us. But we had rehearsed in the hotel – how unfair! So what? We couldn’t find another transformer in any store. We would have been stuck giving vaporware demos, and our surveys would have just measured the dream in someone’s head. But, we found a way out – powering up with batteries or laptop USB ports. In fact, laptop wall power supplies adjusted to every location with just a reliable plug adapter and laptops could be recharged, unlike plain batteries.

Tricky Demos = No Demos. The developers warned us that the devices would jump to a different port every time we started a demo. My background is development, so I could resolve the problem without anyone noticing. But the rest of my team struggled when we split the team up to do two meetings at the same time. Remember, your goal on the ground is to get feedback and the talent you’ll have won’t necessarily be technical.

What does ‘done’ mean? Following that thought, we realized our demos could have been more polished. We built our demo around what the developers showed us. Why not build it around what evokes meaningful feedback? For that matter, make it look good so you’re not distracting prospects with a bomb, highlighting how far you are from done, and maybe getting them to feel like they should work with a cool outfit like yours.

How will you pay for that? Business credit was new in China in 2010; most paid by bank transfer or online services like AliPay and TenPay. Not one of our prospects chose credit cards as a possible payment method. One kind soul wrote, “There are no credit cards in China.” We could have figured that out from a few web searches, but we didn’t do the due diligence. So, did we miss a chance to get better feedback?

Integration and Management Services. Don’t forget that a hardware solution lives in an existing context. Every one of our prospects asked how we would work with their existing systems and offer administrative tools. If you can’t do this yourself, it’s smart to partner with a firm such as Algonquin Studios.

Sales Channels. Who will your prospects buy from? Our prospects suggested that we partner with a US firm already established in China, increasing trust, avoiding intellectual property theft, and offering integration options. Even a two-person local sales team with an engineer would be better than selling from outside China. You might need local help to get products out of customs delays in port.

Each building is an island. Treat each prospect as a unique case. We met with hotels and property managers, very concrete examples. We were surprised to find that each hotel provided its own utilities and services, including massive electric, water purifying, and emergency outfits. Less literally, don’t make assumptions about the rules. Listen first.

Even if you’ll open your business in your home market, or your foreign market is in the west, there’s more to ground research than just product demos. In fact, we wouldn’t have gotten any feedback without adapting on the fly. How thrilling!

Stayed tuned for Part 2 of this post, which will cover our take-aways on the more “personal” aspects of cross-cultural market research.

Related links that rang true to me:

Tips for On-the-Ground Market Research
Global Health at MIT

Ground Truth and the Importance of Market Research
Karyn Greenstreet

Ground Truth
NASA

You Should Be Using Two-Factor Authentication. Everywhere.

We’re not very good with passwords, although we think we are. According to a recent study by security company CSID, 89% of us think we practice safe password routines. Unfortunately, 1 in 5 of us have had an online account compromised and yet only about half of us change our passwords more frequently than once per year. The best passwords typically utilize a combination of letters, numbers, and punctuation, and the longer they are the better (at least 8 characters). Only 6% of users have passwords that meet these criteria. Even worse, 60% of us reuse the same password for multiple sites. This is a recipe for disaster.

Here’s a quick scenario: Tommy has a forum account on a fan-made music site. The music forum that he visits regularly doesn’t maintain their security patches regularly, and a random hacker manages to hack into the site and steal his password. A simple web search reveals that Tommy works for Company X. Company X uses the Outlook web app, and wouldn’t you know it, Tommy uses the same password everywhere. Through a little trial and error, the hacker discovers that tommy@companyx.com is his work email, and boom, the hacker now has access to Tommy’s work email.

So what is two-factor authentication, and how does it solve this problem? Well, two-factor authentication (2FA) is a multi-stage method of verifying that you are who you say you are. Typically it’s a combination of something you know (a password), and something you have access to (a phone). Most commonly, the second factor of authentication will be a code that you will be sent through a text message or an automated phone call, and it’s only valid for a short period of time. This code will be entered on a secondary screen before you can have access to your account.

Unfortunately a lot of people don’t know what 2FA is – roughly 75% of people surveyed didn’t have a clue. It has also garnered a reputation for being a hassle, which is simply not the case. Most two-factor implementations will allow you to “register” a device as a “trusted device” for a period of time (typically ranging from a day to a month). I know what you’re probably thinking – what if I lose my phone? Then what? Well, the answer to that is “it depends.” Every two-factor implementation has different ways to handle account recovery in the event of a lost device, but this shouldn’t deter you from using 2FA – the benefits outweigh the risks by far.

So where are some common places you should start using two-factor authentication to protect your online accounts? Here’s a list:

  1. Google: Sends a 6 digit text message when you attempt to login from a new device. They also provide a Google Authenticator app for Android, iOS, and BlackBerry that can be used to obtain the second factor authentication codes.
  2. Apple: Sends you a 4-digit code via text message or Find My iPhone notifications when you attempt to log in from a new machine.
  3. Facebook: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
  4. Twitter: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
  5. PayPal: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
  6. Microsoft Accounts: Sends you a 7-digit code via text message or email when you attempt to log in from a new machine.
  7. Yahoo! Mail: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
  8. LinkedIn: Sends you a 6-digit code via text message when you attempt to log in from a new machine.
  9. WordPress: Utilizes the Google 2FA app.

For a more complete list of companies and products that support two-factor authentication, please review Evan Hahn’s list. Ask your local security or IT professional if your organization could benefit from using 2FA for email or work accounts. There are also ways to implement two-factor authentication into your own custom applications and web sites.

Passwords are becoming less secure all the time, and hackers are getting better at cracking them (check out the strength of your password). Enabling two-factor authentication provides an extra layer of security at a negligible cost. Protect your financial accounts, identity, and your career by using it wherever you can.

Project Management & Relationships

Very often our blog contributors post great articles about things like managing expectations, solving problems for our clients, and gathering requirements from a client. All of the articles touch on topics that are very relevant to the work we do as consultants every day and one of the key aspects of doing each of these things well and, in turn, being good consultants, is to develop strong relationships with our clients.

Learn About the Key Players

When setting out on a project, one of my goals is to gather the requirements of the software that we’re being engaged to build. Beyond that, we need to understand who the decision makers are. These are often the people that we’ll being dealing with regularly to get things accomplished and make sure the project doesn’t stall due to indecision or missed deliverables. From the smallest task that requires a simple yes/no answer to a very important meeting to discuss a pivotal system process, as Development Managers, we’ll regularly engage the key decision makers to get all the necessary tasks completed.

As part of building a relationship with the parties involved in a project, we’re always trying to understand how our software will help their business. Clear communication is important to any project and we’ll often need to go the extra step of learning the company or industry-specific terminology that our clients use on a day-to-day basis. This helps us understand requests and communicate with each client most effectively.

Another important thing to learn about key parties for a project: what forces are driving their requests, decisions, and actions? From the start, we need to try to find what will make the project run smoothly and what could potentially hold the project back. Key questions here will cover topics like target dates, project budgets, and critical processes. These questions and their answers will help us do exactly what many of our other blog posts talk about–gather requirements, manage expectations, solve problems–all of which are crucial to the success of a project.

Row With, Not Against, the Third-Party Stream

What if your project requires you to work with someone in addition to your client? As a software development team, we regularly find ourselves in situations where we’re required to work with other vendors on tasks like integrating with other systems, adding/modifying code that isn’t ours, or working in an environment that we don’t have control over. These things can present potential hurdles, but we strive to do the best we can to navigate these waters because that’s what will make for the best possible experience and solution for our clients.

Much like when you’re building a relationship with a client, you’ll want to find and engage the key players of any third-party vendor and learn how best to work with them. Some of the best ways to ensure a friendly and professional relationship that meets the needs of your client and their project include:

  1. Asking early and often – If our development team needs something from a third party, whether it be access to a system or knowledge of existing code, we’ll do our best to get ahead by asking questions again and again, as soon as we know we’ll need the assistance.
  2. Understanding that third party teams have schedules, too – People often overlook the fact that other teams are fighting to meet their own deadlines outside of the project you’re working on together. We find the best way to stay on top of external deadlines is to repeatedly ask for tentative completion dates or turn-around timeframes from our co-vendors, so we can align our own goals and expectations and help better manage the goals and expectations of everyone involved in the project.
  3. Smiling – It sounds cheesy, but it can help. If you’re getting resistance from an outside party, do your best to smile when pushing for the answers you need. The best case scenario is that you establish a genuinely friendly relationship with your co-vendor but even if you don’t, getting the answers and info you need in a pleasant manner is always going to make it easier for you to work together successfully. And always remember to keep your client in the loop if you’re waiting for answers or status updates from another vendor.

Does Your Client Look at Your Development Team as a Partner?

As a developer, I often find myself in conversations about how people use applications, even outside of business hours! I frequently get the same feedback from friends/family that I do from new clients–they feel like the people who work in development (or “IT”) abandon them as quickly as possible. In developing good relationships with your client, make an effort to communicate that you’re “with them” on their project. The difference in saying something as minor as “We’ve accomplished” vs “I’ve accomplished” can have a big impact on that feeling. At Algonquin Studios, we take pride in being with our clients and doing the kind of relationship-building work discussed above gives us an extra sense of pride in what we’re able to accomplish. And, we hope that shows in all of our interactions with our clients.

Keeping Projects on Budget

BudgetYou know the drill.  Some ridiculously high percentage of software projects go over budget… And you’ve heard stories to back it up. Or worse, you have your own tales of being hung upside down by your ankles while the developers shake you down for every last cent.  Yet, here you are.  You’ve got a problem and it seems the only solution is custom software.  You’re doomed, right?  You might as well get ready to grin and bear it as you’re no doubt about to head down a path of endless pain and misery.  How did it ever come to this?

It doesn’t have to be this way!
I know… suspend disbelief for just a minute.  It’s going to take a lot of planning, coordination and hard work, but a well-executed software project can stay on budget AND deliver you a solution that satisfies your objectives in an effective and lasting way.  Here’s how we’ll help you do it:

Initial Sales Meetings and Preliminary Requirements Gathering
We start every engagement with an open mind. It’s important to fully understand all of the issues and goals before committing to any particular solution or technology.  Our initial meetings are designed to learn about your business and the issues you face.  What are the specific problems you are trying to solve and what are your goals?  Essentially, we start by helping you to define what success looks like for your project.  With that understanding our team will draft preliminary recommendations and deliver those with ballpark estimates.  At this point, we still won’t have all of the knowledge required to solve your problems, but we definitely have enough to determine if we are in the same ballpark… that is, determine whether or not we should continue before you spend any money.  If we are, the next steps will be to propose a formal Requirements Analysis process.

Requirements Analysis (RA) Phase
In this phase you’ll formally define what we are going to build.  We’ll schedule a number of meetings (preferably face-to-face) where our staff will spend time with your team to define the nitty-gritty details of the project. We’ll ask questions… I mean A LOT of questions.  We‘ll gain an understanding of your workflows, your staff, your business cycles, etc. so that we can clearly identify all of your needs.  With this deep understanding, we’ll produce several outputs that will help you effectively solve your issues within a predictable budget:

  • Business Requirements Document (BRD) – This is a comprehensive, plain-English, easy to understand definition of what you’re asking us to build. It can be read and understood by anyone on the project team, regardless of technical ability. The BRD is the cornerstone of the project and plays a fundamental role in sending you down a path where a predictable outcome and budget is possible.
  • Screen Mockups/Wireframes – These will provide a roughed-out visual representation of the system. They will help you to gain a better understanding of how the system will look, flow and feel.
  • Flowcharts – These are a visual representation of the workflow and business rules for the more complicated sections of the system.  They will help to further iron out the finer details of the project and identify “holes” early on.
  • Fixed fee for implementation – Once we know exactly “what” we’re building, we can very accurately predict how long it will take and how much it will cost.  That allows us to provide you with a fixed fee proposal for implementation.

In addition to these outputs, we will provide you with guidance on infrastructure needs, licensing for 3rd party components, and requirements for any 3rd party vendors, plus details on what your team will need to do to keep everything on track and make the project a success. Getting all of these issues on the table early and working together on a plan for dealing with them is the most important step towards a path that allows for a predictable budget.

The outputs from RA are yours to keep and are designed in such a way that any development shop with the appropriate technical abilities could implement them for you.  We certainly hope that you’ll choose to continue working with us, but at this point you are free and clear to move on if that’s what ‘s best for your organization.  And the best part… you’ve likely gotten here in less than 20% of your overall project budget.

Implementation
Once you agree to our fixed-fee proposal we’ll begin to implement your solution.  As far as the agreed upon scope is concerned, you won’t have anything to worry about in terms of budget.  We’ll produce the agreed upon output for thee agreed upon fee.  However, there may still be other costs that need to be managed.

Out of Scope (OOS)
We’ll continue to spend a lot of time with you during the implementation phase.  In particular, we’ll have regularly scheduled demos and walkthroughs that will allow you to see, feel and tweak the system throughout the process.  Minor adjustments to layout, appearance, terminology, etc. are expected and this is taken into account within your fixed fee.  However, you will inevitably identify additional opportunities for enhancements/changes that were not thought of during the RA phase.  Many of these items will be relegated to a future phase, but some may represent such a benefit to your solution that you choose to implement them now.  We’ll tap our vast project experience to help you classify the items and advise on how to best fit in those “must haves” with minimal impact to your timeline and budget.

Third Party Vendors
Very often you’ll have additional vendors that play roles in your solutions (i.e. your IT staff, your hosting company, the firm that supports the application you have asked us to integrate with, etc.).  This can create pressure on timelines and that can have an impact on your true costs (even if just by requiring additional time investment by your staff).  We’re very experienced in dealing with these situations and will advise you on how to get commitments from these parties and hold them accountable to meeting them.

Adoption
Once your software is complete, you need to get your users to use it.  This involves training, planning cut-overs, etc. and these things can definitely impact your true costs for the project. Having deployed hundreds of systems into organizations of all sizes under a wide array of circumstances, we’re able to advise you on a roll-out strategy that will help this all happen predictably (and on budget).

Quality Assurance (QA)
Your project has been in QA since the RA phase. Our QA team is tasked with reviewing and approving your Business Requirements before implementation can begin.  Then, the QA process continues through implementation with Code Reviews and internal screen reviews. Finally, the resulting software is put through a rigorous final QA pass that verifies all of your business rules and may include load tests, security scans, etc.  How does this impact the budget?  It’s all included in the fixed fee, but the value goes beyond that.  By ensuring a quality product goes out the door, we’re really enabling you to predict the long-term operating costs of the solution.  That will keep you “on-budget” for the long haul.

Ongoing Support
Depending on your specific situation, there’s a very good chance you’ll need or desire some level of support from our staff post-go-live.  With a full-time help desk and available 24x7x365 support solutions, we are equipped to provide you with a long-term support arrangement that meets your budget and business needs.

Deployment
Once everything is done, we still need to launch your software before you can start using it.  Delays of any kind will likely impact your total costs (i.e. think costs associated with preparing your staff for a launch that doesn’t happen, then doing it all over again a week later). Our development process takes a structured approach to this as well.  With thorough checklists in hand, our staff will be able to launch your software on schedule and will be less likely to run into last second “surprises”.

Summary
Our development process has been defined and tuned over the past 15 years through the experiences gained in thousands of engagements.  Our comprehensive approach, combined with the vast experience of our staff, allows us to identify and address hurdles early on and helps to eliminate the big “surprises” that plague so many software projects.  This allows predictability… And predictability saves budgets.

Finding The Best Technology Solution Shouldn’t Feel Like Herding Cats

The Value of Requirements Analysis

Sometimes it’s hard to remember that “problem” isn’t a dirty word. Your business solves problems every day; that’s why your customers come to you. Let’s start thinking of problems, not as bad things, but as opportunities.

Imagine that you’re considering a new line of business or you’ve found a process that causes a lot of friction, so you decide to change. You’re probably anxious and we can understand that; there are lots of ways to get off course when you charge a team with change:

  • Each team member goes after a different problem, so the solutions don’t converge. How do we get everyone back on the right page? What is the right page?
  • The project keeps growing and growing. As the team starts solving the problem, you find people adding new features to the solution. The team keeps looping back to revise the plan and each time you do, your budget grows. Nobody saw this coming. How do you stop it?
  • The team implements a solution. A few months go by; you analyze the data and find that the problem is still there. What happened?
  • The team proposes a solution. Senior decision makers hesitate because of budget, lack of in-house talent, or other priorities. Without buy-in, decision makers cancel the project. Does this mean you have to start over?
  • The team recommends a product to fix the problem. But once the product is in place, you find out there are some critical gaps in the solution. How can you bridge these gaps?

Here at Algonquin Studios, we have a process that prevents deviations like these. We call it “Requirements Analysis.” We begin by defining the core problem. We dig deep. We’ll humbly challenge your team by asking “Why?” and we won’t let you down by accepting the first answer as gospel. If there’s more than one problem, that’s OK; we’ll prioritize them. Working together, we’ll define exactly what your problems are and ask your whole team to commit to working on them.

Next, let’s propose solutions — lots of solutions. Don’t limit yourself to technology; you could change people, processes, and policies, too. After brainstorming, we’ll cull ideas together and judge our good ideas by doggedly adhering to the problem definition. A vision should surface — a vision of what your firm looks like operating the solution. You’ll feel good about committing to this vision and we’ll return to it again and again to overcome anticipated barriers and engage your team.

Now you’ve got a defined problem that’s simple to communicate and a vision for its solution. Algonquin Studios finds that these two key ingredients give you clarity, keep your team focused and gaining ground, and can nearly eliminate re-work costs from here on out.

After working through the initial Requirements Analysis (RA) phase detailed above you may determine that you need a new process, and some tools to operate it. By applying our detailed RA process at this stage, we can capture all of the business rules, inputs, outputs and processes to build or adapt those tools while honoring your decisions about scope, phases, and value trade-offs. We’ll start at a high level and break apart complicated processes until we reach simple, atomic ones. A solid detailed RA document becomes the foundation for planning, designing, building, deploying, and training for a good solution.

You might be surprised to find that a policy change is all that’s needed to solve the problem, so there’s nothing to build. And that’s a fine outcome!

We know this sounds potentially uncomfortable and like a lot of work. As a decision maker, you’re already living and breathing your problems every day and are hoping for a vendor to simply roll out the solution you’ve already got in mind. But what if there was a better way? A way to help make sure your solution is an unprecedented one that can grow your business like never before. That’s what we believe the RA process is, and it’s why we’re so committed to it here at Algonquin Studios.

Why Won’t Cross-Sectional Teams Adopt Change? The Technology Adoption Lifecycle.

By starting a fire and carefully kindling it, you can roll out a change at your firm with much less effort.

Let’s say you have a change coming up for your users. It could be something practical, like an update to your billing system. You’ve already decided that this change is worth it: decreasing missed revenue and speeding up accurate billing reports. But the update will require your users to work in a different way. Do you dread holding everyone’s hand through the roll-out? Why can’t your users just follow your instructions? Will this take more effort than it has to? How can you make this easier on everyone, not the least you?

Take a moment aside to think of your most troublesome user. How do they react when posed with a change? Now think about the user who picks up changes faster than you think is prudent. How are they different? Who else resists change or eagerly pounces on it? More than likely, your users’ perspectives on change reflect deep personality traits. Do you consider these traits when you roll out a change?

This gets at an idea called the technology adoption life-cycle. In the late 1950’s, Joe Bolen, George Beal, and Everett Rogers at Iowa State University researched how farmers adopt new ideas. They called it the diffusion process. If you think farmers are nothing like you, think again–they cultivate an investment today or go hungry tomorrow. Later, researchers identified five distinct personality profiles shared by major groups and determined that members look most strongly within their group for ideas to adopt:

  1. Innovators: Enthusiasts
  2. Early Adopters: Visionaries
  3. Early Majority: Pragmatists
  4. Late Majority: Conservatives
  5. Laggards: Skeptics

Think of a bell curve across these groups to grasp the portions. In the early 1990’s, Geoffrey A. Moore developed this idea further within startups in a book called Crossing the Chasm. It remains a useful text, even if you can’t recall the examples. He focused on discontinuous changes – those that cause people to alter their behavior, like your billing system update.

Technology-Adoption-Lifecycle

I believe that you can apply this model to shorten the time it takes to get your firm on board with changes being implemented. How? By speaking differently to the concerns of each group.

If you don’t answer my questions first, I’m not receptive to the rest of your ideas. But if you address my needs, I’ll listen further.

Imagine being each of the people below:

  • Innovators: Tech Enthusiasts
    • Volunteers to try out new tools; gives detailed feedback even if the tools aren’t ready
    • Wants: the truth with no tricks, to be the first, affirmation that their feedback is used, and support from a tech expert
    • Usually lacks buying power; price should be someone else’s concern
    • Let them play
  • Early Adopters: Visionaries
    • Driven by a dream of change: a business goal, not a tech goal
    • Driven by personal recognition; will move to the next project quickly
    • Willing to act as a visible reference on first-time projects
    • Least concerned with price, since this is just the tip of the iceberg
    • Hard to please since they’re buying a dream; manage their expectations
    • Overlooked as a source of seed funding
    • Paint a picture
  • Early Majority: Pragmatists
    • Values productivity: incremental, measurable, predictable business progress
    • In it for the long haul
    • “Pioneers are people with arrows in their back”, “let somebody else fix your change”
    • Will pay for service, quality, support, integration, standards, and reliability
    • Show how you can improve their day
  • Late Majority: Conservatives
    • Prefers tradition to progress; stick with things that work
    • Change should be simple, cheap, and not an interruption
    • Point out pragmatists who didn’t get stung
  • Laggards: Skeptics
    • Only blocks change; isolate them
    • Doubts that the change will bring the promised returns
    • Neutralize them with the big picture gain for your whole firm, not just this change
    • Fortunately, few in number

Go at them one at a time. Some groups influence others and you can use this influence to build a beachhead, getting strong adoption among innovators and then moving on to the next group, early adopters. Word of mouth from pragmatists may amplify your message to conservatives. You can build momentum and get more for your scarce time.

If it works for the person I respect, it will work for me.

So, where do you begin? Show your change to innovators at your firm, first. Let them work it out in practice. Avoid teams made of cross-sections of your entire firm, since the negative comments from laggards will sink your idea. Go in phases–form a pilot group of innovators and perfect your idea then, paint a picture of your vision to early adopters. They’re thirsty for change.

There will come a point when you’re ready to jump to the mainstream with pragmatists, but remember, they won’t value change for its own sake like the early adopters. Instead, they’ll invest in productivity gains. So focus on the early majority one small team at a time with overwhelming service. Their positive reviews will mean something to the late majority too. And just let go of the laggards, like the wisdom of the old serenity prayer. Provided you’ve done your work with the innovators, early adopters, and conservatives, the laggards will no longer have the power or influence to derail the changes you’re implementing.

Wait…What Was I Doing?

Oh, that’s right, I was trying to work on this blog post. Over the past week or so I’ve been trying to sit down to write this post only to be distracted time and again by that annoying thing called “work.” I had multiple ideas, most of which died before I even started typing. That’s when I finally realized what I should write about–focus.

Focus is something I’ve struggled my whole life with. So what do I mean when I say focus? This isn’t about “Oh, I don’t feel like working so I’m going to play Minecraft for two hours at work today, instead.” though that certainly is a lack of focus. I’m talking about those valid, work-related distractions that actually make you accomplish less; about trying to keep everyone happy and all of your tasks moving forward rather than completing the task you’re working on.

Work the Task at Hand

Of course, that’s problem number one–trying to get everything done at once. What happens when you have 20 tasks you’re trying to complete, a client calls with an issue, and two people stop in your office to ask you to help them with a problem while you’re on the phone? You could start drinking heavily at work. Or you could pull out all of your hair in frustration (where do you think all my hair went?). But neither of those helps with the problem at hand: your brain is being pulled in so many different directions that none of the things you’re trying to accomplish are going to get done in anywhere near a reasonable amount of time. More likely than not, some things what get done at all.

You’re just one person, kids. Don’t try to work those 20 tasks at the same time. Every time you shift gears to pay attention to something new you waste time and effort mentally “putting down” one task and “picking up” the next. And, because you didn’t complete the first task the same happens when you go back to it. Where did you leave off? Were you working on a script to check data when you put it down? Maybe you should re-read through the task notes again. Instead of doing these mental gymnastics, focus on one thing and work it to completion (or a blocking point). Yes, your other tasks will have to be lonely for a while but, in the end, you’ll finish your 20 tasks in far less time, and with better results, if you don’t shift mental gears 10 times a day.

Manage Expectations–Not Everything is a Fire

When your client calls don’t let them distract you from this rule. I know it’s hard; this is the trap I fall into more than any other because my clients are mostly support-related, so I’m on the phone with them regularly. It’s just in my nature to keep them happy and productive so when they call my gut reaction is to drop what I’m doing, regardless of the size of the issue, and help them through whatever they need. But I need to remember not to be afraid to have a quick chat, take some notes, ask them put in a support ticket, and tell them “Hey, I’m in the middle of something right now and, as long as Milton hasn’t set the building on fire, I’m going to finish it up and then move over to your issue. I should have an answer to you by X”. That last part is important–make sure your client knows you’re not blowing them off, set a reasonable timeframe for getting back to them, and then get back to them within that timeframe.

This same rule applies for co-workers. Don’t be afraid to say “Hey, I’m working on something right now, but I’ll come grab you in about 15 minutes.” 15 minutes later you’ll be one task lighter, have a sense of accomplishment, and be in a much better mental spot to help with your co-worker’s problems.

Lists Aren’t Just for Santa Claus

An important tool to help you manage all of this is your task list–make sure you have one. If you have something you need to accomplish, make sure you write it down and keep your list in the order you want/need to complete your tasks. Writing everything down will keep you from dropping the ball. Granted, this advice is coming from someone who can’t remember what he had for dinner on Monday, but it applies to everyone–even the most organized of us will have a problem staying on top of everything they want to accomplish without a list.

Even with a list, there’s nothing more overwhelming than looking at a sheet of paper or computer screen full of “to-dos” and knowing there’s no way you’ll be able to tackle them all. This is where keeping them in order becomes important. When a new task comes in, prioritize it right away and rearrange your list if necessary, placing things in the proper order. Then, as you’re working your task list for the day all you have to do is work your way down your list, completing each task (!) and moving onto the next. This process doesn’t have to be rocket science; you can use a small notebook that you keep with you at all times or one of any of a hundred digital options now available. Just make sure that, if you go with a digital choice, it’s safely stored so you when you drop your phone in a sink you don’t lose your tasks for the week (I’m not talking from experience at all, here). I’m a nerd, so I use Google Tasks so they’re synced on my laptop, phone, and tablet.

Consider breaking your task lists up into smaller chunks if that makes them more mentally manageable; it may help you survive the overwhelming nature of a longer list.

The best part about having a task list of any kind is looking back and saying “Hey, look what I accomplished today!” That’s a great feeling.

Disappear…Like a Ninja

Don’t be afraid to drop off the grid for a little while. One of the most effective focus methods is shutting down your email for an hour or two while you work. Some people have set timeframe during which they respond to email: a block in the morning and one in the afternoon where the only thing they work on is email. I haven’t taken this approach yet, but I can definitely see its value. Close your door, if you have one, or put on headphones and disconnect from the world if you’re working on a difficult task. In extreme cases, ask to be moved to a separate office space if you think it will help. Trust me, if there’s a real emergency, someone will find you but, if not, you’ll be able to focus on the task at hand with greater ease.

A Break From it All

Finally, remember to take some mental breaks during the day and get away from your desk for a few minutes. I’m fond of taking walks during lunchtime; it’s great exercise and healthy, from a mental standpoint, to see that ball of fire in the sky. Even if you just walk across the hall to make a new cup of coffee, your brain will disconnect between tasks and you’ll feel ready to attack the next thing in your list when you get back to your desk.

For now though, I’ve got to go. My phone is ringing and I haven’t touched my email yet this morning.