Erin Miska, Colleen Powers, Author at Software for Good https://softwareforgood.com/author/miska/ Designing progress. Engineering change. Thu, 26 Jul 2018 14:55:49 +0000 en-US hourly 1 https://wordpress.org/?v=6.8 https://softwareforgood.com/wp-content/uploads/2023/06/cropped-favicon-32x32.png Erin Miska, Colleen Powers, Author at Software for Good https://softwareforgood.com/author/miska/ 32 32 8 Creative Ways to Make a Software Project More Affordable https://softwareforgood.com/make-software-more-affordable/ Thu, 26 Jul 2018 01:37:42 +0000 https://softwareforgood.com/?p=3304 If you’re thinking about custom tech but not sure about the money, try starting with one of these strategies to make a software project more affordable.

The post 8 Creative Ways to Make a Software Project More Affordable appeared first on Software for Good.

]]>
Working with nonprofits, social enterprises, and entrepreneurs, we know it isn’t always easy to fit a web or mobile application into your budget. But we don’t want to let funding stand in the way of using software for positive impact.

If you’re thinking about custom tech but not sure about the money, try starting with one of these strategies to make a software project more affordable.

1. Start small.

At Software for Good, we use the Agile methodology and Lean Startup model of building software. We develop by iterating, building a few features at a time and making changes as we go along. And we shoot for a minimum viable product, an initial finished version that can go public (or at least be tested with real users) as soon as possible. Focusing on the MVP means thoughtfully prioritizing the features that are most important.

It’s a lot easier to fit software into your budget when it doesn’t have to be big and complicated and perfect right away. You can start small with a simple minimum viable product, begin using it and getting feedback, and then build on it with new features over time.

2. Talk to lots of users upfront.

The biggest waste of money in software development happens when time and effort are spent on tech that no one actually wants. Maybe you think your audience needs a chatbot, but really they just need a more user-friendly contact form. Maybe you’re trying to organize information in a helpful way, but you’re using jargon that is completely foreign to the people you serve.

Avoid unnecessary expenses by talking to potential users before anyone starts designing or coding. Reach out to people likely to use your application, and ask about their likes and dislikes and needs. Send out surveys; sit down with people in person. You’ll challenge your assumptions and be able to focus efficiently on what’s most important.

3. Upgrade your online presence.

Start testing the waters for new software by making simple, low-cost improvements to your existing online presence. Create a schedule for updating and maintaining your social media and website on a daily, weekly, or monthly basis. Review all your channels to see who you’re reaching and which messages are working well, or pick one channel and focus on improving there.

Covering these basics helps you refine your message, interact with the people you serve, and set the stage to roll out a new website or application.

4. Take your idea to a hackathon.

At hackathons, teams of developers, designers, and people from every sector collaborate to build new technology. If you’ve got a problem to solve and an inkling of how tech could help, try pitching it to fellow participants. While you won’t walk away from a hackathon with a ready-to-go application, you can get feedback on your idea and an exploration of how it would work technically. You might even get to help build a working prototype that you can show to your coworkers, your board, potential funders, and eventually a team of developers.

Never been to a hackathon? The Twin Cities hosts a few that are focused on social and community issues and open to all comers, including Geo:Code and Code Switch.

5. Apply for grants.

Are you dismissing the idea of custom software because of the money? Don’t worry — there are ways to raise funds without digging into your own operations budget. If you have a clear sense of how technology will further your mission, you can apply for grants to cover the cost.

Here in the Twin Cities, the Shavlik Family Foundation focuses its grantmaking on helping nonprofits implement technology. A custom software project could also fall under grants for innovation, community engagement, or launching a new program. No matter what you’re applying for, taking time to think through your goals, users, and potential features first will help you make a compelling case for funding.

6. Fundraise.

You can also raise funds from your supporters to cover a new web or mobile application. While crowdfunding and more traditional fundraising campaigns certainly take time and effort, it can help to focus an appeal around a tangible project. Again, you’re more likely to be successful if you have a good sense of your goals and users — and perhaps even a working prototype — before launching a campaign.

7. Find a program designed to offer software on a budget.

Software firms sometimes offer discounted software for mission-driven organizations. Software for Good’s giving and internship program is designed for just that: We work with organizations with a purpose while offering paid, hands-on experience to software development interns. Learn more here about our program and see if it’s a good fit for your org.

