Is Software Development a Craft?

My bi-weekly link collection, including: innovation, continuous improvement, and sales metrics

Is Software Development a Craft?

In some ways, yes.  In other ways, no.  The pursuit of perfection is one of the hallmarks of craftspeople.  When developers care about their work on a personal level, customers receive the best value.  The RIS model, where developers interact directly with clients, encourages this craftsperson approach and results in highly custom solutions to clients' exact needs.  As Dave Nicolette describes, the "end result is so much better than when the work is done carelessly by people who aren’t fully engaged with their occupation."

Use the "Third Way" Approach to Innovation to Deepen Ties with Existing Customers

In 2008, Gatorade was struggling to compete against Powerade, despite an aggressively expanded line of energy drinks.  However, Gatorade reinvigorated growth by expanding their offerings to pre- and post-workout nutrition products, which was an incremental innovation focused on their core customers' (athletes') needs.  This "Third Way," a product family approach to innovation, allows a company to deepen their ties with their core customers by providing more value and strengthening their core branding.  Instead of risky disruptive innovations, this style of innovation leverages existing strengths and relationships to power growth.

Incorporating Continuous Improvement (Kaizen) Into Small Businesses

We've talked before (here) about the importance of continuous improvement and how to incorporate it into small and medium businesses without necessarily adopting the full lean and/or six sigma frameworks that work well in large enterprises. For small and medium businesses, it is most important to foster a culture of "step-by-step improvement in productivity and quality, practiced by staff at all levels," ensuring that people feel needed, supported, and valued as individuals along the way.  Soliciting small ideas at staff meetings is a good place to start.  "Celebrate small ideas, wait for ideas to come even if this means a pause in discussion. Help your team realize they have two roles – doing their normal tasks and activities, and contributing improvement ideas."

Improve your Team by Improving their Feelings of Psychological Safety

Being able to admit when things aren't going right is part and parcel of continuous improvement.  Unfortunately, many cultures discourage admitting mistakes, making it less likely that everyone in the organization will contribute to improvement.  Laura Delizonna offers a few tips for improving psychological safety on teams:

  • Approach conflict as a collaborator, not an adversary
  • Speak human to human
  • Anticipate reactions and plan countermoves
  • Replace blame with curiosity
  • Ask for feedback on delivery
  • Measure psychological safety

Choose the Best Metrics for your Sales Team

The proliferation of metrics has led some management teams to measure everything.  The result is metrics overload.  "Managers don’t have a clear sense of what is really driving sales in their business" and salespeople are buried in dozens of metrics, unable to cut through the noise to use the metrics to impact their decision making.  The article suggests focusing on leading metrics (e.g. demos, web registrations, calls, or C-suite-level meetings), which offer "real-time feedback on whether salespeople are spending their time and efforts in the best way."

Senior Executives get Burnt Out Too

Countering burnout and ensuring that junior and mid-level employees love their job is a common focus in businesses.  However, it is just as important for senior executives to be engaged and love their jobs.  Jacob Morgan presents some of the ways that executives find meaning in their jobs and avoid burnout.

Let us know what you think of these links using the contact form below!

How Much Will My Software Cost?

How much will it cost?  This is probably the most common question we get when talking with clients and prospective clients.  It's understandable.  Software development is often expensive and difficult to estimate.  People have been burned in the past by software that ended up not meeting their needs while simultaneously costing a lot of money.  That is clearly a recipe for trepidation when undertaking new software projects.  However, it doesn't have to be this way.  Below, we'll talk a bit about how software projects end up being more expensive than estimated and present a different approach to software development that can stretch the investment over time while resulting in software that better matches a business's needs.

The traditional style of software development, often referred to as waterfall development, involves gathering all the requirements for software at the outset, estimating how much it will cost to build each one, and adding them all together to get the total cost of the system.  Unfortunately, that total estimated cost is almost always wrong.  There are a host of factors that conspire to make those estimates inaccurate, but two of the major factors are:

  • Users often don't know for sure what they want - They have ideas and visions, but those visions change as they see more of the software and start to interact with it.  This is in no way a bad thing, quite the opposite, it ultimately results in software that does more for users and is better fitted to their need.  Unfortunately, it's nearly impossible to account for at the start of a project
  • There may be technical hurdles that are unknown before development starts - As much as developers would love to know every single corner of a programming language or technology platform, the truth is that they can't.  So, they do their best, based on their experience, to identify where they may encounter challenges and complexity.  But, as they say, you don't know what you don't know, and there are usually areas that are more difficult than anticipated.

