{"id":751,"date":"2016-11-01T09:57:12","date_gmt":"2016-11-01T14:57:12","guid":{"rendered":"https:\/\/www.suprtek.com\/?p=751"},"modified":"2017-08-08T11:49:05","modified_gmt":"2017-08-08T16:49:05","slug":"what-is-the-role-of-processes-in-agile-development","status":"publish","type":"post","link":"https:\/\/www.suprtek.com\/index.php\/2016\/11\/01\/what-is-the-role-of-processes-in-agile-development\/","title":{"rendered":"What is the Role of Processes in Agile Development?"},"content":{"rendered":"

The very first item in the Agile Manifesto<\/a> states that Agile Development values \u201cindividuals and interactions over processes and tools.\u201d\u00a0 A lot of people in the Agile development community seem to interpret this as, \u201cWe don\u2019t need to document any processes – just let people do their thing.\u201d\u00a0 That philosophy is a little off the mark, for several reasons.\u00a0 Let\u2019s explore the role of processes in an Agile implementation.<\/p>\n

Why the Emphasis on People?<\/h3>\n

Doing creative work, which includes software design and development, often does not involve highly repeatable processes – as opposed to, say, assembling a widget.\u00a0 In the world of design, problems and situations are frequently unique and documented processes are not always going to help people find the solutions and approaches that work best.\u00a0 Knowledge, experience, intuition, and innovation are usually the key to creating the best design and development approach.\u00a0 The manifesto is simply recognizing that reality.\u00a0 When it comes to creative design work, people create resolutions and results, not processes.\u00a0 Does that mean processes are unneeded?\u00a0 Not necessarily.<\/p>\n

The Manifesto Says \u201cOver\u201d Not \u201cInstead\u201d<\/h3>\n

Developers and Scrum Masters<\/a> who interpret this statement as \u201cprocesses are not needed\u201d are misreading it.\u00a0 It says people OVER processes.\u00a0 Any good manager will tell you that having good people is always the key to success.\u00a0 The Agile Manifesto emphasizes the value that good people bring to software development.\u00a0 Conversely, however, good people working together on teams without the guidance that proper processes provide usually leads to large inconsistencies across the organization (as we will explain later.)\u00a0 Organizations always operate best with a combination of good people and good processes.<\/p>\n

Processes Always Exist – Even in Agile<\/h3>\n

The fact is that processes<\/a> exist in any business or organization, regardless if they are documented or not.\u00a0 Processes are simply the steps or activities needed to achieve a result.\u00a0 So in any organization, if people are carrying out activities to achieve a result, then they are executing processes.\u00a0 The only difference with undocumented processes is how various people or teams carry out these activities may vary wildly.\u00a0 \u00a0Even the same person or team may not do things in a consistent way. \u00a0That is a problem in and of itself, but the bigger problem is that results will almost always vary wildly as well.\u00a0 Inconsistent results frequently mean failure.<\/p>\n

That is the role that documented processes play in an organization, including Agile.\u00a0 They provide the general guidance in how activities are done to ensure more consistent and coordinated results across departments and across teams throughout the organization.\u00a0 As long as processes are being used in this manner, then the specifics of the format, level of detail, and so on, are up to each individual organization to decide what best meets their needs.\u00a0 Processes can often be very general – outlining the broad steps needed to achieve the desired result while leaving the detailed minutia up to each individual or team.<\/p>\n

In fact, the more competent and well-trained the staff is, the less emphasis there has to be on highly detailed, documented processes.\u00a0 But if processes are not defined and understood, what are you training your people to?\u00a0 One department or group may be training staff to do things one way while other departments are telling their staff to do something completely different.<\/p>\n

Processes Form the Basis for Continual Improvement<\/h2>\n

With a consistent processes approach across your teams, it is possible to measure the process outcomes.\u00a0 These outcomes can be analyzed and the process can be changed in an attempt to improve the outcomes.\u00a0\"pdca-caption\" Figure 1 illustrates the Plan, Do, Check, Act process approach<\/a> recognized by ISO as the foundation for organizational process improvement.<\/p>\n

So when the manifesto says people over processes, it is simply a matter of emphasis.\u00a0 Both are important.\u00a0 We want our people and teams to have the creative freedom to get the software engineering job done.\u00a0 But we also want some consistency in some key development activities, such as conducting sprint reviews or packaging and delivering releases, for example.\u00a0 Plus, processes also play the important role of documenting key objectives of the process so those responsible for executing it know if they are achieving organizational and process goals.<\/p>\n

What is the role of processes in Agile?\u00a0 To ensure coordination of team activity, consistency in results, and to ensure key objectives are consistently met.<\/p>\n

 <\/p>\n

Don Reed is a Senior Technical Writer and Project Support Specialist with the ADEV program.\u00a0 His background includes engineering and programing, project management, quality and business improvement, and business-technical communication.\u00a0 Don has a B.S. in Electrical Engineering and a M.A. in Communication from Saint Louis University.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"

There is some debate about the role of processes in Agile development. Some interpret the Agile Manifesto as intending that documented processes are not needed. That interpretation misses the mark. Documented processes always have a role in business operations \u2013 including Agile development. <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1,14],"tags":[33,37,35,36],"class_list":["post-751","post","type-post","status-publish","format-standard","hentry","category-blog","category-news","tag-agile","tag-pdca","tag-processes","tag-software-development"],"_links":{"self":[{"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/posts\/751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/comments?post=751"}],"version-history":[{"count":7,"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/posts\/751\/revisions"}],"predecessor-version":[{"id":1204,"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/posts\/751\/revisions\/1204"}],"wp:attachment":[{"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/media?parent=751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/categories?post=751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.suprtek.com\/index.php\/wp-json\/wp\/v2\/tags?post=751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}