'''AntiPattern Name''': ''Untested But Finished'' '''Type''': ''Organizational'' '''Problem''': The project is lagging in implementation, and the apparent cause is usually a programming bottleneck - too few or too slow programmers. Managers need to demonstrate progress or enlarge their span of influence; at worse, they want to be able to pretend to make progress. '''Context''': A project with lots of political power seated outside the project. '''Forces''': Outside parties promise to take a portion of the work, work on it in absolute privacy, and emerge with complete code. Outsiders want money (as usual), control over the project, or to be credited with saving it. '''Supposed Solution''': Hire outsiders to complete a specified (or worse, unspecified) portion of the work. On delivery from the outsiders, dictate that the work is complete and only needs to be integrated by the main team. '''Resulting Context''': Work that has supposedly been "finished" by outside forces is unfinished, unusable, or even a permanent political BoatAnchor. Lack of communication, lack of skill, lack of disciplines such as testing and reviews, and other problems cause outside parties to create masses of useless code. The code is unchecked and assumed finished, out of optimism, as soon as it is delivered; or, even worse, as soon as it is promised. The useless code causes bizarre and unnerving schedule slips, since it was already marked as "done". Examples of detailed causes: * Outsourcing firms and expensive consultants promise any number of sufficiently skilled workers, but do not possess the skill or perhaps can't communicate well enough to finish work * Expert co-workers with seniority can handle the coding "just fine" without any help * Already written code 'just' needs to copied and pasted out of another project and modified a little bit Outside parties may use industry hype, optimism, or seek heavy BuyIn to avoid responsibility for results. If there is any kind of QA being done, work may be done outside SourceControl or under an outside manager (supposedly for other reasons than avoiding blame). Large swaths of work are thus given, and weeks or months of silence ensue. Once managers are assured that the work is done, the main team is asked to "integrate" the work. The main team must (or feel they must!) fix work that has supposedly already been done. Unlike a healthy status slip, all of the work was assumed done as soon as it was promised or delivered, so finished work occupies weeks or months of "integration". '''Solution''': Find solvable problems instead of flirting with BrooksLaw. Otherwise, enforce personal responsibility and some kind of QA to locate problems. '''Related AntiPattern''''''s''': BoatAnchor, GoldenHammer, AppointedTeam, CopyAndPasteProgramming '''Applicable Positive Patterns''': '''AntiPatternCategory''': Organizational ---- CategoryAntiPattern CategoryOrganizationalAntiPattern