We find that the main flaw in this approach to software development is that it treats the development of the system as a one-time event.  Get everyone together, build the system, deploy it, pack up and go home.  Job well done.  This simply isn't how business works though.  Consider, how many parts of a business can be done once and never considered again?  Very few aspects of business meet those criteria.  Instead, most areas of business require ongoing investment and continuous effort at improvement.  For example, marketing in a business is an ongoing process of interacting and communicating with customers.   Marketing is such an ongoing function that businesses typically allocate a significant percentage of their revenue to sustaining those activities (4%-24%, depending on the industry!).

We find that a similar approach to developing and maintaining information systems is much more effective than a one-time system development.  By making continuous investments in software systems, the systems can evolve and grow along with the business, keeping their functionality closely aligned with the needs of the business.

Here are three tips for changing how your business, develops, maintains, and ultimately benefits from its software.

Develop a software plan

Successful businesses make organized plans for their growth.  They have a business plan, a marketing plan, production plans, hiring plans, on and on.  One of those plans should be a software or technology plan.  This plan should identify the impact that all the other plans will have on the needed functionality of the business's technology and identify what is needed to make sure the software can meet those needs.  We wrote in more detail about developing software plans in a previous post.  If you don't have a plan and are not sure where to start, we can help you identify your technology needs and develop a plan to meet them.

Set your budget

Consider how much you should be investing in your software on a regular basis.  While there is more variability in technology investments than in marketing investments, you should determine what is appropriate for your business.  A few of the premium research services (e.g. GartnerComputer Economics, and Forrester) provide extensive research if you want to benchmark.  However, you can also use a bit of trial and error to zero in on the appropriate budget for your business.  The most important aspect is to commit to the continuous investment in your information systems so that they contribute rather than hinder your success.

Find a trusted partner to implement the plan

Developing and maintaining software requires consistent partnership with the person or team developing the software.  The developer must understand your business, your strategic goals, and how your business is changing.  With that knowledge, they can work closely with you to continually refine your software plan and continue to evolve your software to meet your needs.  Your partnership may be with an internal software team (or person) or may be with an external development team.  Success can be had either way.  If you are not sure whether internal or external developers are best for your business, keep your eye out for our future post on choosing between an in-house development team and hiring an outside team.

If you're not sure where to start with your technology or what your next step should be, contact us below for a free consultation.

Effective Analytics Starts with the Business First

Also, continuous improvement is messy, retrospectives, and wrong thinking.

  • Using data analytics effectively starts with the business first.  Analytics are a means to an end and the end is business performance.  Ensuring that analytics efforts are guided by the underlying business goals is vital to reaping the expected rewards.  This means that, before embarking on an analytics project, it is vital to define the goals and how the project fits within the overarching business goals.  "Just about everything businesses do can be broken down into component parts."  By breaking your business down into these components, you can focus your analytics efforts on specific parts of the business to optimize them.  Starting with a narrowly focused area allows you to achieve early success with analytics that can be built on in future projects.

 

  • Managing consumer relationships in the age of Amazon is increasingly reliant on technology.  This article describes how brands can connect with consumers in this changing retail landscape.  As more and more shopping shifts to digital platforms, effectively using those platforms to connect with and sell to customers is becoming an absolute must for direct to consumer brands.  Ensuring that customer interactions bring value wherever they occur keeps them happily engaged with your brand.

 

  • Using continuous flow and continuous improvement can help avoid the hidden costs of batching.  Batching can happen in many ways and often unintentionally.  Processes that result in batches can cause strains on resources as well as poor experiences for customers.  An example from the article is the discharge process for a hospital, which results in many patients discharged at the same time and puts a strain on the team responsible for transporting patients out of the hospital.  Reworking that process reduced the resource strain on the transportation team and improved patient experiences in what is typically their last interaction with the hospital before they leave.

 

 

  • Continuous improvement can be a messy process of discovery.  Embrace it!  The organic process of discovering how to improve and consistently working toward a better state is a fulfilling journey of improvement that can take many different paths.  Continuous improvement can be achieved through multiple frames of reference and finding the solutions to problems can take many different paths.  Incorporating continuous improvement and thoughtful problem solving into your organization's culture helps everyone work together to overcome the issues that will inevitably come up.

 

  • We wrote recently about retrospectives.  The Annual Retrospectives Report provides more detail about the benefits and challenges of using retrospectives for improvement.  This particular report is focused on software development teams, but the overall conclusions apply much more broadly.  One of the key takeaways, at least for me, is the amount of improvement in team dynamics that comes along with retrospectives.  The retrospective process focuses on how a team works as a whole.  It considers both how the team is working together as a team (team processes) and how the team is doing its work (work processes).  As a result, the team gets better at doing its work by simultaneously improving multiple aspects of the team.

 

  • Out of the box thinking is out, Wrong Thinking is in!  The idea is similar though, think and approach problems differently.  For example, try to imagine the worst way that you could solve a problem or flip a traditional role on its head.  The article mentions one executive who instructed his intern to "discover things I don't know," effectively flipping the usual roles on their head and allowing the intern to take the lead.  Like in this example, shaking up traditional hierarchies and granting agency to many people in your organization can unlock creative potential that you never knew existed.

