Skip to main content

Posts

What is Agile and How Can I Use it Well?

I gave a talk at BSidesLV 2018 In the "Proving Ground" track for new speakers "What is Agile and How Can I Use it Well?" Are you a person who works with Agile developers? Are they driving you nuts? This presentation will explain the core tenets of Agile and how they apply to you, the security wonk. What you may not realize is that at its core Agile is about delivering a product, fast. Agile teams are focused on delivering a minimal viable product, getting feedback, and improving both the product and the process through iterative and continuous improvement. With a keen understanding of Agile forged in the trenches of large deployments, this presentation shows you how to effectively scale your team in order to have security be an integrated part of the Agile iterations. Slides: https://docs.google.com/presentation/d/1sCM5si8UxtOusDlBeecXudstDf9idDFQWadhLtMHPpg/edit#slide=id.p Be sure to read the speaker's notes! Video: https:// youtu...

When Hiring (Job Posts)

I know this is not about Agile specifically but I wanted to share how I craft Job Posts when hiring, I would love to continue to improve my process. When writing a Job Post I do the following; Have boilerplate about the company itself. Yes, the candidate should dig more but you want them to want to apply and want to research. Describe the Role, where the department fits within the company, what the team/departments purpose is, and what normal activities the job will encompass. Indicate the type of person/passions which would work well List requirements , real requirements, this should be 5 or less, these should be demonstrable items Demonstrable - Upbeat attitude is not easy to demonstrate, for example Always have alternatives to a major! Great technical people can have humanities majors – i.e. use “or equivalent experience” List bonuses/ nice to have /additional items that a candidate would benefit by having Explain the benefits of the company (should be boilerplate tal...

How do I find the Custom Field ID in Jira Cloud?

So you need to find the Custom Field ID in Jira Cloud. Perhaps you need the ID for a custom field to work on soem code, an API call or a script. How do you find it? You can find the ID in the URL when managing custom fields Jira - Settings - Issues - Fields - Custom Fields https://***.atlassian.net/secure/admin/ViewCustomFields.jspa Select "Edit" on the desired custom field .../admin/EditCustomField!default.jspa?id=12802 There you go! It is that number at the end of the URL Alternately, you can use ScriptRunner Jira - Setttings - Add-ons - Script Runner - Script Console and run the following def issueKey = '***-####' def result = get('/rest/api/2/issue/' + issueKey)         .header('Content-Type', 'application/json')         .asObject(Map) if (result.status == 200){     return result.body.fields } else {     return "Failed to find issue: Status: ${result.status} ${result....

The dreaded "Clone" in Jira

Jira Cloud Scrum Teams Case: We clone template issues, as our work is repetitive, and get “clone” in the summary and it makes it hard to read. Built-In Jira allows you to remove "Clone" from the story you are cloning, but if you are also copying the sub-tasks there is not the option to remove it. There are ways to turn this off in Jira Server, but I could not find it in Jira cloud. Solution: Jira - Settings - Add-Ons - ScriptRunner - Escalation Service The Escalation Service called: Remove Clone In Summary As this user: (myself) Checked - enabled On this schedule: Every Hour For first 50 results returned by this query:  Project in (pipe) and Summary ~ "CLONE" Will run this code:  // check if issue.fields.summary looks like "CLONE -" def updatedSummary ="" if (issue.fields.summary.startsWith("CLONE -")) {     //if so, modify issue.fields.summary to not suck.     updatedSummary = issue.fields.summar...

Jira - support tickets needing reporter sign off

Environment: Jira Cloud Agile Methodology: Kanban Situation: Support ticket flow Customers report an issue, issue is worked then placed in "Verify" to get sign off from original reporter issue is resolved. Customers (reporter) don’t always know what verify means.  The below script sends an introductory email explaining the status and our expectations. How? Workflow - Edit Transition - Post Function - ScriptRunner Post-Function - Send Notification Description: Email Reporter when ticket enters Verify Checked  - Enable Post function Condition Script Context: issue.fields.reporter != null Checked - Notify reporter Users: Groups: Subject: A Ticket You Opened Has Entered Verify Message Script Context: def fields = get('/rest/api/2/field')         .asObject(List)         .body as List<Map> """Dear ${issue.fields.reporter?.displayName}, The ${issue.fields.issuetype.name} ${issue.key} that you created has ...

Jira Administration

Some things I have setup in Jira to make life better for me, with the way we work. Use Case 1: You should not close a story when sub tasks are not complete How? Jira - Workflow - Edit Transition Condition, before allowing a story to Status Category Done "All sub-tasks must have one of the following statuses to allow parent issue transitions:" (All done statuses) Use Case 2: You should not close a story until the blocker or impediment is resolved. How? Jira - Workflow - Edit Transition Condition, before allowing a story to Status Category Done "Value Field" The field Flagged will have to be not equal to value '"Impediment"'. Compared as String. Use Case 3: Set resolution when completing an item. Why? If no resolution is set some reports and metrics don't calculate correctly. How? Jira - Workflow - Edit Transition Done Post Function, Status Category = Done JMWE The value(s) of field Resolution of the current...

Comparing Agile Methodologies

I tried to find a comparison of many of the popular Agile Framework methodologies, I couldn't find what I wanted but these came close: https://en.wikiversity.org/wiki/Agile_software_development#The_Need_for_Agile_methods http://www.eylean.com/Publications/DownloadPublication/4e93cecc-4cb2-4e3f-849d-810d7aea33a5?name=Whitepaper---Scrum-vs-Kanban-vs-Scrumban http://www.quotium.com/performance/comparison-of-key-methodologies-in-agile/ https://www.linkedin.com/pulse/scrum-vs-kanban-scrumban-petar-ilic I also found a thesis I want to read later: https://mro.massey.ac.nz/bitstream/handle/10179/515/02whole.pdf  https://www.researchgate.net/publication/221216002_Classification_and_Comparison_of_Agile_Methods

Root Cause Analysis

I find doing a Root Case Analysis (RCA) in the spirit of Retrospective is a great way to look at an event or project in a non-blaming way to find areas to improve (reducing waste and iterative improvement are key to a healthy agile team). A tool to help with this can be a fishbone diagram read more here: http://whatis.techtarget.com/definition/fishbone-diagram Following our rocky data center migration, I am performing this to find ways to make the next one is smoother. The key thing is to ask for and get "issues" not "solutions" and dig into the many possible causes, and from there the many possible ways to improve or prevent or detect earlier the issue.

Great training

I was told about this great training at work! http://scrumtrainingseries.com/ http://www.scrumreferencecard.com/ http://scrummasterchecklist.org/ http://www.scrumreferencecard.com/Obstacles_To_Enterprise_Agility_255033.pdf

Sprint Planning - Poker

Here are some free resources I plan to try for sprint planning. Let me know what you think if you enjoy doing planning poker as your given method of story-pointing and try these or have others to recommend. http://www.votingpoker.com http://firepoker.io/#/ https://www.pointingpoker.com/ https://scrumpoker.online/ https://play.planningpoker.com/plans https://scrumpoker.online/ https://tools.wmflabs.org/hatjitsu/

Video

Video shared with me at work RSA ANIMATE: Drive: The surprising truth about what motivates us https://www.youtube.com/watch?v=u6XAPnuFjJc I have heard it before, but I think i read it? What motivates us? -Autonomy -Mastery -Purpose Makes me think of the book I read - " Predictably Irrational" by Dan Ariely I also feel it fits into Maslow's hierarchy of needs https://en.wikipedia.org/wiki/Maslow%27s_hierarchy_of_needs Autonomy Mastery to me maps to Self-actualization and Self-esteem Purpose to me maps to Self-transcendence

Scrum Master Interview

Phone Screen (if applicable) 1) How many years of experience do you have as a scrum master? 2) Why did you apply for this position? 3) Briefly tell me about your current position, responsibilities and day-to-day tasks. 4) What types of projects have you worked on? 5) How many teams and what were the sizes of each of the teams you have worked on simultaneously? 6) What Agile development methods have you used? (Extreme Programming (XP), Scrum, KanBan, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD)) 7) What software and tools have you used to manage your teams in the past (TFS, JIRA, Version1, Trello) 8) Can you describe a project where you were a part of the entire project from inception to implementation? 9) What projects have you worked on in the past that required coordination across multiple departments and teams? 10) What do you know about Databases and/or Big Data? 11) Our team is using agile scru...

January 3

To date I have Cleaned up a SharePoint data share for consistency around projects Migrated multiple teams into a new Jira project Created new Scrum boards and SOS boards for all those moved teams Created a first stab at an overview board so one can see all in progress, upcoming, and backlog work - with filters for teams Have been managing Jira (workflow, post-status functions) and I need to learn more to accomplish more. I current setup anything going to status "completed" gets resolution: done and "rejected" gets "won't do" to help with built in default reports, dashboard items and reporting. Decided I must learn to write Jira reports and Dashboard widgets to remove wasted redundant weekly work on writing reports and status updates - when all the data should be in Jira. I'm still trying to get a handle on everything but my goal I was given was 1. Visibility into what we are doing and need to do 2. Ability to estimate upcoming requests (th...

Day 16-17

Today I spent my time creating new Scrum of Scrum (SOS) Dashboards in JIRA I worked on Sprint planning with my team as it was the start of the sprint. It did not go well they over committed to stories despite much vacation time planned, we also didn't have a good handle on groomed available stories. We started the sprint I worked on trying to get Sub-Tasks with time (hours) assigned, and not sure that went well either. I had to run many manual reports , I must learn how to automate these! This is waste.

Day 12-15

I worked to create, and simplify a new jira project. My goal was I to only keep only the fields we used. We also changed the workflow (the statuses issues flow through) and added a new issue type. The most frustrating part was the bulk updates of the backlog and in progress to the new project. For now Issue types Epic-a project that will span may sprints Story-A piece of work I can deliver that has value Task-something that needs to be done to accomplish the story Request something someone asked for and we haven't backlogged and prepped yet Bug - a defect Issue status Requested a request we have not looked at Accepted - a request we will do, in the future To be groomed - may get rid of but we are prepping this for intake Grooming - we are breaking it up/down Groomed-will get rid of To do - ready In progress - being done Completed-done Rejected not done (no longer needed, indefinite hold, duplicate, whatever)

Rituals

What rituals are there for an agile scrum team? Each sprint (ours are 3 weeks) has Scrum aka standup The goal is 15 minute daily meeting The common three questions are: What did you do yesterday? What will you do today? What is in your way? The goal is transparency, everyone on the team should have the opportunity to know what each person is working on, and for the team to all get an idea of where they are on the commitments for the sprint, what issues there are, and use the opportunity to help out other team mates as needed. Grooming The goal is to prepare work for upcoming sprints, break epics (large goals that will span sprints) into stories (a deliverable piece of work, as small as you can make it and still assign value). Each story should be assigned a complexity rating, or story point. These are Fibonacci numbers (1, 3, 5, 8). These are complexity not hours! Retrospective At the end of the sprint look back What action items did we have last sprint, did we make progr...

Day 13

Today I spent my time creating a new JIRA project to move three of the teams into - and attempting to redesign the workflow, fields, and in general simplify it while keeping it so it matches the process and will allow us to report on what is important to us. My goal is to get it cleaned up and ready so that on Monday during sprint planning the three targeted teams can begin by using the new project. In addition, I am going to start cleaning (matching pattern) the SharePoint, and create a template with links to relevant data for each customer. The objective is to make things self-service and predictable which will help with onboarding as well as assisting as analysts and developers move team to team. Finally, I hope to create common definitions and agendas for rituals. For example an agenda for the retrospective, and define our Story Points so there is a common understanding between teams about what a "3" is, for example, I am getting some pushback on this. Mostly in the...

An agile methodology

Found out about http://modernagile.org Methodology Sounds interesting, and similar to what we did at my last company. However I am not sure I can drive into this with the teams here yet. I hate overhead and wasted work (lean!) so getting away from estimates and other non value added work sounds good.

Lean principles

In order to work towards lean, you need to focus on having a balance of throughput and resource utilization, leaning more toward flow (throughput). Lean does not align with all business models. For example low cost airlines focus on most time in the air or utilization of resource planes. They are much less concerned with the throughput of customers from origin to destination. Lean was based on American observations of the TPS or Toyota Production System. The book reviews the Efficiency Paradox, reminds us that learn is a goal, achieved through various methods, not a end point or a pattern you can mimic. Lean is about continuous improvement and not a box to check. You must always remove waste from the system and review the values and goals of the company to check they are being accomplished by the systems and structures you have put in place. A review here http://better-operations.com/2013/06/30/this-is-lean/ The book here http://www.thisislean.com