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.

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.

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.

Tuesday, July 28, 2015

16NTC and a new respect for the back office

My introduction to technology as a career was as a Finance Director at a local YMCA back in the 1990's. During those days it typically fell on the Finance or Accounting staff to manage technology  (actually it is still true for some today).

My initial interactions with technology in the Finance role highlighted the ability to transform operations, streamline process and automate manual procedures. This was before the consumerization  of tech with gadgets and before the onslaught of Social Media.  We knew technology could help our org run better.  But I wonder if we take it for granted now and ignore the new capabilities technology has to transform how we work.

As I have begun my new role at NetSuite on the Social Impact team, we have been taking time to think through the capacity of our Grantees to use a solution like NetSuite.  This really got me thinking, when was the last time I saw a session at NTEN focused on finance\operations and technology at NTC? But then I wondered, would anyone even go, they are not nearly as exciting as the scads of crowdsourcing and social media sessions?

So I have been resisting the urge to promote the sessions I suggested, hoping the inherit value would garnish votes, but alas here is my attempt at suggesting we pay attention to the back office.  So please take a moment (if you agree) to vote for these sessions.

Don’t ignore the back office

IT Alignment:

Leveraging Expert or Technical Volunteers

Process Map to Business Requirement

I hope to see all of you at 16NTC!

Monday, May 11, 2015

New Adventures for Steve Heye!

