Interview Question : What are 5 common problems in the software development process?
solid requirements - clear, complete, detailed, cohesive, attainable,
testable requirements that are agreed to by all players. In 'agile'-type
environments, continuous close coordination with customers/end-users
is necessary to ensure that changing/emerging requirements are understood.
realistic schedules - allow adequate time for planning, design,
testing, bug fixing, re-testing, changes, and documentation; personnel
should be able to complete the project without burning out.
adequate testing - start testing early on, re-test after fixes or
changes, plan for adequate time for testing and bug-fixing.
'Early' testing could include static code analysis/testing,
test-first development, unit testing by developers, built-in
testing and diagnostic capabilities, automated post-build testing, etc.
stick to initial requirements where feasible - be prepared to
defend against excessive changes and additions once development has
begun, and be prepared to explain consequences. If changes are
necessary, they should be adequately reflected in related schedule
changes. If possible, work closely with customers/end-users to
manage expectations. In 'agile'-type environments, initial requirements
may be expected to change significantly, requiring that true agile
processes be in place and followed.
communication - require walkthroughs and inspections when
appropriate; make extensive use of group communication tools -
groupware, wiki's, bug-tracking tools and change
management tools, intranet capabilities, etc.; ensure that
information/documentation is available and up-to-date - preferably
electronic, not paper; promote teamwork and cooperation; use
protoypes and/or continuous communication with end-users if possible
to clarify expectations.
Interview Question Category : Non-Functional Testing