Monday, June 20, 2016

What is up at and what am I up to?

Last summer an unexpected opportunity came my way, I wasn't looking for a new job. I didn't want to leave my job at The Cara Program, loved my job, the people and the mission.  But one thing I have learned through mistakes, is some opportunities are too good to pass up. It has taken me a year to write this post because the transition has been a big one.

The Man

Yep, a part of taking the new job seemed like I was giving in and working for the man.... NetSuite is a massive company compared to the nonprofits I was at and is like many tech companies with its culture (not saying good or bad, just way different than NPO). But there are more ways to have an impact on the world than to work for a nonprofit, I was ready for the change. And I will not deny that having the resources of a massive company changes things.

Big Picture

The mission was part of my everyday at The Cara Program, loved it! The mission was everywhere I looked and I could see the connection between what I was doing and the impact it had. A part of me always missed having a role on a more national or global scale helping many nonprofits, not just one though. When I was at the YMCA of the USA I was able to think about sector impact, not local impact. I loved taking massive, complex issues and breaking them apart into understandable and actionable parts (especially tech, operations & finance).

Personal side

Of course there were also some personal reasons too. My youngest child is going into High School, so I only have a few years left before they move on (hopefully...). And after almost 20 years of commuting 3 hours each day, working from home was appealing. The salary, perks and career track were very appealing as well. The ability to attend so many conferences and events over the last year has been amazing. Being home with my kids and wife has made an incredible difference.

A Year Later

So was I right? I do miss working at a nonprofit. I do miss the sense of belonging and values at The Cara Program. I don't miss the YMCA politics or leadership. But yes, this was the right decision.

Over the last year I got to really dig in to my thoughts on the role finance and technology can have on how nonprofits work, manage their funds and meet their mission.

  • I want to fight to end the silos in orgs between finance, program and fundraising. 
  • I want to think about how you equip the small nonprofit with the same technology as the bigger ones in a way they can manage it and scale.
  • I want to fight the nonprofit starvation cycle and culture of scarcity, which is being pushed by funders and the overhead myth.
  • And so much more!
These are the types of things I get to think about as part of my role. I don't have a direct impact on these large problems and I don't know how much of a change I have made over the last year, but as David Geilhufe says, "ask me in seven years".

And speaking of David Geilhufe, here is the Nonprofit Keynote he did at NetSuite's SuiteWorld conference.  It is a perfect example of why I am on this team and love what I get to be a part of:

Jumping back in

Amidst all of the change over the last year, I have fallen away from my blog, twitter and so many other parts of the NPTech community. But I am ready to jump back in!

My first blog post (so many more to come, hopefully):

And in case you missed it, my ignite session from the 2016 NTEN Nonprofit Tech Conference #16ntc (Big Thanks to Dahna Goldstein on the guitar!):

Wednesday, February 24, 2016

Where I'll be at #16NTC!

Each year I follow in the inspiring example of Peter S. Campbell by sharing where I'll be at the NTEN Nonprofit Technology Conference and typically I link to his awesome post, but sadly Peter won't be joining us this year.  Please take a moment to wipe away your tears and think happy thoughts before continuing to read my post.

The annual NTEN Nonprofit Technology Conference is something I look forward to all year long! This event has helped shape my career and the orgs I have worked for, plus it has impacted a number of orgs and staff I have collaborated or shared with. I love it. Anyway, here is where I will be at #16NTC.

HELP! Previous years I made awesome plans to connect with people at Breakfast, Lunch and Dinner, but I don't have any of those plans yet, hit me on Twitter at @steveheye if you want to connect or leave a comment.

Or you can read what I learned at #15NTC to see if it helps you want to go!

Tues, March 22

A mix of nerds and brew, need we say more? Celebrate the 8th annual #ntcbeer, the pre-conference party known for good refreshments and better conversation. Catch up with nptech friends old and new over a few brews or whatever. Visit us on Facebook!

Weds, March 23