Let us know what you think of these links using the contact form below!

Technology Planning: You Really Should Do It

Small and medium-sized businesses will make the most of their technology investments by building a comprehensive technology plan tied to overall business strategy and key goals. Is excellent customer service a key goal?  Your technology needs to support all aspects of customer service to be successful.  How about data for decision-making?  Do you get what you need when you need it? As your business changes, will your current technology flexible enough to change with it? A comprehensive technology plan will help you answer key questions like these and get you where you need to go!

Technology Planning Builds Toward the Future

We suggest using the steps below to build your comprehensive plan:

  1. Identify your overall business strategy and goals.
  2. Inventory your current technology  
  3. Connect your current technology to your overall business strategy and goals and prioritize changes
  4. Make your technology plan.

Identify Overall Business Strategy and Define Your Goals

Ultimately, your business strategy and goals drive your technology.  Understanding your vision for your company and your plans for achieving that vision form the foundation of your technology plan.  You can use a streamlined business planning framework like the Business Model Canvas or the Lean Business Model Canvas.  Both popular options can help you develop a solid understanding of your core value proposition and market strategy.

With that understanding in place, identify the specific targets and goals for the next 1-2 years.  Consider all aspects of your company such as:

  • Revenue
  • Market share
  • Production
  • Customer service

This list is not exhaustive and the areas that are important to focus on will differ for everyone.  Focus on the areas that are the most important for your business first.

Inventory Your Technology

To do your inventory, consider hardware, office tools, software applications, web presence (e.g. website and social media accounts), and telecommunications.  For each piece of technology in your business, identify:

  • What it is:
    • Type of hardware, operating system, office tool (i.e. Office 2013, etc.), software application, service
    • Include related information like make, model, version, serial/license number, vendor, purchase/contract date, and projected replacement date.
  • Who uses it, where, and for what. In your description, include the level of detail that makes the most sense for your business.
  • What did/does it cost: Include capital and operating costs and replacement costs

Connect Your Current Technology to Your Overall Business Strategy and Goals

As a whole, how does your technology inventory support your business goals and strategy?  As you consider these, use the retrospective format we previously discussed by asking:

  • What is working well?
  • What could be better?
  • What do you want to change?  How do you want to build on what is working well?  How do you want to improve what could be better?  What do you want to do that you haven't done before? 
  • Prioritize changes based on the projected impact on your business success and identify the target timelines for implementing each change.

Make your technology plan

Now that you know your priorities for change, starting with the highest priority, make a plan for implementation:

  • Identify the resources you will need to plan your changes, such as consultants, research reports, or product websites, etc.
  • Gather the information you need and assess options and cost.  
  • Determine the timeline and process for implementation.

Regardless of the changes that your business needs, being intentional about technology planning will ensure that your technology supports your business goals.  If you're not sure where to start, contact us below.

Alex's Business Bits and Bytes for April 16, 2018

Here is my latest collection of interesting business and technology links.  I hope they spark new insights for you!

Let us know what you think of these links using the contact form below!