13.07.2015 Views

Software Process Improvement in Web Time

Software Process Improvement in Web Time

Software Process Improvement in Web Time

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The software architecture team identified more than 45 strategic risk items. Many of these perta<strong>in</strong>ed tothe security and reliability of the <strong>Web</strong> delivery <strong>in</strong>frastructure, critical for a heavily trafficked site engaged<strong>in</strong> e-commerce. As an example, one risk factor was that there might be security shortcom<strong>in</strong>gs that couldallow users to access off-limits directories on the <strong>Web</strong> server. Several risk factors related to the lead<strong>in</strong>gedge<strong>Web</strong> technologies the group was us<strong>in</strong>g. Others had to do with organizational, bus<strong>in</strong>ess unit, andmanagement issues, <strong>in</strong> part reflect<strong>in</strong>g the grow<strong>in</strong>g pa<strong>in</strong>s of this young development organization.We applied conventional risk management pr<strong>in</strong>ciples, estimat<strong>in</strong>g the probability that each risk couldmaterialize <strong>in</strong>to an actual problem and the impact if it did. This analysis helped us to prioritize theidentified risks. Aga<strong>in</strong>, we wrote an action plan to beg<strong>in</strong> mitigat<strong>in</strong>g risks selected from the top of thepriority list. Unfortunately, monitor<strong>in</strong>g the risk management actions did not float to the top of the busygroup manager’s priority list. To help make risk management succeed, assign a risk officer other than theproject or group manager to coord<strong>in</strong>ate risk management activities, and <strong>in</strong>corporate risk track<strong>in</strong>g <strong>in</strong>to yourrout<strong>in</strong>e project status track<strong>in</strong>g.CHANGE CONTROLSmall software teams often use an <strong>in</strong>formal approach for mak<strong>in</strong>g changes to their products. The personwho has an idea or who found a bug tells the programmer, who makes the change. This method does notscale up well. Change control and problem track<strong>in</strong>g constitute another software <strong>in</strong>dustry best practice. 7Despite the malleability of <strong>Web</strong> site software and data content, discipl<strong>in</strong>e is needed to effectively managechanges to <strong>Web</strong> products. We needed to manage five k<strong>in</strong>ds of changes:♦♦♦♦♦requests for new projectschanges to the requirements for projects currently under developmentproblem reports concern<strong>in</strong>g current systems or the <strong>Web</strong> <strong>in</strong>frastructureenhancements to current systemscontent changes <strong>in</strong> current systemsPractitioners sometimes th<strong>in</strong>k that simply <strong>in</strong>stall<strong>in</strong>g a problem-track<strong>in</strong>g tool constitutes a completechange control system. However, a change control system <strong>in</strong>cludes both a documented process and clearprocedures for the activities to be performed, and tools to automate some of these activities.We collected requirements for the change control system from several stakeholders who would use it orbe affected by it. Request<strong>in</strong>g voice-of-the-customer <strong>in</strong>put is a way to foster buy-<strong>in</strong> to the process changesyou propose. Those affected become part of the solution, rather than be<strong>in</strong>g victims of the improvement<strong>in</strong>itiative. This is particularly important with processes such as change control that redef<strong>in</strong>e the <strong>in</strong>terfacethrough which your customers and other stakeholders <strong>in</strong>teract with the software group.Based on these requirements and on previous experience, we wrote a change control procedure, hadseveral stakeholders review it, and published it on our <strong>in</strong>ternal process <strong>Web</strong> page. The pr<strong>in</strong>cipal <strong>in</strong>itialbenefit was that we established a formal mechanism for collect<strong>in</strong>g and evaluat<strong>in</strong>g the requests for newprojects that came <strong>in</strong> from bus<strong>in</strong>ess units every week. For a few weeks, the two people who managed theresult<strong>in</strong>g project queue also piloted the change control function us<strong>in</strong>g paper forms. Dur<strong>in</strong>g that time, weexplored commercial problem-track<strong>in</strong>g tools that might meet our need for a Unix-based server and <strong>Web</strong>baseduser <strong>in</strong>terface. The feedback from this pilot helped us improve the process before we committed toselect<strong>in</strong>g, <strong>in</strong>stall<strong>in</strong>g, and customiz<strong>in</strong>g a specific tool.The community was receptive to us<strong>in</strong>g this change control process to reduce the chaos of the changebacklog, with its uncerta<strong>in</strong> change request status and unclear decision mak<strong>in</strong>g. Any developmentorganization of any size can apply formal change control <strong>in</strong> this way. One success factor for implement<strong>in</strong>gchange control is to m<strong>in</strong>imize the process overhead of submitt<strong>in</strong>g and evaluat<strong>in</strong>g change requests. Anotheris to make sure the change process, and the people who practice it, are responsive to submitted requests. Ifa process doesn’t work, people will work around it.<strong>Software</strong> <strong>Process</strong> <strong>Improvement</strong> <strong>in</strong> <strong>Web</strong> <strong>Time</strong> Page 6

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!