Process Control

Agile & empiric

There are two mainstream project realisation methodologies, sometimes strictly separated, sometimes interwoven in the texture of large enterprises: Waterfall model and Agile model. Waterfall model (V-Model) and its derivates rely on planning gap analysis and command and control principle. Agile relies on relatively predictable short iterations, team self-organisation, empirical process control and is aimed to decrease time-to-market for high quality software delivery. Agile methods have multiple incarnations: XP, Scrum, Kanban, Lean and others. V-Model mentality assumes clear up-front design and sequential staging: Development->Testing->Delivery. Agile encourages self-organizing teams, implies testing as an user acceptance box ensuring testing artefacts definition even before coding starts. Agile practices assume highly skilled cross-functional development teams, mainly consisting from generalists; a thin layer of individual heroics thrives sometimes on V-Model .

Most popular management wrapper around agile is SCRUM, where inspect and adapt are embedded in a thin layer framework consisting of three roles, three artefacts and four inspect and adapt meetings. SCRUM iterations are relatively short, but enough for the teams to produce usable and potentially releasable software. SCRUM framework in its last version is formalized without direct implementation details and is flexible enough to peacefully coexist with other methods and frameworks such as PRINCE2 or TOGAF. Some coordination and integration issues will unavoidably arise in this case, but it is the cost for being more productive. Certainly, if the agile can be adopted to the enterprise culture at all. SCRUM and agile are not a cure from all dysfunctional illnesses some organisations may have, and provide initially only promise of hyper productivity and shorten time-to-market deliveries. But when applied properly and thoughtfully, they do provide significant advantages confirmed by multiple use cases.

SCRUM is elastically scalable and could be applied to non co-located teams as well. There are a lot of success stories about using SCRUM in a nearshore software development mode. There is more to this: especially nearshore/offshore development fails sometimes in V-Model due to lack of requirements understanding and communication shortages. Communication is embedded in the SCRUM framework at least via Daily Scrums. It prescribes ongoing interactions between the stakeholder representative Product Owner and the Development Team.

The success or failure of a SCRUM project depends strongly on the person and experience of Scrum Master, who should facilitate the process, remove impediments and try to use different tools and patterns for enabling Scrum awareness, desire, ability, promotion and transfer on every level of company hierarchy: management, finance, marketing, sales, architecture and development team.