Sign In

Communications of the ACM

[email protected]

­Using Independent Technical Reviews to Ensure Project Success


View as: Print Mobile App Share: Send by email Share on reddit Share on StumbleUpon Share on Hacker News Share on Tweeter Share on Facebook
Yegor Bugayenko

Independent Technical Reviews can be used by business leaders and founders to audit ongoing software development processes. Often enough, management lacks the technical skills needed to understand and verify the work of internal and external programmers, which creates risks. Management depends upon software developers to deliver the software that they will then market and sell. However, if the dev team falls short or leaves a project, the management team could quickly find themselves in a difficult spot.

Management understands the market, their client, and what type of software could address pain points and drum up sales. Meanwhile, the dev team knows how to code, but they may not understand the larger environment the software will be used in. They may not understand the client's pain points, wants, needs,and abilities, for example. An independent technical reviewer can bridge the gap between both parties by validating work and ensuring communication.

Many projects fail due to the rift between the dev team and management. And many projects that ultimately succeed suffer a lot of bumps along the way, such as going over budget or missing deadlines. Writing for Escrow London, Evan Lever notes: "The average overrun cost across all companies is 189% of the original cost estimate. In terms of time, the average overrun is 222% of the original time estimate. In order to alleviate the effect of overrun of time and cost, expectations need to be carefully managed by the developer."

If the development team falls short, or worse, abandons the project, the client could be hung out to dry. Employers and investors may find themselves with little to show for their money besides indecipherable files of code. This nightmare scenario happens often enough that it must be taken seriously.

You might try to bring in a new team, but it could be all but impossible for them to suss out another team's code. This is assuming that the code itself is clean and conforms to industry standards and best practices. If not, the code may be useless. One practice that is gaining popularity is to use an independent technical reviewer, who can act as a third party technical expert.

By using independent technical reviews, management can utilize a third party to audit the software and ensure that the dev team stays on track. Many independent technical reviewers spend enough time working with business aspects that they have learned to see things from a business leader's perspective. This allows them to become effective "middle men" between the dev and business teams, enabling better communication and understanding.

Communication is vital. As industry leading blog Specstimate puts it: "Effective communication is valuable in the workplace for so many reasons. It creates a healthy environment for employees, helping them to work efficiently but it also creates a strong relationship with clients and stakeholders."

Gaps in knowledge and responsibility can lead to conflict and miscommunication. In a worse case scenario, the dev team might abandon the software altogether due to a lack of attention, oversight, and/or feedback. This is bad for everyone involved, including the developers, who risk damaging their reputation.

Further, the independent technical reviewer introduces a third element to the mix: someone who possesses technical skills but isn't tied directly to the development team, and someone who puts the business leader's interests first and foremost.

Independent technical reviewers are a boon for the development team as well. One common reason dev teams abandon software is because they feel they aren't getting the needed direction or wanted attention for their efforts. This can demotivate developers and result in abandonment.

An independent technical reviewer can provide feedback and attention, encouraging the dev team onwards. As a technical expert, the reviewer can also help the dev team discover and troubleshoot issues. Since the reviewer is working closely with the business side, he or she will also be able to provide direction and ensure that the project is on track.

An independent technical review should not be confused or replaced with an internal code review. Yes, internal code reviews are useful and should be in place. However, they lack the objectivity of an independent review and leave business leaders exposed to needless risk.

Independent reviews can provide systemic, regular oversight for a project. While internal reviews are often ad hoc and ongoing, independent reviews are better organized and implemented at regular intervals. An independent reviewer can also help uncover bugs, often much more quickly than the internal team, which may be blind to them.

The result is a faster, better-organized development process that leads to better outcomes for both the business and development teams. In a worst-case- scenario, the independent reviewer can warn business leaders of serious issues, or help recover their software should the dev team abandon it.

Yegor Bugayenko is founder and CEO of software engineering and management platform Zerocracy.


 

No entries found