diff --git a/README.md b/README.md index abab9bb9..820cf75e 100644 --- a/README.md +++ b/README.md @@ -64,9 +64,9 @@ that we defined: - `reveal-titlepage`: Puts the chapter title, course name (`course` parameter in page or in `config.toml` file), authors (`author` - parameter), and inserts the `reveal-prevnext-links` at the bottom, - with an option to display a cover image. The default format for the - title page and its contents, such as authors can be changed in + parameter), with an option to display a cover image, followed by the + `reveal-prevnext-links` shortcode. The default format for the title + page and its contents, such as authors can be changed in `layouts/shortcodes/reveal-titlepage.html`. It accepts the following optional parameters with the regular HTML syntax `param="value"`: - `figure`: Displays the cover image specified at given diff --git a/config.toml b/config.toml index 7826b377..480996df 100644 --- a/config.toml +++ b/config.toml @@ -1,4 +1,4 @@ -baseURL = "https://ggc-sd.github.io/softdev2-resources/" +baseURL = "https://soft-eng-practicum.github.io/softdev2-resources/" languageCode = "en-us" DefaultContentLanguage = "en" @@ -26,7 +26,7 @@ isHTML = true # Source Code repository section description = "Lectures and other resources for teaching and learning about software development" - github_repository = "https://github.com/GGC-SD/softdev2-resources" + github_repository = "https://github.com/soft-eng-practicum/softdev2-resources" version = "0.1.1" # Settings special to the textbook @@ -35,7 +35,7 @@ isHTML = true # Documentation repository section # documentation repository (set edit link to documentation repository) - github_doc_repository = "https://github.com/GGC-SD/softdev2-resources" + github_doc_repository = "https://github.com/soft-eng-practicum/softdev2-resources" # Analytic section google_analytics_id = "G-K4SBB2EN2W" # Your Google Analytics tracking id diff --git a/content/student/chapter-jira/_index.md b/content/student/chapter-jira/_index.md index b9b39feb..7aaa63b6 100644 --- a/content/student/chapter-jira/_index.md +++ b/content/student/chapter-jira/_index.md @@ -4,10 +4,105 @@ outputs = ["Reveal"] weight = 05 +++ -{{% reveal-titlepage figure="/softdev2-resources/images/scrum/scrumrugby.jpg" %}} +{{% reveal-titlepage figure="/softdev2-resources/images/comics/dilbert-pm.png" %}} --- +### Project Management (PM) +What is Project Management? + +{{% fragment %}} **Project management** is the process of matching a project's goals, tasks, and resources to accomplish a goal considering also constrains like limited time, money, and resources (people and tools) with which to accomplish the goal. {{% /fragment %}} + +{{% fragment %}} {{< figure src="/softdev2-resources/images/pm/projectpm.png" width=600 >}} {{% /fragment %}} + +--- +### Project Step 1: Defining the goals of the project + +- entire team must participate +- each team member must understand these goals +- step ends with a list of goals and a statement of success + +Defining success is necessary to make sure there is no ambiguity as to whether the goal has been accomplished or not. It also prevents teams from performing unnecessary +iteration and improvement on a goal which has been sufficiently accomplished. + +--- +### Project Step 2: Define project tasks/activities + +Each goal or sub-set of goals should be matched to the tasks required to accomplish them. Team should agree on the tasks that will define the success of each goal. + +{{< figure src="/softdev2-resources/images/pm/goaltasks.png" height=400 >}} + +--- +### Project Step 3: Determine and verify resource requirements + +{{% fragment %}} **The most important here is to be realistic**, meaning to determine what resources you need (like people, time, money, space, computers, software, etc.) to get the job done correctly, on time, and on budget. {{% /fragment %}} + +{{% fragment %}} * Most common mistake is to underestimate the amount and type of resources required, which leads to projects that run over budget and fall behind schedule. + +DO NOT: + • Squeeze a project into a shorter time frame to please your boss + • Cut corners to minimize resource requirements + • Plan on a best-case basis, i.e. "If everything goes correctly, we will finish on time." +{{% /fragment %}} + +{{% fragment %}} * A good idea is to build in a safety margin of 20% in terms of time and budget, which will give additional time to deal with unexpected occurrences.{{% /fragment %}} + +{{% fragment %}} * Once the requirements have been set, it is important to make sure that the team has access to them to minimize risk.{{% /fragment %}} + +--- +### Project Step 4: Identify risks and develop backup plans + +{{% fragment %}} Projects always involve an **amount of uncertainty (risk)** that may lead to problems and surprises during the project development. {{% /fragment %}} +{{% fragment %}} As a professional you will be required to help get the job done. You must learn how to deal with surprises and adversity, and not be pushed around by them. {{% /fragment %}} + +{{% fragment %}} Risk management is important as it helps the team accomplish the project with as little trouble as possible, and could be very complex.{{% /fragment %}} + +{{% fragment %}} One simple idea is to identify the risks for each task and build a backup plan to help keep you on schedule. +{{< figure src="/softdev2-resources/images/pm/taskrisk.png" height=150 >}} +{{% /fragment %}} + +--- +{{% slide notes="As an AGILE TEAM MEMBER, if you are waiting on a team member to accomplish a task and they are behind, it is your responsibility to help them in any way you can. If you cannot help them, you must make sure they get the help to accomplish their task. Any excuse makes you look like you are not a team player." %}} + +--- +### Project Step 5: Develop a schedule + +Develop a schedule that includes the tasks, people responsible for these tasks, and a timeline. + +{{< figure src="/softdev2-resources/images/pm/gantt-schedule.png" height=300 >}} + +--- +### Project Step 6: Execute the schedule + +During this stage, the project manager is responsible for coordinating, though group members should communicate among themselves as required. + +Each team member should document their activities during this step. + +--- +### Project Step 7: Finish the project and assessing performance + +After the goals have been achieved, it is good practice to evaluate the performance of the project team. We call this **retrospective session**. + +{{% fragment %}} To review the team's performance we will use **Burndown** ([see](../chapter-agiledevelopment/chapter-scrum/#/11)) and **Velocity** charts. {{% /fragment %}} + +{{% fragment %}} Velocity is the amount of work a team can handle during a set period of time (sprint). {{% /fragment %}} +{{% fragment %}} The velocity chart is a visual representation of the project’s progress. {{% /fragment %}} + +{{% fragment %}} Managers use velocity to measure the rate at which an Agile development team delivers value to a business. +{{< figure src="/softdev2-resources/images/scrum/sprintburndownchartstudents.png" height=200 >}} +{{% /fragment %}} + +--- +### Project Management in Our Case + +{{% fragment %}} * We are using AGILE during the semester, with the project being split int 3 main phases ([see](../chapter-project-design/) for details on each phase). Thus, Steps 1-7 need to be implemented for each of these phases. {{% /fragment %}} + +{{% fragment %}} * To help the project management process and the team build up a schedule and keep track of the tasks, we will be using a project management tool called [Jira](https://www.atlassian.com/software/jira) + +{{< figure src="/softdev2-resources/images/pm/jira.png" height=300 >}} +{{% /fragment %}} + +--- ## Jira {{% fragment %}}

