In Software Engineering it is absolutely paramount to identify all risks that may arise in a given project or grouping of tasks. Without doing the aforementioned, a project can quickly unravel and become disjointed and inherently fall apart.
It is very important to be able to identify risks and act on them appropriately and in a timely manner (Pressman,1997).
Among the many risks that are most common and obvious in Software Engineering, I have decided to showcase three in particular that I have found to be imperative in noticing and foreseeing the looming signs of project degradation and failure.
Resourcing risks:
Experienced team members are both vital to a project’s success as well as ultimately detrimental should they suddenly choose to leave for any distinct reason. An experienced team member can take many months if not years to get to the level they are with a given technology stack where they can be seen as a senior amongst peers. Losing such an asset will have massive effects on a project and an organisation should do everything in it’s power to retain such individuals. This can be mitigated to some degree against by both documenting and sharing knowledge between all relevant team members (Laurie Williams, 2004).
Technical decision risks:
It is very easy to overlook and potentially make unwise technical decisions early on in a project or product. These types of architectural design oversights can cost an organisation in terms of long-term product performance, budgeting and hosting costs as well as specialised staff resourcing issues (Karl E. Wiegers, 1998). It is vitally important to fully grasp the scope of the project and plan for as many eventualities as possible before committing towards any specific technology stack or provider. It is advantageous to analyse the entirety of a project and provide an unbiased design from a range of senior technical staff before making any rash decisions or undertaking core development work.
Competition risks:
Perhaps an overlooked hazard while identifying possible risks is that of competition. Competition – whether it be an organisation or product – should be evaluated and studied thoroughly in order to ascertain product viability and longevity in the marketplace. Without doing proper research and in depth studies on competition and alternative solutions available, an organisation can quickly become sucked into a particular mindset about what they envision a product to perform like in the real world. This may end up not being true or lucrative for the organisation. Undertaking research and gathering available analytics on possible alternative products is advised before endeavouring down a specific route.
References:
Laurie Williams – Risk Management (2004) – Available from: http://agile.csc.ncsu.edu/SEMaterials/RiskManagement.pdf (Accessed on 27th June 2017)
Pressman – Lists of risks (1997) – Available from: http://groups.engin.umd.umich.edu/CIS/course.des/cis375/projects/risktable/risks.htm (Accessed on 27th June 2017)
Karl E. Wiegers – Know Your Enemy: Software Risk Management (1998) – Available from: http://www.cs.pomona.edu/classes/cs121/supp/risk_mgt.html (Accessed on 27th June 2017)