Posts tagged: testing management

Must haves for any IT Software Service Provider

I spent a couple years with a company that made some unbelievable strides in the time I was there.  When I first started, there were so many gaps in their processes that caused unneeded stress, unbelievable work hours, the highest customer dis-satisfaction I have ever witnessed and tension between team members.  I thought it would be interesting to post a paper I wrote, shortly after starting with this company since it has so much relavence to any IT Software Service Provider.  I’m happy to say that through everyone’s dedication, the hiring of an additional leader and a willingness to service their customers – much (if not all) of this is in full scale motion – and working very well. 

Below is really a combination of an initial gap analysis for the company processes, detail on previous process experience and general documentation to help guide change in 5 key areas:  Requirements, Testing, Estimation, Accountability and Project Management.

Requirements:  Any long-term successful software project must have clearly defined, well thought out, group decided upon, pre-work requirements.  This is a long drawn out process that may require long, somewhat boring meetings with the requestor(s), the developer(s), the PM, the testers etc – but it is key to saving time (=money) and reducing (in some cases eliminating) problems after the fact.  The cost to re-do things increases exponentially, hence the 1:10:100 rule or the waterfall effect.  It can be painful to implement full scale requirements documentation processes, but in the long run it will be extremely beneficial for the overall health of the business unit and technical teams alike and also helps more accurately meet the users needs at first crack.  Not to mention anyone that already has certain expectations made up in their mind, will be given a forum to get it out on the table before it’s too late.

Notes about effects and alternatives along the way can help pave the path for when a similar circumstance is met.  This may require some additional tests (business tests) so we know the process is running smoothly.  Lessons learned meetings, water cooler talk, whatever, however it gets to the PM or another appropriate party to document the missteps for future reference is extremely handy.  The key is for requirements, all changes (hopefully through change control) and outcomes to be documented and learned from, good and bad, from both the business and technical units.  As long as there is something being done that never has been done, there are probably going to be problems with the requirements, but they can be minimized greatly using the right steps.

Testing:  Testing should be not only for items that have come through the queue in change, but also complete regression testing for those areas that are effected by the change….for instance, a change in automatic payments somewhere in the workflow could also effect any of the payment logic processes downstream OR it could effect something upstream that will eventually hit that same point in the logic path.  Good communication (going back to requirements) upfront with the development team, testing staff and the business unit can help us determine not only WHAT needs to be tested, but also get a really good feel for the testing effort – which needs to be included in the total project completion estimates.

Essentially, as part of the requirements gathering, or at least as a follow up, we should have documented estimates for not only the development effort (i.e. – 20 hours to do “x”) but also for the testing effort (typically testing effort is estimated at exactly half that of the development effort, for cushion).  This is obviously flexible, but starting here is something close to industry standard.

Estimation:  Again, it all ties back to the requirements piece, but out of gathering those requirements, the PM should be able to have a really good feel for the total effort, on all fronts.  At the very least, it is a good precursor to successful, on time and on budget software project work.  We can start our estimates with “educated-guess” effort and learn from those and adjust accordingly.  This is part of a painful process, because at first, it may take more time to get things done, out the door, etc……but with near imminent certainty in the long run, things will get done more quickly and at a lower cost in both dollars and resources.  Having a good feel for what the total effort is going to be, is a crucial part to the success of any project and really shouldn’t be ignored or skipped over.

Accountability:  Some form of tracking of the efforts, even if manual, would be helpful in gauging how we are doing as a group, how time is actually being spent (for future reference) and, not to mention, show the business’ worth – which is no doubt huge to the holding company…..but how fantastic would it be to have documented proof that we are offering a significant return on investment?  There are many systems out there for time tracking, effort tracking, etc….but they can get very costly.  It would be ideal to find a way to track the total effort, tally the numbers and have this as a reporting tool……this could be something the PM could track, or otherwise designated. 

Project Management:  Ultimately, this piece will take care of itself with simple proactive organization, action and re-action.  Needed are requirements outlined and accurate estimations to be able to set goals.  The project should always be something that is finite.  It needs to have a clear start and a clear finish…….which doesn’t necessarily mean there needs to be tons of extra documentation and extra “busy work” for anyone, but it does mean that everyone should be on board with the expectations as to when something starts and when it ends.  This could be a simple patch or change to the system or something HUGE that takes weeks/months.  There are going to be uncertainties, risks, delays, problems and issues that will all need some action and attention….that’s a given, though we’ll hope they are always very small and non-threatening…..but given that, we need to control the things we can for “best success”.

Dansette