Posted by: MVCgroup June 11, 2018
Agile Methodology 101, some Definition Part 1
Login in to Rate this Post:     0       ?        

Agile methodology is a widely used (now) method of project

management. PMI (Project Management Institute) defines project as a temporary endeavor undertaken to create a unique product, service or result.  If you are into project management or have management skills, then I would suggest getting PMP certification.

in our context. the task of making the webpage (www.themvcgroup.com) to a professional standard would be a project. A project must have a definite end period. We do know our end goals and most probably the route to achieve it.

Each product has its features, and to build this feature, we will need to define a series of task.  This is how we create a project, series of endeavor or task.

Before dwelling into Agile, I want to explain few terms.

Business Owner, Application Owner: They are simply referred as business. These are the people who conducts business, presents reports, knows about the business aspect of the organization. How the organization generates the revenue? What are the risks associated with the business? How to market the product/service better? How to hire smart people etc? They are people who fund the project. They are people who define what kind of application or feature they need (business requirement) to do job more effectively and efficiently.

LOB( line of Business): When I am referring to LOB, I am referring to the department or service within the organization. In Financial institution ,  Credit card service , Mortgage service could be a Line of Business. Marketing and Finance, or HR, Or Operations could be different LOB. 

IT People/Technology Folks: These are the people who are there to support the business or business application/processes. They are the people who would have built or implemented the application. The UNIX Team would be responsible for the hosting the servers. The front-end developer would be responsible for making sure that GUI looks attractable for amazon.com. There are also people on the backend such as data engineers and data modelers, python developers and data analyst to provide constant support the application. One good example here would be, when you apply for credit card through the web application, the webpage would be designed by the IT. The model that runs behind the Web page, to approve or disapprove would have been developed by data modelers. The Data model would have been implemented by the IT group.  The credit card application itself is owned by the business team. Once the result has been made by the application, the business team reviews it and decides on top of it.  Lot of the website today gives the decision instantly as the model behind the application has improved a lot or the business has faith in the application and the decision made by the application.

Basically, the take away is that we need to be able to make a distinction between business folks and Technology folks within the organization. 

Business Requirement/Business Process Improvement(BPI): Most like you will not be working on a brand-new business requirement. When I say brand new requirement, I mean for building it from scratch. All those new requirements are somewhat part of the BPI. The system or application already will already exists but cant do so and so, or it is very efficient or is error prone. In our case, (www.mvcgroup.com) does not meet the industry standard. Also, to keep it mind, lot of this requirement would be a direct linkage of some regulatory laws or newly implemented policy.  These days lot of the company does promote innovation, so it could be also a part of innovation series within the company.

Product Owner (PO): PO is usually the guy who are very tech savvy and have in depth knowledge of the business too. He/She does understand easily the need of the business or application owner and can figure out the technological solution for the business problem. He would be the tech lead. He is the one who prioritizes the task in Agile environment and the guy who would be taking to the business owner and senior management about the project. He is responsible for the deliverables of the product along with scrum master.  If you do not understand anything about the project or its technical details, he should be able to make you understand on a high level. He is the go to guy.

Scrum Master: Also referred as the Project Manager, he/she is the own who is responsible for drafting the project plan. Scrum Master are responsible for resource allocation, timeline and budgeting part. He works very closely with the team, and he would be conducting all the daily standups and presents report to the Product Owner. You should be able to manage his expectation. My suggestion is that, do not take  anything that you do not fully understand the scope of the task. These days, people do encourage working on pairs, or pair-programming concept, try to shadow the guy who has been there for a longer period.

Agile Team: This team is responsible for all the work. It consists of the obvious ones- Business Analyst, Software Developer, Software Test Engineer or Quality Assurance (QA) and UAT and Deployment Team Operations Support and Production Support Team).

JIRA: It is a software that tracks the progress of the task. It is nothing but a digital board where you can define all the task and assign it to different people so that you can track it. It is widely used in the industry.

https://www.atlassian.com/software/jira

Environment: Application is development in different layers of servers. Each environment is technically different servers. First Environment is the Development Environment also known as Dev Environment or Dev Server. This is where the developer writes their code and does the initial testing. Once developed, the code is pushed/deployed to Test Server or Test Environment. This is where the QA does a robust testing using the test cases through manual or automated tested. Once QC is passed, they are pushed or deployed to UAT servers for final level of Testing. This is the server, where business User does the testing to find out if it has meet the requirement given to the agile team. Once UAT is passed, this is when the code is deployed in the Production. Once deployed to PRODUCTION environment, the Agile team is off the hook (for most of the case). The Support team is liable for the smooth operation of the application and maintenance of the application or troubleshoot any issues, the business user might report.  

*********************

Exponential Learning: This concept has nothing to do in Agile Methodology. But I think as a IT Consultant, you need to grow your exponential learning curve. People will be helpful in your initial few weeks, that is the time you need to cash in. Be prepared to take notes, ask question about the application, what it is trying to do. If you are a developer, dissect the code. Ask for the relevant document. If there is none available, sit down with BA to dissect the code. Even when you are taking training, try to relate the code with the business requirement. Ask yourself what the code is trying to solve.

 

 

 

Read Full Discussion Thread for this article