Study Guide Agile Project Management Created By: Ranko Lukovic, Teaching Assistant Module 1: Introduction to Project Management Lesson 1.2: Project Management Overview Skills learned from this lesson: Agile, Management, Project Leadership ● Iron Triangle: Time, Budget and Performance Goal is to find the right balance. Lesson 1.3: Waterfall vs. Agile Skills learned from this lesson: Agile, Management, Project Leadership ● Waterfall Project Management Methodology: It uses the dependencies technique which means that we need to find out what does need to be done in order for other things to follow. The goal is to have most things done in the least amount of time. ● If you build a house with waterfall technique you would first write all things needed for it. Then set a process of steps to be taken (build a foundation, wait for it to dry, build a wall etc..) ● It came out during the 90’s ● Agile Project Management Methodology ○ Based on the idea that we can build small improvements one step at a time. ○ It’s not that great for building a house since the small step process could be very long but when it comes to IT, each new change (let’s say in a game) means a lot. Module 2: History of Agile Lesson 2.1: Rapid Application Development Part 1 Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 1 Skills learned from this lesson: Agile, Management, Project Leadership ● RAD (Rapid Application Development) is originally released as methodology (SSADM – Structured Systems Analysis and Design Methods). It was produced for the Central Computer and Telecommunications Agency, a UK government office concerned with the use of technology in government, from 1980 onwards. ● Its waterfall method is: Stage 0 – Feasibility study (Is it possible) Stage 1 – Investigation of the current environment (can we do it) Stage 2 – Business system options Stage 3 - Requirements specification Stage 4 – Technical system options Stage 5 – Logical design Stage 6 – Physical design ● Ready, Fire, Aim concept was constructed in “82 where the goal is to get something done ASAP. ● Spiral Model of Software Development and Enhancement 1. Determine objectives > Cumulative cost > 2. Identify and resolve risks > 3. Development and Testing > Release > 4. Plan the next iteration > Review > Back to 1. ● The Department of Defense (DoD) was the biggest software development organization (during the 80’s and 90’s) so they have published their own DOD-STD-2167 waterfall standard. Lesson 2.2: Rapid Application Development Part 2 Skills learned from this lesson: Agile, Management, Project Leadership ● Born in 1991 from James Marin publication “Rapid Application Development”. ● It came in 4 phases: 1.Requirements Planning Phase 2. User Design Phase – Joint Application Development (JAD) Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 2 ● ● ● ● ● 3. Construction Phase – Customer Remains Involved (Beta testing) 4. Cutover Phase In 1995, Jeff Sutherland and Ken Schwaber, more known as Rugby Programmers, developed the “SCRUM Software Development Process” which is still in use today. RAD became popular with the decreased use of Client Server software and the rise of Web Based Applications which were the impetus of the now famous “Dot.Com Boom” and peaked around the year 2000. Prototyping, iterative Development, Rapid Development, and Continuous Improvements became the cornerstones of a new kind of Project Management. Key aspects were: Valued Ambiguity, Fierce Release Schedules and the fact that requirements gathering was less important. Change was inevitable with over 80% of the system's total cost came from the maintenance. Lesson 2.3: The Agile Manifesto Skills learned from this lesson: Agile, Management, Project Leadership ● Complicated versus Complex problems required changing Project Management philosophies, instead of the 80/20 split between development and maintenance, we need a 100% solution. This meant that the industry came to realize that complicated problems are in fact just complex and had more factors included. Better solution was needed. ● This is when the Agile manifesto came out (Snowbird Meeting in 2001). ● Key facts were: Individuals and interactions over Processes and tools Working software over Comprehensive documentation Customer collaboration over Contact negotiation Responding to change over Following a plan ● While there is a value in the items on the right, we value the items on the left more! Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 3 Lesson 2.4: What was Old is New Again Skills learned from this lesson: Agile, Management, Project Leadership ● Agile becomes a King again. It rejected formal processes (to a degree, there is still a value for planning and documenting but business impact was a priority) in favor of flexibility. ● People then developed Agile Processes ● Without flexibility, Agile will simply become Waterfall 2.0 ● Andrew Hunt, one of the Agile Founders defined a Slogan of Agile: “The problem, Hunt says, is that agile requires developers to think and be adaptive, when most simply prefer to follow a narrow set of rules for a set of practices because it’s safer.” Module 3: Flavors of Agile Lesson 3.1: Scrum Skills learned from this lesson: Agile, Management, Project Leadership ● 5 principles: 1. Focus is on the Team () 2. Minimum Viable Product () 3. Product Backlog () 4. Use Sprints (Short - 2 week to a month long feature addons) - Sprint Planning: *Analyze the Backlog *Set Sprint Goals (The What) *Assign Resources (The Who) *Determine Techniques (The How) *Estimate the sprint *Execute (Code to Production) *Sprint Review (Refine Estimating Skills) 5. Fixed Duration, Viable Effort, Viable Features () Lesson 3.2: Lean Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 4 Skills learned from this lesson: Agile, Management, Project Leadership ● Main idea was cost reduction ● The goal of lean is to make the developing process sustainable, which is done by continuously improving processes ● Listening to and incorporating customer feedback is at the core of both Agile and Lean. ● Habitually review and reduce Waste ● Uses other Agile Methodologies (Like Kanban Boards and Scrum) ● Continuous delivery and continuous improvement Lesson 3.3: XP (Extreme Programming) Skills learned from this lesson: Agile, Management, Project Leadership ● If we decompile our tasks into smaller packages we would get better results. ● Parts of this process are the following: ○ Sit together ○ Whole Team ○ Information Workspace ○ Energized Workforce ○ Pair Programming (It has 2 people overlooking each other. It help to get project completed better and faster) ○ Stories and Epics ○ Weekly and Quarterly Cycles ○ Slack ○ Ten Minute Build ○ Test-First Programming ○ Incremental Design and Refactoring ○ PLANNING/FEEDBACK LOOPS: Release Plan(Months)>Iteration Plan(Weeks)>Acceptance Test(Days)>Stand UP Meeting(One Day)>Pair Negotiation(Hours)>Unit Test(Minutes)>Pair Programming(Seconds)>Code>Redo one of the previous if needed Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 5 Lesson 3.4: DSDM (Dynamic System Development Method) Skills learned from this lesson: Agile, Management, Project Leadership ● ● ● ● ● ● ● ● ● ● ● Often sold as non tech PM tool Focus on the business need Deliver on time Collaborate Never compromise quality Build incrementally from firm foundations Develop iteratively Communicate continuously and clearly Demonstrate control Proponent of the MoSCoW Method (What do we Must have, Should have, Could have and Won't have) – What is in/out of scope etc.. Process goes this way: Pre-Project(Feasibility,Foundations)>Exploration>Engineering>Incremental Deployment>Post-Project Lesson 3.5: Kanban Skills learned from this lesson: Agile, Management, Project Leadership ● Pull method of assigning work on Agile Projects ● In Japanese, Kanban translates to “Visual Signal” ● Work Items are Represented Visually on a Kanban Board ● Uses JIT Techniques from Japanese Car manufacturer ● Design and Build Cars in the same way supermarkets stock shelves ● Eliminates bottlenecks ● This gives better forecasting on a project completion Module 4: Agile Planning Lesson 4.1: Agile Planning Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 6 Skills learned from this lesson: Agile, Management, Project Leadership ● Minimum Viable Product ● Determine Methodology Combination ● Agile iron Triangle ● Driver is typically Schedule/Budget ● Iteration Plan (Adjustable sprints) ● Start Backlog (Background tasks, something that is a good idea but it is not main requirement) ● User Stories and Epics versus Requirements ● Estimate Effort ● Investment Mindset for Agile Projects ● This system basically only pushes the must haves of a project Lesson 4.2: Hybrid Planning Skills learned from this lesson: Agile, Management, Project Leadership ● Common for Modern Government Projects ● Procurement Challenges ● Planning looks like Waterfall (but is a higher level) ● Iteration and Progressive Elaboration Used ● Requirements (Ends versus means, We want to have everything forwarded to the goal, Each dollar goes to the initial cause) ● Can backfire if major scope changes occur ● Mitigates some Risks as opposed to pure Agile ● A possible Baby Step for Traditional Project Managers Lesson 4.3: Video Lab: Developing an Agile Schedule Skills learned from this lesson: Agile, Management, Project Leadership ● For this part of the course you’ll need Azure DevOps ● Under fdot/Test Custom Agile Rule/Boards/Backlogs we have several backlog tasks ● Whenever something new pops up we can place it to the backlog Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 7 ● To add items press “New Work Item”>Enter the description or name>And then “Add to top” ● To set the priority click on any of them and put the value of “Effort” ● To add them to sprint drag the task to the right, under planning ● Lets move to the boards where we can see all active tasks of a sprint ● We can place only one value of effort to each different task, which means that there won't be 2 tasks with value of 10 ● Process that each task will take goes like this: 1. Its created and places to the New section 2. Once it’s activated it goes to Active part 3. Once completed it should be moved to the Resolved group 4. At the end it goes to Closed and it stays they for further reference in case of need Lesson 4.4: Video Lab: Developing a Wagile/Scrumfall Schedule Skills learned from this lesson: Agile, Management, Project Leadership ● In this video we are going thru waterfall software development project ● Here we see classic path which goes as following: 1.Statement of the problem 2.Design 3.Implementation 4.Testing 5.Acceptance ● The process is the same as in the previous lesson but here we can add the tasks that aren’t dependent on any other. We can create the correlation by selecting tasks and choosing the “Connection” option. ● Important part is that we strive to keep our scope the same as at the beginning. Module 5: Agile Planning Lesson 5.1: Executing an Agile Project Part 1 Skills learned from this lesson: Agile, Management, Project Leadership Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 8 ● Goal is to have everything completed in the same time, not to deviate tasks from each other ● Phases: ○ Planning ○ Code Reviews (Beta testing, UA testing…) ○ Release Schedule ● We can accept the failure as long as we learn from it! Lesson 5.2: Executing an Agile Project Part 2 Skills learned from this lesson: Agile, Management, Project Leadership ● Reviews (After Action Reports, Review of what is done) ● Estimate Self-Corrections (We check performance speed and adjust it to maximize results) ● Pull versus Push Work items ● Two things to keep in mind: Agile could seem like a documentation lacking procedure but if taken correctly it will not be, and the second is that teams aren’t that good at estimating their time/workload. Lesson 5.3: Daily Standup Meetings Skills learned from this lesson: Agile, Management, Project Leadership ● Vital to Agile Projects (Daily meetings aren’t necessary but they do bring more value to project completion) ● Collaboration is Key (With great understanding comes great outcome) ● Assign Work (Separate the duties) ● Address Challenges (Explain and approach to each issue, skipped problems could have big potential later) ● Continually Improve (With each small improvement step we create great outcome) ● Track Progress (While we track progress we reduce demoralization and procrastination) Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 9 Lesson 5.4: Minimum Viable Product/Value Delivery Part 1 Skills learned from this lesson: Agile, Management, Project Leadership ● What is Value? ○ Business Impact (Basically everything that investor would ask for) ○ Measurable (Something that can be calculated and rationalized) ○ Shortest Time to Market (ETA on getting started-going out to the field) ● Minimum Viable Product ○ Fastest Way to Provide Value ○ Especially Useful for Web Based Applications ○ Contracts can be Complicated ● MoSCoW Prioritization comes up as a great solution Lesson 5.5: Minimum Viable Product/Value Delivery Part 2 Skills learned from this lesson: Agile, Management, Project Leadership ● Gold plating Issues with Agile (Scope gets badly determined, projects could go up in price much more than planned, investors could shut it down because of a budget “black hole”) ● Agile Projects tend to have a bad reputation on cost ● Planning and a fully iterative RTM can prevent this issue Lesson 5.6: Executing a Kanbal Project Skills learned from this lesson: Agile, Management, Project Leadership ● We are going to use Wrike software for this lesson ● Under Created by me/Test Projects we have a dashboard with regular options (To Do, Doing, Done, backlog, Cancelled) ● Task management is really simple and it's almost the same as in the prior videos ● You yourself are your own boss, which means that you can schedule your bottleneck Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 10 Module 6: Conclusion Lesson 6.1: Application to Cybersecurity Skills learned from this lesson: Agile, Management, Project Leadership ● Cyber (ISCA) Goes Agile: ● Enterprise Security Programs can leverage Agile ○ Building the Train Track while the Train is Rolling ○ Impact Focused versus Agile’s Value Focus ● Investment Cost = More Oversight ● Cybersecurity Goes Enterprise: ● Cyber is reliving the Software Development Growing Pains from the 1980’s and 1990’s ● Have been steadily adopting PM Methods as investment costs rise ● Talented Cybersecurity Project Managers desperately needed Lesson 6.2: Application to Other Enterprise and IT Projects Skills learned from this lesson: Agile, Management, Project Leadership ● Is Agile a Fad? ● What’s old does not mean that its bad, what is new is not necessarily better and vice versa. ● Cognitive Framework is Important ● Techniques Evolve ● Process that Agile is taking: Plan>Design>Develop>Test>Deploy>Review>Launch ● What separates a good PM is their product vision and work organization Lesson 6.3: Conclusion ● Here we conclude the course and write the references to be checked if more details are required ● So what have we learned: ○ The origins and philosophy of Agile Project management ○ The types of Agile Methodologies Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 1 1 ○ Best practices of Agile Projects ○ How to select the best Agile Methodology for a Project ○ How to plan Project using an Agile Methodology ○ How to execute projects using an Agile methodology ● Study Resources: ○ PMI Agile Practice Guide: https://www.pmi.org/pmbok-guide-standards/practice-guides/agile ○ Rapid Application Development: https://kissflow.com/rad/rapid-application-development/ ○ An empirical investigation into the adoption of systems development methodologies: https://www.sciencedirect.com/science/article/pii/S037872069800072X ○ An empirical investigation into the adoption of systems development methodologies: https://www.sciencedirect.com/science/article/pii/S037872069800072X ○ Ebert, L. (2002). Successful project management for software product and information system development. Paper presented at Project Management Institute Annual Seminars & Symposium, San Antonio, TX. Newtown Square, PA: Project Management Institute. ○ Martin, J. (1991). Rapid application development. Macmillan Publishing Co., Inc.. Brought to you by: Develop your team with the fastest growing catalog in the cybersecurity industry. Enterprise-grade workforce development management, advanced training features and detailed skill gap and competency analytics. 12