The Steve Heye you know today is not the same as the Steve Heye from years past. I owe my revival of passion, motivation and tech skills to The Cara Program. I have never worked with such an inspiring, innovative, genuine and dedicated group of people. If you have never heard of The Cara Program, You NEED to visit them here in Chicago, simply amazing org. (

The Steve of the early 2000's was jaded and had a sort of lack luster passion. I was at an org I had dedicated my career to, and they laid me off twice. At times during these years my involvement in the #NPTech community was restricted by my job, I was not able to contribute the way I wanted to. But the leadership at The Cara Program embraced my love for and engagement in the #NPTech community. This allowed me to write blog posts, present webinars, speak at six different conferences in a year, contribute to an encyclopedia, and so much more, which I love because I got to share what I learned back to the community!

While at The Cara Program I got to be a part of challenging and rewarding work led by an innovative, visionary CEO, Maria Kim. The Cara Program is impact and metrics driven so technology was a critical element in the strategic plan. With the help of the unstoppable skills of Andrea Cote we made magic happen by changing process and implementing solutions which was eagerly adopted by staff and the org. So much fun! My job was so much easier with the support of my boss, the CFO, Carla Denison-Bickett. Carla helped me refine my approach to fit the culture of Cara, which I needed help with because it was very different than I was used to. There are countless other staff I could thank, like Erwin Delfin for keeping the actual tech running, but this post would get out of control quickly.

I also found a rejuvenation of mission driven passion at The Cara Program. I have never felt so close to the impact on the people we serve. In nonprofit technology we can often feel removed from impact and mission, but not at The Cara Program. I was able to be a part of the magic on a regular basis! I have never been the one to share "emotions" or go out of my way to affirm colleagues, but now I just can't help myself. Just like the Grinch, my heart has grown three sizes, but luckily did not explode out of my chest.

But it is time for a change, as of June 2015, I will be joining a new team at NetSuite! I will be joining the NetSuite Social Impact team as a Solutions Consultant! My role will be focused on working with small to mid size nonprofits interested in getting the NetSuite solution donated to them! NetSuite provides a core set of their technology free to nonprofits under $5 Million in budget and I get to help giving it away! Booyah. But not only will I get to be a part of helping nonprofits and giving them technology, I will also be a part of a team creating a model to ensure the nonprofits are successful in their adoption of the solution! Double Booyah.

NetSuite is a great fit for me because of its strength as an ERP, getting me back to my Finance days (my Finance degree). The opportunity will leverage my experience in software development, implementation, planning, adoption, change management and so much more. Not to mention my long background in nonprofits and technology, long live #NPTech! Leaving The Cara Program is bittersweet. I will miss all (and I mean all) of the staff, such a wicked smart, fantastic team. But this new opportunity seems to be basically built for my seemingly random resume and experience.

This is lucky for all of you though because my position at The Cara Program is open! Yes, you can take my job and join an amazing team, org and mission. The Manager of Technology position is posted on our Jobs Page, APPLY NOW or feel free to contact me about it as well.

I am excited to begin my adventure with the NetSuite Social Impact team, I have already met a few of them and I can't wait to get started making a difference with them! But don't worry we will all still see each around the interwebs and since I will be working from home, I will still be around in Chicagoland!

Wednesday, March 25, 2015

Emerging Technology Decisions (Nonprofit Examples)

This article was originally posted in Dimensions (a journalist publication from the National Catholic Development Conference). I redid a bit for a better read on a blog and threw in some pictures for fun.

I have a few stores I enjoy shopping at, but those stores also seem to know exactly how to get me to buy things I don’t want or need.
  • The hardware store has amazing sales and rebates on items which drive me to spend more time in the store, buy things and return for more when I get the rebate. 
  • The big box warehouse I shop at encourages me to buy everything in bulk. So an impulse buy turns into 30 items I don’t need, instead of 1. 
  • Then there's my favorite gadget store, they have the coolest things I never knew existed and the kid in me just wants to buy them. 
I think it is pretty easy to relate how we evaluate emerging technology to how we shop, which may result in efficient use of funds or unused technology. We need to have a purpose and framework to evaluate emerging technology.

Emerging technology is the wrong thing to focus on. It is only a means to an end. The real end goal of emerging technology is to drive innovation. So it makes sense to follow the steps for Unleashing Innovation. Luckily MAP for nonprofits, Idealware and NTEN have created a great resource to walk you through Unleashing Innovation. I will refer to the steps they have outlined and would encourage you to go read the full report. But I want to use some examples of how to approach emerging technology with two nonprofits I have personal experience with.

The steps from the Unleashing Innovation resource are:
  • Understand your Needs - Assess the things you could be doing better or differently 
  • Know what Technology is available - Take time to educate yourself about the technologies available (resources like Idealware and NTEN can help) 
  • Connecting the Needs - What is the catalyst or driver for exploring emerging technology 
  • Make the Change Happen - Get leadership support, staff buy-in and drive adoption 
  • What Success Looks Like - Define the planned outcomes and how you will measure it 

First a quick overview of the two organizations:

The Cara Program

I am the Manager of Technology at The Cara Program. The Cara Program is a workforce development organization focused on homeless or nearly homeless. We help them get and keep a job. We use a series of transformations classes, internships at social enterprises and professional development to prepare our students. Then a team of staff work with employment partners to identify job opportunities and match students to ensure a right fit. This is followed by a team of staff to stick with the student throughout the first year of employment. The culture is one of innovation, data driven decisions, tolerance for risk and ongoing change.

Leap of Faith Arts Ministries

My wife is the Executive Director at Leap of Faith Arts Ministries, a nonprofit focused on using arts to worship, and I volunteer to help them with their technology. Leap of Faith:

  • Much smaller and has limited resources.
  • As a Faith based organization their culture is rooted in their beliefs and impacts all decisions. 
  • As a newer, smaller organization their tolerance of risk is less and they need to focus on building a stable base. 
  • Their staff consists of an Executive Director, Dance Director and instructors, this small team has to focus their efforts on running the program.

These two orgs are different enough to illustrate how to approach emerging technology.

The first step is to understand your needs. 

The Cara Program
Leap of Faith Arts Ministries
  • Stable technology infrastructure, strategic technology plans, formal business process management and sophisticated data analytics.
  • They have needs to improve their workflows, innovate programs, build sustainability and drive long term change.
  • The technology needs are more focused on operations and supporting a smaller staff with limited budget. 
  • They have needs around creating efficiency, enabling communication, increasing awareness and establishing a stable foundation. This is the best time to involve others from your organization to build buy in during adoption.

This is no different than my example of the stores I enjoy. If I wander in to browse, without knowing what I need, I may leave with some cool stuff I will never use. Offering samples at the big box warehouse is no mistake, it purposely feeds on our impulses. Knowing what you need before you go to the store can help avoid the impulse buys. Now the exception may be if your need is to get new ideas, going to a store to browse and explore is a great idea.

The second step of finding available technology can happen in a number of ways. As a volunteer I help Leap of Faith Arts Ministries know what technology is available to them. They also belong to an organization called More Than Great Dancing which allows them to learn from similar orgs about the technology they are using. At The Cara Program we have a technology team of three staff, each taking time to learn about their perspective areas, as well as leveraging a group of volunteers in a Technology Advisory Committee. This committee provides an outside perspective and additional insight into emerging technology.

The trickier third step is connecting the technology to the need. It is easy to fall into the shiny object syndrome with emerging technology. You see an awesome technology and an opportunity, so you jump in and try it out. But having an opportunity is not the same as connecting to a need. Every organization needs to allow room for experimentation and pilots, however there should be a strategy behind it to avoid ending up with a collection of unconnected tools.

The other danger with emerging technology not rooted in a real need is experiencing a hype cycle ending with an unused toy. The technology hype cycle from Gartner shows the excitement when it is new, which quickly declines then levels off when the tool meets a real need (often way below the peak it originally reached).

I don’t buy too many things on a whim in bulk at the big box store. If I am going to try something new, I buy it in smaller quantity to try it out. And I know what my family typically likes, enjoys and needs before I go. Then I base my shopping on our budget, upcoming plans and what we already have. Much easier than trying to pick the right technology to meet the need and make sure it is useful.

Making the change happen is the fourth and toughest part of this process, especially if you haven’t done your homework in the first few steps to include your organization. A key to this step is defining what success looks like before the technology gets implemented. At The Cara Program a key to our adoption has been tying it to documented business processes and needs, taking the time to understand how we will use it before we buy it has been very effective. We also try out technology in small pilots while steering mission critical technology to integrated technology. At Leap of Faith it has been important to make all technology as easy to use as possible since there is no tech support. All technology is tied directly to a function, while balancing the faith based culture and limited resources. The innovation is really driven by cost savings and efficiency.

To close the loop (final step) you should compare the outcome to what you thought success would look like. Did the technology have the intended impact? Is the original need being met? Have things changed? Is the technology being used the intended way and is it sticking? This is a time to ask these questions.

Innovation driven by emerging technology can be a powerful way to radically change the way a nonprofit meets its mission and changes the world. It provides new ways to do old things, new opportunities and new ways of thinking, but without context on how you will use them or how they are needed in your organization, they will just be shiny toys. The way you approach emerging technology needs to be unique to your organization, goals, culture and mission. Be sure to read the full Unleashing Innovation resource to learn more about this process, then make it happen!