Blog

Susco Says

ONE:  Don't just "break the system" I remember my very first QA task when I started here three years ago.  I was testing a client’s internal employee management system.  I had never tested anything before, so I asked my project manager, “How should I QA the software?  What does that mean?”  He answered simply: “Do your best to break the system.”  Okay, I thought, should be easy enough.   So, when I sat down at my computer, I opened the user management screen and did my best to mess with it – invalid email addresses (example: cersei@lannister.net, ned@winterfell, harryunderthestairs.com), phone numbers with too many or too few digits.  And I made sure to document in Notepad every “error” I found this way. After about an hour of this, I proudly sent my list to the developer.  Look at all the bugs I found!  A few minutes later, the programmer walked over to my desk and explained gently that these were not the only types of bugs I should be looking for.  While it is worth knowing which fields catch invalid data types and which do not, this is only the beginning of the testing process.

What is an Emergent Workflow?

I'm not sure if there's any consensus on the definition of an emergent workflow.  It's a term that I use to describe a pattern I have witnessed in business software.  To me, an emergent workflow is a workflow that was not designed explicitly into a piece of software, but slowly evolved via users' usage of the system, and the development of conventions to support workflows as they develop.  If you have ever developed a piece of business software that manages any form of workflow, and that software has been in production for more than a year, you can be certain that there is an emergent workflow within that software – whether you realize it or not.

software developers

So What?

"There are only two hard problems in Computer Science: cache invalidation and naming things." - Phil Karlton. The above quote, while somewhat tongue in cheek, wears the ring of truth.  Naming things is hard.  Even when you put enormous effort into consistent and clear naming, you will invariably end up with some muddy and inconsistent caverns in your code.  And when you are unfortunate enough to inherit code from someone (or multiple someones) who put no effort into their naming...You're in for a world of pain.  If you have been programming for any length of time you know what I am talking about.

software managementLet me take you back to the year 2011.  This was a big year for us, as Susco had made a big name for itself as one of the first movers in mobile app development studios in the State of Louisiana. We were growing revenue at 50% per year and collecting awards like they were going out of style. At the time I was a babe at 33, not a grey haired 39 year old –  so needless to say, the success started going to my head. I thought of myself as being very emotionally intelligent with how I dealt with people, but it’s very easy when growing a company to do a great job focusing on the way you treat your clients and referral sources but not apply the same effort with your staff.  This blind-spot almost cost me one of my best employees at the time.  In the interest of protecting the innocent, I’ll refer to them as “Bob”.  So, here we go…

custom software We get this question a lot from business owners in the middle of a growth phase. Often, they are already using systems for accounting and CRM (Customer Relationship Management), and they are not sure what processes could be improved, and if there is a business case to improve them. Over the years, we've identified a number of clear indicators that it's time to invest in technology. This can be in the form of implementing a pre-existing Software-as-a-Service (SaaS), implementing a platform solution, or developing a custom software solution. We'll elaborate in an upcoming post on which of the 3 solutions is the right fit for you, but for now let's focus on the "smell test" of determining if there is a need. Some are obvious, while others are more subtle.

So how many times today have you stopped what you were doing so you could pick up the phone, press 1, and then one by one listen to the 5 or 10 voicemails that piled up while you were in your last sales meeting or project discussion? Did you have to listen to any of the messages a few times to write down that number they told you to call back on?

When your business requires a software solution, you have several directions which you can go. A credible custom programming firm can help you device by completing a detailed needs analysis so that they can provide you with the information needed for you to make the best business decision for your company. It's not always easy to device which application is right for your business. Below are a few pros and cons that may help you device.