Some companies or
project teams falls into error of spending time for the project
planning /analysis/meetings much more than needed. Planning detail is
not needed to be "complete" in each phase. This may be a serious
bottleneck for projects. Like planning, analysis is also not needed to
be complete at the beginning, except waterfall projects. As we know,
waterfall is not such an efficient software process/methodology, until
there is not a contract obligation about that. Planning and analysis
should be "as required" and have flexibility points. Also, meeting
duration and intervals are very important about this concept. Only
required meetings with required staff and with shortest possible
duration should be performed. Otherwise a huge time loss and unnecessary
brain fatigue on staff will be inevitable.
like working in a relaxed environment and company. But on the other
hand, if their work is not monitored and controlled, they are also not
satisfied. Monitoring and controlling is required for non-managers
because they need to be directed (they are not employer and they don't
have to make every important decision), leaded (code reviews, trainings
etc. are important for self development, also scheduling is important
for efficiency) and appreciated (high performance and skills needs good
feedbacks, at least a few good words). And they also want to know that
they are doing an important job and they are part of that organization.
So, an ethical staff will also require to be managed and controlled "as
Wrong choices of staff motivation techniques:
(passion for the job concept, learning and self-development), human
interactions (between employers and employee) and income (convenient
with job type and sector averages) are very important for staff
motivation. Job details, development plans, income and midterm income
possibilities must be explained before starting job and if everything is
OK, they must not be changed after starting job. Beyond the technical
and economical issues, communication is the most important concept in
teamworks. IT staff is not a kind of people that can be motivated using
hard wording, hierarchical and forbidding working style. They should
feel confidence and comfort. After that, performance will be OK. If
these things cause inactivity on staff, those staff is not right choice
and an action must be taken as soon as possible.
Wrong selection of metrics and evaluation methods:
important tools for monitoring software development process and they can
provide some different viewpoints. For example, widely used "line of
code" (especially logical line of code LLOC) metric may be used for
"monitoring the growth of project by code size". If you attempt to
evaluate developer efficieny using LOC, this will be a huge mistake
because short and efficient code, design patterns etc. will be punished.
Also copy paste programming, unreadable code etc. will be rewarded.
E.g. cyclometic complexity, scheduling compliance, bug count are better
methods. But best of all is determining right metrics according to the
project type and team member properties.
Documentation strategy mistakes
very important for software projects. Planning, analysis, design,
development and testing phases need "required" level of documentation.
Even for some fastest agile processes like SCRUM, documentation is
needed. Main purpose of documentation is making life easier for
developers and users. For example use case definitions are important on
development phase, complex problem solutions are important on
maintainance phase or on employee shifts, diagrams are important for
understanding concepts fast and clearly. However documentation should
not consume a very important percentage of whole project schedule.
Generally it may be %5-10.