8. Add technology to your strategic planning and budget.

A common thread here is that software projects are most successful and cost-effective when organizations think through the purpose and strategy upfront. Before jumping into development or pursuing funding, ask: How do you see technology helping you reach your goals? What problems are you trying to solve? What could a web or mobile app help you accomplish, and how does that relate to other programs, funding cycles, and the needs of the people you serve?

Better yet: Make these questions an ongoing part of your strategic planning and budgeting. You can start to see technology not as an extra expense, but as another tool to help you achieve your mission.

The post 8 Creative Ways to Make a Software Project More Affordable appeared first on Software for Good.

]]>
Software for Good: Product Shop or Consulting Agency? https://softwareforgood.com/product-shops-consulting-agencies/ Mon, 25 Jun 2018 22:14:29 +0000 https://softwareforgood.com/?p=3256 Two of the most common types of software companies are product shops and consulting agencies. Software for Good is a little of both because that’s what allows us to do the most good with our clients.

The post Software for Good: Product Shop or Consulting Agency? appeared first on Software for Good.

]]>
Two of the most common types of software companies are product shops and consulting agencies. What’s the difference, and which one are we?

(Spoiler alert: We’re a little of both because that’s what allows us to do the most good with our clients!)

What’s the difference between a product shop and a consulting agency?

For me, the main difference between these two types of software companies comes down to products versus projects — building a product for your own company, or working on projects for your company’s clients.

A product is defined as something useful or valuable that you produce and market or sell. Product shops usually have a mission statement and a specific market that they sell to, so the development work tends to be focused on that mission and market. There is typically a product owner or product manager who has a deep understanding of the mission and market, and they are responsible for defining the product based on market problems and needs. Product work is never really “done”; there’s almost always room to keep improving the product based on the changing needs of the market.

A project is defined a little more loosely as something you undertake; it could be a product, but it could be almost anything else too. Consulting agencies usually serve a specific market as well, but their clients all have their own mission statements that may or may not overlap, so the development work can vary a lot more depending on the client. The consulting agency may not have expertise in the subject matter, so they have to work closely with experts at the client company. Consulting agencies are typically hired for projects that have a start and an end, and they are often fairly short-term undertakings.

What type of software company is Software for Good?

Like product shops, Software for Good has a specific mission and market that we sell to. But like consulting agencies, we work with a variety of clients who all have their own missions, with some similarities but a whole lot of differences. Most of the projects we work on for our clients have a start and end, but many of them are products, and some of them are long-term.

Even when we’re working on a short-term project, we strive to understand how the software will fit into and evolve with the client’s long-term strategy. We work side by side with many of our clients to strategize and decide what to build, and to work with actual users to verify that we’re building the right thing. While we don’t have expertise on all the subjects our clients need help with, we often invest a ton of time into learning about those subjects, so that we can help develop long-term roadmaps for using technology to further their mission.

We are a hybrid! We think we’re pretty unique. (Did we mention we are also a B Corp?) Stay tuned for more thoughts on how this influences our team, our clients, and our processes.

The post Software for Good: Product Shop or Consulting Agency? appeared first on Software for Good.

]]>
Pace Yourself https://softwareforgood.com/pace-yourself/ Mon, 14 May 2018 16:54:54 +0000 https://softwareforgood.com/?p=3163 Life is a marathon. You'll never hit your goal time if you try to sprint the whole thing.

The post Pace Yourself appeared first on Software for Good.

]]>
In a past life, I was a distance runner. Any distance runner will tell you that it’s extremely important to pace yourself. It’s easy to go too fast at the beginning of a long run because you’ve got all this energy, but you know you won’t feel so energetic after a few miles, so you have to find a pace that is sustainable for the entire run. Common sense!

So why do we often forget this logical approach in other aspects of life? I see it all the time. People exhausted from juggling too many things at once, burnt out in their careers, feeling like there aren’t enough hours in a day, having trouble getting out of bed in the morning. I think almost everyone feels like this at some point. I’m actually one of the worst perpetrators because I tend to have too much drive for my own good.