Ignite Plenary!
I will be back doing another Ignite session, but you will have to wait to see what it is!  Ignites rock the house with 20 slides, 15 seconds each and in 5 minutes you have a lasting memory! I embedded a video here if you want to relive the song part of my ignite from #14TNC.

Too Many Metrics, Too Little Analysis: Creating Analytics Frameworks for Data-Driven Decision Making
With my new role so focused on data and nonprofits, time to sharpen these skills. Good session description: Organizations everywhere sit atop a mountain of their own metrics, but few are effectively mining that data. Analytics can improve your understanding of your audience, but they can also help you to “know thyself.” A metric is only useful if you know who will use it and how it will help you shift tactics to keep your organization moving forward.

Forget Big — It’s All about Small Data
You don’t need to be an analytics whiz to dig into your organization’s data and produce impactful visuals and statistics. Learn how to measure program impact using free and low-cost tools that highlight accessible, small data. Small data is the human-countable data that many nonprofit organizations are already generating through service delivery and fundraising. Working through small data can help nonprofits get a handle on analysis, even for data newbies.

Hour of Code: Hands-on Guide to Your First Computer Program
Code curious? Not sure where to start? BYO computer to this friendly hands-on beginner workshop to get started in the world wide wonderful of coding. No experience needed!

Thurs, March 24

Leveraging Expert or Technical Volunteers!
I am leading this session! Ever since I started volunteering at age 12 I have had deep respect for what is possible through volunteerism. This session will focus on how best to leverage Pro Bono volunteers but will cover a wide range of related topics. My colleague, Erin Dieterich, from and Princessa Bourelly from Juma Ventures will be presenting with me! Strong team and great topic.

Tell the Developers the Story!
Too often, the story about why something is being built is not known by the development team. They may have been handed all the specifications, wireframes, mock ups, and prototypes needed to implement, but none of the larger context. During delivery, this can lead to lost productivity, misunderstandings, quality issues, budget overruns, and most important, technology that isn’t well-aligned with an organization’s mission.

FUN After Hours!
Need to pick a progressive party!

Fri, March 25

Automation: It’s Not Just for Marketing Anymore
As nonprofit professionals, we’re often expected to do a lot with very little, which can leave us feeling overworked and overwhelmed. It doesn’t have to be that way! This tactical session will explore how free automation tools, such as IFTTT (If This Then That), Workato, and Zapier can be used to reduce monotony, boost productivity, and improve your organization’s internal and external communications.

Data-Driven Storytelling
In this lively session, we’ll explore the classic elements of a good story and how we can use these elements to make our data more approachable, understandable, relatable, and shareable.

Geek Games! Bring it!

And while I have moved on from my IT position, for you Tech staff thinking about NPTech, be sure to check these out:

SO much Stuff! If you haven't registered, DO IT NOW! If you have registered, change your travel to be there early for the Pre-Conference (Smaller crowds and more info!)

Wednesday, December 2, 2015

Custom Software (Part 3): Custom Process vs Best Practice

"Our needs are very unique, most systems won't work for us."
"We have a complicated model and process, it is hard to explain."
"We are too busy, we need to hire more staff to keep up."


Back in the 1980's, I used my first operations software. We all knew who, or more correctly, what was in charge. The software dictated how we used it. When we wanted to decide the best way to do things, we look at the software manual or asked support how the software worked. Software was built based on the most common functions and best practices (or at least the best practices of the software company).

We would all complain about how the software worked.  But the software choices were limited, so we didn't have much of a choice. Plus our use of the software was focused on record keeping. So when we wanted more from our technology, we had to go custom. Custom was the only other choice. If you wanted to do something different you had to build it yourself.

Flash forward to today

Technology has changed, as have our expectations. Today we expect flexibility with our technology, it should adapt to our unique needs easily. Don't give us a canned solution constrained to work the same way for everyone. Personalization. Customization. Consumerization. And any other ization you can think of which makes it all about me and how unique I am (or as unique our org is).

Enter the cloud. Today platforms exist which give you the freedom to configure the software to match you process without customization. You simply make some choices on features, configure workflows, redesign screens, add fields and make it your own. Amazing capability, flexibility, adaptability and any other ility you want to add all with clicks not code by almost any user without IT help.

