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

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

+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
-
IDE
- Jetbrains IDEA (Java)
-
Communication
- Slack
Jira
- ITA-java Jira
- 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
- Start here.
JAVA - IntelliJ IDEA
- Not reason to use other IDE
- Education license
- Powerful shortcuts (some of them will learn)
- Ultimate coupons - in progress
- Download here
- IDEA shortcuts
Git
- Control version system (CVS)
- 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
-
Sometime use
-
One or never use
Git - principles, links
Q & A
ITA 06 - W01
By IT-absolvent
ITA 06 - W01
Workshop #1
- 483