tag:blogger.com,1999:blog-51178646718953248602024-02-20T07:51:37.816-07:00Alan GoodbrandBusiness Analysis and Project Management InstructorAlan Goodbrandhttp://www.blogger.com/profile/08099030085650104652noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-5117864671895324860.post-86400396036123088792011-11-17T08:11:00.001-07:002011-11-19T09:56:08.873-07:00Naming and Framing Processes<div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">Every organization generates its revenue and spends its money through processes.<span style="mso-spacerun: yes;"> </span>That’s how they conduct their business.<span style="mso-spacerun: yes;"> </span>Therefore it makes sense that if you want to increase your revenue or decrease your costs, the first things you should examine are your processes.<span style="mso-spacerun: yes;"> </span>Try to improve them.<span style="mso-spacerun: yes;"> </span>Try to make them more efficient.<span style="mso-spacerun: yes;"> </span>The best companies out there are continuously looking for ways to do their jobs better.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">Most processes are undocumented.<span style="mso-spacerun: yes;"> </span>In order to examine and improve your processes you need to understand them.<span style="mso-spacerun: yes;"> </span>Only when you understand them can you measure and analyze them and improve them.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">The first questions you should answer about each of your processes are “What starts it?” and “When does it end?”.<span style="mso-spacerun: yes;"> </span>By definition a Process is a “series of related actions, triggered by an event, creating a deliverable for a customer”.<span style="mso-spacerun: yes;"> </span>Let’s examine all four of these ideas before proceeding.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">“A series of related actions” – Processes involve activities and decisions done in a certain order.<span style="mso-spacerun: yes;"> </span>You need to understand the detailed work involved to accomplish the goal.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">“Triggered by an event” – Something starts every process.<span style="mso-spacerun: yes;"> </span>They don’t just randomly start.<span style="mso-spacerun: yes;"> </span>You need to know why a process begins.<span style="mso-spacerun: yes;"> </span></span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">There are 3 basic types of events that can occur in business where the response is a process.<span style="mso-spacerun: yes;"> </span>The first is the “decision”.<span style="mso-spacerun: yes;"> </span>Someone decides to do something and the result is a process.<span style="mso-spacerun: yes;"> </span>For example a Customer may decide to buy a product.<span style="mso-spacerun: yes;"> </span>A Manager may decide to hire an employee.<span style="mso-spacerun: yes;"> </span>An Employee may decide to quit, etc.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">The second type of event is the “situation”.<span style="mso-spacerun: yes;"> </span>This means that something happens and the result is a process.<span style="mso-spacerun: yes;"> </span>For example, inventory drops below a threshold level, product arrives on your loading dock, you receive an email, etc.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">The third type of event is the “temporal”.<span style="mso-spacerun: yes;"> </span>This means that at a certain time, or date, or based on the passage of time, some work is performed.<span style="mso-spacerun: yes;"> </span>It might be paying employees on payday, paying approved vendor invoices, getting the mail, counting inventory, etc.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">“Creating a deliverable” – A process creates something!<span style="mso-spacerun: yes;"> </span>It provides value.<span style="mso-spacerun: yes;"> </span>You need to know what is created for every process you or your company execute.<span style="mso-spacerun: yes;"> </span>If it doesn’t create anything of value, get rid of it.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">“For a customer” – This doesn’t mean your end customer who buys your products.<span style="mso-spacerun: yes;"> </span>It means that a process creates something that is used by someone or by another process.<span style="mso-spacerun: yes;"> </span>If the output of your process is not used, why create it?</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">Before you get into the details of each of your processes you need to:</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">Name it!</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">Determine what starts it!</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">Determine what it creates!</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">Determine when it ends!</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">and not necessarily in that order.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">An event is a state or condition that exists that you are going to respond with via a process.<span style="mso-spacerun: yes;"> </span>It does not involve the passage of time.<span style="mso-spacerun: yes;"> </span>Therefore all events should start with a NOUN!<span style="mso-spacerun: yes;"> </span>A process does involve the passage of time and involves actions, therefore a process name should begin with a VERB.<span style="mso-spacerun: yes;"> </span>Ideally it should be a Verb Noun pair.<span style="mso-spacerun: yes;"> </span>A simple rule, but it makes the life of a Business Analyst so much easier.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;"><strong>Name your process!</strong><span style="mso-spacerun: yes;"> </span></span><br />
<span style="font-size: 14pt; mso-ansi-language: EN-CA;">The verb should describe the work being done.<span style="mso-spacerun: yes;"> </span>Someone should be able to read the name of the process and understand what it does.<span style="mso-spacerun: yes;"> </span>The noun should be what the process creates or changes.<span style="mso-spacerun: yes;"> </span>Examples are “Generate Payroll”, “Sell Product”, “Buy Product”, Hire Employee”, “Pay approved vendor invoices”, etc.<span style="mso-spacerun: yes;"> </span></span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;"><strong>Determine what starts it!</strong><span style="mso-spacerun: yes;"> </span></span><br />
<span style="font-size: 14pt; mso-ansi-language: EN-CA;">Identify all the triggering events that can start your process.<span style="mso-spacerun: yes;"> </span>There can be more than one!<span style="mso-spacerun: yes;"> </span>Document the triggering events with the process.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;"><strong>Determine what it creates!</strong><span style="mso-spacerun: yes;"> </span></span><br />
<span style="font-size: 14pt; mso-ansi-language: EN-CA;">When you determine what the process creates you essentially have determined its completion.<span style="mso-spacerun: yes;"> </span>When that deliverable is created, the process ends.<span style="mso-spacerun: yes;"> </span>This should be the noun in your process name.</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><br />
</div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: 14pt; mso-ansi-language: EN-CA;">Some Business Analysts make the mistake of thinking of the work in an organization as one process.<span style="mso-spacerun: yes;"> </span>I’ve seen process models with hundreds of tasks and decisions, that take up entire walls and take months to complete.<span style="mso-spacerun: yes;"> </span>They are so complicated they are completely useless, and besides, they’re wrong.<span style="mso-spacerun: yes;"> </span>Follow the guidelines stated here and you will see how the work of an organization consists of many processes, each simple on its own.</span></div>Alan Goodbrandhttp://www.blogger.com/profile/08099030085650104652noreply@blogger.com0tag:blogger.com,1999:blog-5117864671895324860.post-21672359321617359802011-10-06T15:48:00.003-06:002011-10-06T16:13:19.545-06:00Agile Methodologies<span style="font-size: 14pt;"><span style="font-family: Times, "Times New Roman", serif;">When people read my blogs and articles, or take my courses, some respond with "We don't need to do that. We're an agile shop.". When I hear that I immediately think, "Do you know what an agile methodology is?". Look up "agile" in the dictionary. All it means is "Quick to respond".<o:p></o:p></span></span><br />
<span style="font-family: Times, "Times New Roman", serif;"><br />
</span><br />
<span style="font-size: 14pt;"><span style="font-family: Times, "Times New Roman", serif;">I am a proponent of agile methodologies for software development. The classic waterfall model, as taught in a number of Project Management courses, does not work and never has. It assumes you can complete every step in a project completely and never have to revisit it. Nonsense! That's not how we build stuff. We build as a series of iterations with each iteration building upon the last.<o:p></o:p></span></span><br />
<span style="font-family: Times, "Times New Roman", serif;"><br />
</span><br />
<span style="font-size: 14pt;"><span style="font-family: Times, "Times New Roman", serif;">I remember a few Project Managers from my past trying to impose a waterfall methodology on a project, and it never worked. Caused nothing but problems and unhappy customers.<o:p></o:p></span></span><br />
<span style="font-family: Times, "Times New Roman", serif;"><br />
</span><br />
<span style="font-size: 14pt;"><span style="font-family: Times, "Times New Roman", serif;">The problem is that many people, especially developers, believe that an agile methodology allows them to do whatever they want, get feedback from the client and then change it, over and over and over again, until it is what the client wants. Throw Project Management out the window. Talk about the long way to get to somewhere, rework after rework after rework.<o:p></o:p></span></span><br />
<span style="font-family: Times, "Times New Roman", serif;"><br />
</span><br />
<span style="font-size: 14pt;"><span style="font-family: Times, "Times New Roman", serif;">Why then do some instructors continue to teach the waterfall method as if it's the only way to develop software? Because that's what they were taught and they can't get beyond that. <o:p></o:p></span></span><br />
<br />
<span style="font-family: Times, "Times New Roman", serif; font-size: 14pt;">I continue to teach about the Requirements, Design, Development, Testing and Deployment Phases of a project, not because they need to be done in that order completely, but because they all require different skills, tools and techniques to accomplish and have different best practices. It's just a good way to divide up the material. Don't assume it means that you <i style="mso-bidi-font-style: normal;">must</i> do the 5 phases in order with no overlap. Just doesn't work.</span>Alan Goodbrandhttp://www.blogger.com/profile/08099030085650104652noreply@blogger.com0tag:blogger.com,1999:blog-5117864671895324860.post-88854263243203457562011-10-06T12:56:00.005-06:002011-10-06T16:13:40.968-06:00What is Business Analysis?<div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">According to the International Institute for Business Analysis (IIBA);<o:p></o:p></span></span></span><br />
<span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span></span><br />
<span style="font-size: 14pt; line-height: 115%;"><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">“Business analysis is the discipline of identifying business needs and determining solutions to business problems. Solutions often include a systems development component, but may also consist of process improvement, organizational change or strategic planning and policy development. The person who carries out this task is called a Business Analyst or BA.”<o:p></o:p></span></span></div><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-family: Times, "Times New Roman", serif;"><span style="font-size: 14pt; line-height: 115%;"><o:p> </o:p></span><span style="font-size: 14pt; line-height: 115%;">OK, now that we’ve got that taken care of, let’s talk about what it <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">really</i></b> is and why it’s needed.<o:p></o:p></span></span></div><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">Software has a dismal track record.<span style="mso-spacerun: yes;"> </span>Most software projects finish well over budget and very late.<span style="mso-spacerun: yes;"> </span>A company that budgets $200,000 for a software project may end up spending a million to actually get it.<span style="mso-spacerun: yes;"> </span>Are you into the third year of your one year project?<o:p></o:p></span></span></div><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">We need to do better.<o:p></o:p></span></span></div><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">Prior to the 1990s programmers designed and wrote software pretty much by themselves.<span style="mso-spacerun: yes;"> </span>Desktop computers were relatively new, very expensive and there was still much resistance from business.<span style="mso-spacerun: yes;"> </span>Users didn’t understand the capabilities of computers. <span style="mso-spacerun: yes;"> </span>Most software projects were initiated by IT.<span style="mso-spacerun: yes;"> </span>Techies who understood computers had the vision and acted upon it.<span style="mso-spacerun: yes;"> </span>But like an artist, they had no idea, nor did they care, about how much or how long it took to realize that vision.<span style="mso-spacerun: yes;"> </span>Some really great, beautiful, elegant software was created, but it was art, and very expensive art at that.<o:p></o:p></span></span></div><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">Companies started to realize that the situation was not supportable.<span style="mso-spacerun: yes;"> </span>You have to treat software development as a construction project.<span style="mso-spacerun: yes;"> </span>There’s only so much that you can build for so much money in so much time.<span style="mso-spacerun: yes;"> </span>We’ve been doing this with other things for centuries.<span style="mso-spacerun: yes;"> </span>Buildings, bridges, roads, railways...<o:p></o:p></span></span></div><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">An examination of software projects that were well over budget or behind schedule showed that the number one reason for that was scrap and rework, meaning the programmer built something, showed it to the client, was told it was wrong and had to go and do it again.<span style="mso-spacerun: yes;"> </span>The fastest and cheapest way to build anything is to build it once.<span style="mso-spacerun: yes;"> </span>The only way that can happen is if the person building the product knows what the client wants in sufficient detail to build it.<span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">That is the goal of a Business Analyst.<o:p></o:p></i></b></span></span></div><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">Every software product is based on someone’s vision.<span style="mso-spacerun: yes;"> </span>When the client looks at a piece of software and says, “That’s not what I want.”, ”That’s not what I need.”, “That’s not what I asked for.”, it’s because it does not meet their expectations, in other words, it does not match their vision.<span style="mso-spacerun: yes;"> </span>That’s because there were two different visions, the one the client had and the one the programmers had.<span style="mso-spacerun: yes;"> </span>The programmers obviously built to <b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;">their own</i></b> vision.<o:p></o:p></span></span></div><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-size: 14pt; line-height: 115%;"><span style="font-family: Times, "Times New Roman", serif;">The goal of Business Analysis is to make sure the product created meets the client expectations.<span style="mso-spacerun: yes;"> </span>In order to do this the Business Analyst must capture the client vision, articulate it, document, validate it and communicate it to the development team. <span style="mso-spacerun: yes;"> </span>In other words, to make sure that the product developed is according to the client vision.<span style="mso-spacerun: yes;"> </span><b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><u>There should only be one vision and it should come from the client.<o:p></o:p></u></i></b></span></span></div><span style="font-family: Times, "Times New Roman", serif; font-size: small;"> </span><div class="MsoNormal" style="margin: 0cm 0cm 10pt;"><span style="font-family: Times, "Times New Roman", serif; font-size: 14pt; line-height: 115%;">Capturing that vision, articulating it, documenting it, validating it, communicating it and validating the product created, requires skills, tools and techniques that I will expand upon in subsequent entries.</span></div></span></div>Alan Goodbrandhttp://www.blogger.com/profile/08099030085650104652noreply@blogger.com0