SW development

Who develops software?

FTFP
Fix Time Fix Price

Pros

  • Finalized pricing
  • Strict deadlines
  • Predictability
  • Little to no management

Cons

  • Rigid terms
  • Long planning
  • Miscommunication risks

Waterfall

SW Projects

SW Projects

Fewer than a 1/3 of all projects

were successfully completed

on time and on budget.

(source)

Agile manifesto

(source)

Individuals and interactions over processes and tools


Working software over comprehensive documentation


Customer collaboration over contract negotiation


Responding to change over following a plan

TM
Time & Material

Pros

  • Flexible requirements
  • Hourly rates
  • Product quality
  • Transparency

Cons

  • Uncertain deadlines
  • Undefined budget
  • Need to manage the process
  • Hard decisions

(source)

Agile SW Projects

Agile projects are 28% more successful than traditional projects.

(source)

+28%

Agile vs. Non-agile

(source)

65% finished projects on time compared to 40% of non-agile organizations

 

67% finished projects on budget compared to  45% of non-agile organizations

 

Revenue grew 37% faster

 

Agile organizations generated 30% more profits

Agile methodologies

  • Adaptive Software Development (ASD)
  • Crystal
  • Dynamic Systems Development Method (DSDM)
  • Extreme Programming (XP)
  • Feature-Driven Development (FDD)
  • Kanban (depending on how you use it)
  • Lean
  • Scrum

SCRUM

SCRUM

 

most popular process frameworks for implementing Agile

(source)

Scrum Roles

Product Owner

 

Scrum Master

 

Team

Product Owner

Scrum Master

Scrum Artifacts

  • Product Backlog
  • Sprint Backlog
  • Product Increment

Scrum Activities

  • Sprint Planning
  • Daily Scrum / Stand Up
  • Sprint Review / Demo
  • Sprint Retrospective
  • Product Backlog Refinement

Scrum Information Boards

  • Scrum Board (task board)
  • Burndown Chart

Scrum process

Project types by maturity

New project

Running project

Maintenance project

Development tools and processes

What we will use...

  • Jira
    • task management system
    • SCRUM board
  • GIT
    • source code CVS
    • Gitlab
  • CI
    • continuous integration and continuous delivery
    • Gitlab and Jenkins
  • IDE
    • Jetbrains IDEA (Java)
    • VSCode (ReactJs)
  • Communication
    • Slack

Jira

  • ITA-java Jira here, ITA-react Jira here and here
  • more than just issue track system
  • itself for few workshops
  • many perspectives
    • administrators
    • project manager
    • team lead
    • developers
    • tester
    • support
    • customer
    • ...
  • focuse on the developer perspective

Jira - overview

  • workflow
  • plugins
  • agile methodologies support
  • complex user management
  • other features (custom fields, exporting, ...)

Jira workflow

Jira - main features

  • Issues
    • Types
    • States
    • Repoter
    • Assignee
  • Search filters
    • favorites, sharing
    • query searching
  • Dashboards
    • private dashboards
    • shared dashboard
  • Plugins + marketplace
  • SCRUM board

Jira - demo

JAVA - IntelliJ IDEA

  • Not reason to use other IDE
  • Education license
  • Powerful shortcuts (some of them will learn)
  • Ultimate coupons - in progtress
  • Download here
  • IDA shortcuts

React - Visual Studio Code

Git

  • Control version system
    • a complete long-term change history of every file
    • branching and merging
    • traceability
  • distributed architecture
  • snapshot based
  • Git doc
  • Atlassian git tutorials

Git – how it works

GIT –commands

Git - principles, links

Q & A

ITA 05 - 01

By IT-absolvent

ITA 05 - 01

Workshop #X

  • 613