But we haven't changed our process to select, implement or leverage these new tools.  We run our demos and selection process telling the vendor to only show us the "out of the box" functionality.  But when it is a platform configured to match your process, what does "out of the box" even mean? Whose box? Think outside the box. And the choice is no longer build or buy (you can rent and rearrange). Now your demos, selection and implementation processes rely on your understanding of your process, needs and capability. Comparing features won't cut it.

Custom Process vs Best Practice

In my new role I have heard more and more people ask how Best Practices are integrated, enforced or implemented in the technology. They want someone to tell them the best way to do a process based on their expertise in the solution and in their industry. So it seems like we have come full circle, lets get back to software with controls built around best practice? I have always, always, always hated the term best practice. I mean seriously, best for who? by who? in what scenario? ugh. I always preferred the term model practice, meaning here is a model that has worked for others.

So let me get this straight. In yesteryear we complained that software was too limited by function. Today we complain that software needs to have more "out of the box" functionality. What? I think the real problem is a lack of understanding our own business process. period.

Yesteryear's software dictated business process. Today's software allows you to configure to match your process. But are we ready for that responsibility?

So what?

So far this post seems to be a way for Steve to get on a soap box, relive his history and just generally rant.  Well it is my blog.... (insert smiley emoticon or something)

But seriously. I think this conversation focuses on the software too much. At some point a nonprofit has to take responsibility balancing wanting more flexibility in software with their own ability to define their process and ability to act on it.  It all comes down to knowing who you are as an organization,  how you work and your capacity. The technology is not the problem, nor should it be the focus.

The more flexible a software is the more you will need to know your process and the more tech skills it will require. The more "out of the box" functionality the more the software will dictate your process and lessen your need for internal tech skills. Way over generalized and inaccurate in a number of scenarios, but you get the idea.  And I am not saying one is better than the other.  There are countless examples where the "out of the box" solution is the best choice.

Where I Would Start

Define you processes. Not enough nonprofits take time to document and define their processes.  And if you don't have time or capacity to do this, stick with solutions with pre-built model practices. If you can't define your process, flexible software will exaggerate the lack of definition, so just don't do it. I don't mean to imply that lacking the time and capacity is a bad thing, it is just important to acknowledge where you are.

Then before you choose software, take time to understand the type of solution best fits your org's skills, needs and capacity, then do a first selection round on match. Then when you do the second round, tell the vendors your biggest struggles, what you hope to accomplish with the solution and what success looks like.  Then ask them to demonstrate how they would address it, rather than feature comparison.

 This post is a part of a series of posts, to get more context read the first post.

Wednesday, September 30, 2015

Custom Software (Part 2): Custom Software = Custom Problems

INTRO- This post is the second of three about custom software. You can read the opening post here.

Custom software is built to meet your exact needs! How can you go wrong?!?

But before I go too far, I do want to say there is a right time for custom software, but with new choices available today I think those times are minimal.  To help you think through if custom software is right, I would read this post on when to build your own solution. I would also like to add that when I talk about custom software in this post, I am talking about true software development from scratch, not configuring or personalizing an existing platform. Anyway....

Question #1 - who will support it when it breaks?

If you build something no one else has, who will you ask for help? It is like buying a custom built car that runs on garbage and flies, then expecting any mechanic to fix it. How will they know what parts to use? You will either need to hunt down the person that built it, good luck finding them McFly. Or you will need to find someone who understands garbage powered flying cars and then let them take the time to learn how your car is setup... every time it needs repairs, not to mention improvements.

A custom software will have custom problems no one has seen before. There won't be a user group to turn to, documentation on how other's solved it or FAQs. You will be the first to ask.

Question #2 - how will you keep it fresh?

How many movies start with someone finding an ancient, super powerful technology, but no one knows how it works? Often custom software is awesome when it is launched.  But then process changes, technology changes, users change, leadership changes and time passes. No one remembers why it was built the way it was, no one remembers what the key development decisions were or what the purpose was. So a new team comes in, finds the custom software and looks at it like the apes in 2000 a Space Odyssey.