But in my experience, if it feels hard to keep going, it usually means I’m going too fast. I try to remind myself that my career is a marathon, big development projects are marathons (I actually don’t love that scrum uses the term “sprints”), my marriage and friendships are marathons, remodeling my house room by room (while living in it) is a marathon… Life is a marathon! You’ll never hit your goal time if you sprint the whole thing. You may not even finish. Or, instead of enjoying your runner’s high, you make just puke.

The post Pace Yourself appeared first on Software for Good.

]]>
Ask All the Questions https://softwareforgood.com/ask-all-the-questions/ Tue, 20 Mar 2018 20:43:06 +0000 https://softwareforgood.com/?p=3008 Last week my writing pal Colleen wrote about asking “Why?” This week, I wanted to write about asking questions in general. As the resident newbie at Software for Good, I have been asking a lot of questions. When you’re in a role for a long time, you build up this web of context and knowledge […]

The post Ask All the Questions appeared first on Software for Good.

]]>
Last week my writing pal Colleen wrote about asking “Why?” This week, I wanted to write about asking questions in general. As the resident newbie at Software for Good, I have been asking a lot of questions. When you’re in a role for a long time, you build up this web of context and knowledge and skills. But when you start a new role, you have to rebuild most of that from the ground up.

They say there’s no such thing as a dumb question, but I have to admit, I have felt sheepish about my questions more than a couple times since I started working here. It can be especially stressful for us introverts. So what do I do when I have a question I feel like I should know the answer to? Power through it and ask anyway! Get comfortable being uncomfortable! It’s the only way to learn. (Or, if it’s a really silly question, there’s nothing wrong with hiding in a back room and Googling it!)

Even if you’re in a senior role, have been doing the same job in the same company for years, or consider yourself an industry expert, most tech roles require you to learn about topics you’re not an expert in. Developers have to keep up with new technologies, tech support has to field questions about anything you can think of, and technical writers are tasked with explaining things they don’t fully understand. This means more questions!

all the things allie brosh

We all have more to learn, so ask all the questions!

The post Ask All the Questions appeared first on Software for Good.

]]>
What Does a Technical Project Manager Do? https://softwareforgood.com/technical-project-manager/ Wed, 28 Feb 2018 17:35:43 +0000 https://softwareforgood.com/?p=2990 I’m over the moon about joining Software for Good this week as their new Technical Project Manager! No judgment if you are wondering what the heck that means; it can be a pretty elusive job title. I think this is partly because “Project Manager” is used in so many different industries. Regardless of the industry, […]

The post What Does a Technical Project Manager Do? appeared first on Software for Good.

]]>
I’m over the moon about joining Software for Good this week as their new Technical Project Manager!

Erin Miska

No judgment if you are wondering what the heck that means; it can be a pretty elusive job title. I think this is partly because “Project Manager” is used in so many different industries. Regardless of the industry, it often involves things like planning, coordinating, monitoring progress, facilitating communication, keeping stakeholders informed and happy, managing budgets and timelines, etc.

In software development orgs, “Technical” often gets added in front of the title just to set us apart from project managers in other industries. Truthfully, I find the term a bit daunting; I’m not technical in the “I can write code” sense, and I’ve worked with extremely technical software engineers throughout the years… I guess it’s all relative! For me, managing software projects really comes down to two main things: communication and organization.

Communication
The project manager is essentially the liaison between clients with needs, and engineers who build stuff to fill those needs. Doing that well requires constant, clear communication between them. The hard part? The clients and the engineers don’t speak the same language. The project manager isn’t necessarily fluent in those languages either, but they have the time and patience to ask questions until they understand enough to translate back and forth. This saves the engineers a lot of time so that they can focus on what they signed up to do—build cool stuff!

Organization
The clients’ needs can often be pretty complicated, and the engineers can’t solve all their problems overnight. (Engineers have hobbies and families, too!) A big part of the project manager’s job is to work with the client and the engineers to break down the work into small chunks that we can actually make incremental progress on. Determining the size and order of those chunks can be tricky, but the project manager is there to help with all of that.

I like the role because I get to put my communication skills to the test, work with super smart engineers who always keep me on my toes, and ultimately help build cool stuff that solves problems for people. So there you have it! Technical Project Managers in a nutshell. Probably an oversimplification of a complicated job, but the tech writer in me likes to keep it concise. At least you’re starting to get the idea!

The post What Does a Technical Project Manager Do? appeared first on Software for Good.

]]>