category: software remodeling

  • Converting a large VB.NET project to C#
    SEP 11, 2018 Written by Ben Johnson

    This wasn't the sexiest project we've ever worked on, but a combination of good tooling, careful preparation, and a fair amount of mind-melting compiler error resolution made this a one of our best remodeling efforts of 2018.

  • Want Better Software? Focus On Communication.
    MAR 29, 2018 Written by Andrea Goulet

    If you want to eliminate your technical debt, communication HAS to be a critical component of your efforts. If you're struggling to break up your monolith and move to a microservices model, the first place to look is how your team is communicating. Command and control silos will result in monoliths. Self-organizing and autonomous teams give rise to microservices.

  • The Theseus Paradox of Software
    JAN 15, 2018 Written by Brian Bassett

    In many ways the Ship of Theseus paradox is quite similar to software development. Is this app the same one it was five years ago? How about two? What about after the massive refactor we *just* finished? If it still serves the same business users in the same capacity, but we rewrote it, does it matter?

  • To rewrite or to remodel? That is the question.
    JAN 8, 2018 Written by Andrea Goulet and M. Scott Ford

    Your software isn't working the way you'd like. What should you do? Scrap everything and start over or slowly transform your application into something more in line with your vision. In this post, we explore the differences, strengths, and risks of each approach.

  • The Never-Ending Feature Party
    JAN 2, 2018 Written by Andrea Goulet

    Software is one big party! The question is: When's the optimal time to pause the partying so that you can restock and clean up? Well, it depends on who you ask.

  • Using Metaphors to Drive Business - Part 2, the 200-Point Inspection Metaphor
    MAR 14, 2017 Written by Wendy Closson

    In my last blog post, I explained why metaphors are so important and how they can help raise our chops (and our hopes) when it comes to influencing the business side of things. The Seat Belt metaphor used in my previous example may have worked great for some, but not for others. Keeping a few different ones at the ready helps you adapt on-the-fly and better connect with whomever you’re speaking with. Another one of my favorite car metaphors to use is inspections.

  • Throwaway Code
    NOV 1, 2016 Written by M. Scott Ford

    Over the years, I've heard a lot of different attitudes regarding code that’s going to be thrown away. Let me be clear here. I’m not talking about code that we think might get thrown away. I’m talking about code that we know will get thrown away.

  • KonMari Your Code; Refactor Your Life
    OCT 13, 2016 Written by Andrea Goulet

    Is your code difficult to work with? Chances are, it’s time to get rid of code you don’t need. That can be a scary prospect, but the rewards can be well worth the effort. Recently, I was inspired by KonMari, a technique for decluttering physical spaces, to help me visualize how to refactor codebases to make them easier to work with.

  • My Quest for Mediocrity
    AUG 30, 2016 Written by Don Denoncourt

    “How would you rate yourself as a programmer?” They always have to ask THAT question in job interviews. And I hate it. So much. Why do I hate it? Because I know they won’t like my answer. But what am I supposed to do, lie? Nope. I have to be honest. Which is why I take my time before responding. I take a deep breath, look deeply into the eyes of the interviewer, and, finally, I say: “Average.”

  • Software Remodeling
    AUG 11, 2016 Written by Andrea Goulet

    My dad is a self-described contrarian and eccentric. I love that about him. He doesn’t ever do something because that’s the way you’re “supposed to.” He’s also incredibly driven and energetic. He’s a fixer. If he sees a problem, watch out. If it aligns with one of his passions, he’ll put all of his energy towards finding a solution.

  • Renaming Rails Models: A Do-Over Approach
    JUL 21, 2016 Written by Don Denoncourt

    The process of renaming models in Rails can be very error prone. To just start renaming files and changing class names and search-replace variable names is fraught with peril -- so I figured having the ability to repeat the process, in essence fix my scripting mistakes and “do-over,” was important.

  • Why We Stopped Estimating Ongoing Development
    MAR 4, 2016 Written by Andrea Goulet

    Estimates are useful. They help business owners predict and control their budget, scope, and timelines. Right? Well, not always. Over the years, we’ve learned that there are some projects where estimates work great and others where it’s a disaster.

  • Delayed Job on OpsWorks: A Chef Recipe Debugging Story
    JAN 5, 2016 Written by Don Denoncourt

    One of my current projects' Rails application is hosted on AWS OpsWorks. OpsWorks is a lower-cost alternative to Heroku and EngineYard that still provides a full-suite of features, from deployment to scalability and fail-over. As with most Rails applications, this application requires background tasks.

  • I Lied About My Role Model in a Job Interview
    OCT 25, 2015 Written by Don Denoncourt

    When I was interviewed by Corgibytes for a lead developer position, I was asked who were my role models. I responded David Heinemeier-Hansson (DHH) and Kent Beck. I expounded: DHH because he is a business developer rather than a computer scientist and he has great ideas about achieving excellence while maintaining a work/life balance. And furthermore Kent Beck because, as brilliant as he is, he still sees himself as a coder. Whatever.... The thing is, I lied.

  • 5 Reasons to Try bitHound for Your Next JavaScript Project
    OCT 13, 2015 Written by Andrea Goulet

    When a JavaScript project comes our way, we’ve found bitHound to be a fantastic tool to help us understand where we can have the most impact on a project. We love them, and not just because their company also has a dog in their name. So what makes bitHound stand out from other static analysis tools out there? We’re glad you asked.

  • Developer Differences: Makers vs Menders
    AUG 14, 2015 Written by Andrea Goulet

    While it's true that there are many software developers who do enjoy starting with a clean slate, there is also a group who loves working on making existing applications better. Rather than starting from scratch and building an 80% solution, these developers are ideal for taking over a project once it's become stable, and nurturing it for a long time. Neither developer is better. Both are needed in the software world. You just need to understand when to use each one.

  • Hey, White House! APIs Are Not Copyrightable.
    JUN 1, 2015 Written by M. Scott Ford

    There's been an interesting case winding it's way through the court system in the United States over the past few years. The outcome of the case is hinging on one small question: Can you copyright an API?