Question #3 - who will support the users?

If you build custom software, there should be a plan to have experts on hand to support it, plus a back up plan if that expert resource disappears.  Because people who like to build new, cool software are typically not the same people who like to stick around to help users. They will often move on to the next cool project. So you will need a couple types of experts, people to fix it, expand it, support it, document it, train users, support users, etc.... You might get lucky to find the one person that can do it all, but we all know where that ends in burnout (not to mention what happens when you replace the custom software).

Question #4 - how will you course correct?

Custom software relies on someone understanding the processes to be built, data to be collected, problems to be solved, reporting needs, user needs and so much more.  There is bound to be something built, implemented and later found to not meet the intended purpose.  Often this is where work-arounds built with spreadsheets start to grow. But as this happens people rely on the data in the work-arounds more than the system because they control it and know how it works.

So once the custom software is built but isn't working, you will have a new custom problem to address. Who is watching for these issues, does the analysis, creates the process map, designs the solution, implements it and then trains the staff (plus supports it).  These course corrections will not stop, things change and developers don't always get it right (especially if the original request wasn't clear).

Custom software is built to meet your exact needs! How can you go wrong?!?

Things will go wrong or change with software. With custom software is your custom problem. But hey, if you really are solving a new problem

Addendum: Custom Software vs Configured Software
I know this post seems very negative on Custom Software, which frankly it is (sorry if it was snarky). I will restate that I do think there are situations which demand innovation and outweigh the risks of custom software. But I would stress exploring new cloud platforms which allow configuration (click not code) to meet your needs, plus allow for code. This allows personalizing to meet your orgs needs, but keeps you in a sustainable environment. You will have flexibility within limits but still get updates, support, enhancements and be in a community. Today's solutions provide you the tools to customize many parts of the system as an administrator through wizards and user interfaces to make changes without code.

Side thought...
This post really could apply to custom websites or any custom code really.

The next post will focus on Custom Process vs Best Practice.

This post is a part of a series of posts, to get more context read the first post.

Tuesday, September 15, 2015

Custom Software (Part 1): Complicated or Complex?

INTRO- This post is the first of three about custom software. You can read the opening post here.
"Our needs are very unique, most systems won't work for us."
"We have a complicated model and process, it is hard to explain."
If you have worked for a nonprofit, you have heard (and probably said) these statements. But before dig into what I think lies behind these statements, lets agree on my definitions of Complex versus Complicated.

Complicated - difficult to analyze, understand, explain, etc. (from I interpret this to mean the methods are not clear, defined or purposeful enough to be explained. 
Complex - so complicated or intricate as to be hard to understand or deal with (from I interpret this to mean there are many defined, intricate parts aligned to meet a need requiring multiple solutions to address.

Not sure I have expressed my thoughts on the distinction clearly. Basically, I think we over complicate many things as nonprofits (and companies and personally, not unique to nonprofits).  We build our process over time, tailored to staff, tied to grant\funder requirements and to meet our immediate needs. We react. This creates complicated process. Difficult to explain, because it is cobbled together. Difficult to understand, because it was designed to meet a range of needs instead of focusing on the process. Difficult to analyze, because there is no purposeful pattern or outcome.

Some things are simply complex. Solving big problems like homelessness, poverty, education, etc is complex. My last organization, The Cara Program, had a complex program model, not complicated.  The program to return people to work had a number of elements including admissions, transformation training, professional training, personal coaching, placement, retention and advancement. Each element was intricately designed to support the overall outcome of lasting change, but each element requires unique skills, steps, metrics and management.  Trying to explain the structure in general is easy for the staff, not complicated, because everyone gets how it all works together.  But if you tried to dig in and understand how The Cara Program operates, it is complex.

Is the distinction more clear? (or at least my thoughts on the distinction-I know people will nit-pick this apart!)

What does this have to do with Custom Software?

All of this complicated process translates into a messy software selection process.  Often one of the things immediately cut or never even considered during software selection is process mapping. We jump straight to the needs assessment. We get everyone together and start listing out everything the software has to do, without even understanding why we do it or how it could be done differently. We do it now, so the software has to do it.  Therefore, our needs are complicated and none of the solutions out there will meet our needs. We must need custom software....   oy,

I would ask yourself, if there are no solutions out there which do it exactly how you do it, are you doing it wrong? Do you need to keep doing it that way? If you changed, would your outcomes change? There are times when innovation and custom software is required, but those times are limited especially with the new platforms available today.

What I would suggest you do before simply stating your needs are complicated.
Documenting your processes before selecting new software gives you a chance to figure out how you work. But it also gives you a chance to ask why and to look for what is important versus what can change.  It is easier to simplify a process when you understand it, along with how it all works together.

Understanding your process and goals helps you understand what you should simplify and what is necessitates complexity can help avoid complications. This is not about software, it is about finding the most effective way to meet your mission.

The next post will focus on Custom Software = Custom Problems.

This post is a part of a series of posts, to get more context read the first post.

Monday, August 24, 2015

Custom Software! We are so unique and complicated!

I can't count the number of times I have heard nonprofits say:
"Our needs are very unique, most systems won't work for us."
"We have a complicated model and process, it is hard to explain."
"We have limited tech experience, so we just do it all in Excel."
"We are too busy, we need to hire more staff to keep up."
There seems to be this peer pressure to brag about how unique a nonprofit's needs are. (This isn't any different than everyone bragging about how over busy they, like that is a good thing.) You aren't cool unless you are complicated. I don't get it. I know the problems nonprofits are trying to solve are massive and messy. Funders and donors exaggerate this on occasion by favoring those with a new approach, all while requiring unique reports and often not funding technology. The problems nonprofits have are real, but are we taking the time to rethink how we work to match the opportunities technology brings

Over the next few posts I will cover some of my thoughts on complicated process combined with custom solutions.
  1. Complicated vs Complex
  2. Custom Software = Custom Problems
  3. Custom Process vs Best Practice
These ideas have been growing and changing in my head for years, but my new job has finally brought it all full circle. I finally have some close to complete thoughts on this. Which is good because some of these things have been driving me crazy for years.

Monday, August 3, 2015

Standalone Technology Strategy Is Dead. Long Live Stand Alone Tech Strategy

Every now and then I read something which sends me in a time machine chuckle.  I think to myself, "Self, haven't you read this already, like 20 years ago?"

"The days of building a standalone technology strategy are over."
This is the final line in a post on Outsource Magazine.  The idea is some orgs have moved all of their tech to the cloud, so there are no systems in house requiring tech support. SO hey, we don't need no stinking standalone tech strategy. Let's just completely integrate our tech plan into other areas.  It'll be great, THEY say. Everyone will help drive tech strategy and it will rock, THEY say.

I say get over it. The need for a standalone tech strategy still exists even if all of the systems are in the cloud.
If you have more than one system, who will think about integration?
If you have devices to access the cloud, who will think about those?
If you have staff using the technology, who will think about support and training?
If you want to re-engineer processes, who will do the mapping, solution planning, etc?
If you have new features released, who will think about how to use them?

I could go on and on. Not to mention, the need for someone to step back and have a vision for technology across the org.

Let's jump back to 1993. This model about Strategic Alignment from Venkatraman summarizes things for me.  We will always need technology thinking to happen from four different perspectives.

You can read about the model, but in essence it shows a need for technology strategy to:
  1. Start with Business Strategy, drive process, end with tech implementation 
  2. Start with Business Strategy, involves IT in definition, end with tech implementation
  3. Start with IT Strategy, suggest Business Strategy change, end with change process
  4. Start with IT Strategy, implement tech, end with change process

There are real needs for each of these types of strategy and without a standalone tech strategy to harness, drive and push these, how well do you think things will end? I picture a skyline consisting of a city of half built buildings without a tech strategy.  As long as you are in the middle of the city with your eyes down, getting the daily work done, you never notice the buildings don't get finished. But someone stepping back to view the horizon can see it clearly.