Author: Mark Graylish
Like many things in life, the software development process is an art form which balances various conflicting priorities, resources, and time-lines. Everywhere from the highest levels of government, through business, art, and sport, and right down to family life, there’s never enough time or money to accomplish everything that everybody wants or needs, in the time-frames they need it.
With software development, the balance to be struck is usually between the developers natural instinct to deliver a complete, fully tested & polished product without any bugs versus the marketing and sales departments need to get a product out there to sell as soon as possible, either to get a jump on competitors or to catch up so deals aren’t lost.
As the Senior Business Analyst, it’s my task to balance these needs. Celayix wants to get product to the market, that the market wants and needs, in a reasonable time frame, and at a reasonable cost. Keeping a lid on that cost means we don’t have un-limited resources at our disposal so work has to be prioritized. As an example of how this works in real-life, a product may not contain all the expected features when it’s first released. We work through several iterations, with the first iteration just including the bare, must-have functions to showcase the potential. Subsequent iterations will build on and expand the initial functionality. Over time, the product matures to include all the key features for the target market.
Often, we get specific requests from clients to product custom functionality for them – typically, this is in the form of a custom report or maybe an export file for importing shift hours into their payroll system. Other times, it’s a request for a brand new feature which isn’t in the product. With the latter type of request, we apply some judgement as to whether the feature being requested is very specific to that client’s exact requirements or whether the feature being requested could be used by other clients, either across all industry segments or just within the same industry.
Whilst custom reports and/or payroll export files are likely to be client-specific, the development and testing work is chargeable. Brand new functionality that’s potentially useable by other clients can be done on a cost-sharing basis if we judge there is likely sufficient interest to re-coup some of the development costs – in which case, we’ll frame the development work in a more generalized manner that provides additional flexibility that extends the usefulness of the feature beyond the requirements of the originating client.
A good example of this is the upcoming shift bidding functionality requested by one of our clients who staff a convention center. This client has a unionized workforce with a collective bargaining agreement which specifics short notice changes to the schedule are offered out to employees in seniority order. They also requested the notifications to employees be routed via SMS. We’ve taken the decision that this type of functionality could well be used by other clients so the feature, when released, will include different priorities for offering the shifts other than just seniority. Furthermore, there will be more options for the notification types, including e-mail and in-app notifications in addition to the SMS originally requested.
We’re also in the midst of a major project at the moment, targeting the hospitality market. We’re excited by the potential this market offers, and have engaged with current and potential clients within this market to better understand their wants and needs, whilst ensuring the clients receive a true return on investment. Again, we are building in enough features that can be adapted to other needs whilst ensuring we meet all the main business requirements of the original clients. Obviously, the market never stops developing product and as a company we’re always keen to learn what our clients are thinking, so please let your account rep know if there’s anything that our employee scheduling and workforce management software needs to do, that it doesn’t do now!