* Originally proposed by Jeff Sutherland in 90s, then improved by Schwaber and Beedle

{{% /fragment %}} @@ -16,7 +111,7 @@ weight = 05 {{% fragment %}}

* Takeuchi and Nonaka compare high-performing, cross-functional teams to the scrum formation used by Rugby teams.

{{% /fragment %}} -{{< figure src="/softdev2-resources/images/scrum/scrumrugby.jpg" width=400 >}} +{{< figure src="/softdev2-resources/images/scrum/scrumrugby.jpg" height=400 >}} --- diff --git a/content/student/chapter-software-protection/_index.md b/content/student/chapter-software-protection/_index.md index 5a4ef51b..8b6a871e 100644 --- a/content/student/chapter-software-protection/_index.md +++ b/content/student/chapter-software-protection/_index.md @@ -315,6 +315,8 @@ Patents are granted to limited categories: - Energy, magnetism _per se_ - Process that manipulates abstract ideas, concepts or pure numbers without any practical real world application + + --- #### Resources @@ -331,4 +333,3 @@ https://www.ipwatchdog.com/ {{% reveal-prevnext-links %}} - diff --git a/content/student/chapter-software-protection/intellectual-property/_index.md b/content/student/chapter-software-protection/intellectual-property/_index.md index d3e35358..77ed89d0 100644 --- a/content/student/chapter-software-protection/intellectual-property/_index.md +++ b/content/student/chapter-software-protection/intellectual-property/_index.md @@ -32,6 +32,17 @@ weight = 01 - Best to decide as you finalize your project this semester - Submit an IP agreement that determines contributions between team, your client, and your professor. +--- + +#### More Resources + +- We now have a website with many resources for software protection and licensing: + https://ggc-sd.github.io/LegalSoftDevApps/index.html +- Contains: + - Example Forms + - Explanations + - Guidance + {{% reveal-prevnext-links %}} diff --git a/content/workshops/angular/Beginner/_index.md b/content/workshops/angular/Beginner/_index.md new file mode 100644 index 00000000..f1b76ce9 --- /dev/null +++ b/content/workshops/angular/Beginner/_index.md @@ -0,0 +1,16 @@ ++++ +title = "Angular For Beginners" +outputs = ["Reveal"] +weight = 01 # chapter number ++++ + +{{< reveal-titlepage figure="/softdev2-resources/images/comics/dilbert-plan-software.png" + link="https://dilbert.com/strip/1998-11-10" >}} + +--- + +## Welcome to Angular for beginners + +Work in progress... + +--- diff --git a/layouts/partials/reveal-hugo/body.html b/layouts/partials/reveal-hugo/body.html index ba32f011..692d9e9a 100644 --- a/layouts/partials/reveal-hugo/body.html +++ b/layouts/partials/reveal-hugo/body.html @@ -1 +1 @@ -Home +Home diff --git a/static/images/comics/dilbert-pm.gif b/static/images/comics/dilbert-pm.gif new file mode 100644 index 00000000..a8316954 Binary files /dev/null and b/static/images/comics/dilbert-pm.gif differ diff --git a/static/images/comics/dilbert-pm.png b/static/images/comics/dilbert-pm.png new file mode 100644 index 00000000..ce1836ba Binary files /dev/null and b/static/images/comics/dilbert-pm.png differ diff --git a/static/images/pm/gantt-schedule.png b/static/images/pm/gantt-schedule.png new file mode 100644 index 00000000..a385d01f Binary files /dev/null and b/static/images/pm/gantt-schedule.png differ diff --git a/static/images/pm/goaltasks.png b/static/images/pm/goaltasks.png new file mode 100644 index 00000000..5a15d6f0 Binary files /dev/null and b/static/images/pm/goaltasks.png differ diff --git a/static/images/pm/jira.png b/static/images/pm/jira.png new file mode 100644 index 00000000..683fd9d7 Binary files /dev/null and b/static/images/pm/jira.png differ diff --git a/static/images/pm/projectpm.png b/static/images/pm/projectpm.png new file mode 100644 index 00000000..e32bd765 Binary files /dev/null and b/static/images/pm/projectpm.png differ diff --git a/static/images/pm/taskrisk.png b/static/images/pm/taskrisk.png new file mode 100644 index 00000000..5d706c35 Binary files /dev/null and b/static/images/pm/taskrisk.png differ