Project Management
Principles Behind The Agile Manifesto
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcoming changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of converting information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity–the are of maximising the amount of work not done–is essential.
- The best architectures, requirements, and designs emerge from self-organising teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
Software Planning/Software Documentation
Where the idea of “A Ride-sharing App” becomes a complex system with its business logic, tech specifications, and user flows.
Product Documentation
What should the product be like?
Functional and Non-Functional Requirements:
“A user should be able to check the order status on the main screen.” - Functional Requirement that talks about user capabilities.
“A system must support 100,000 users at the same time.” - Non-Functional Requirement because it describes the capabilities of the product, how fast it is, what security measures it uses, how the system must grow.
A product requirement document is one of the first created.
User research documents:
- User Personas - a detailed description of a typical user that makes it easier for the dev team to visualize what the people want need and how they behave the behavior of a persona is then broken down into user scenarios
- User Scenarios - about people accomplishing a task. Scenarios help designers understand a users thought process and motivation.
- User Stories - written from the point of view from a user persona. “As a busy manager a I want to receive automated reports so I’m always up to date with metrics”
These documents help compile deliverables: Prototypes, Wireframes, and User Journey maps.
Architecture Design Documents:
Main three layers: Presentation, Business Logic, Database
Usually pretty schematic, but communicate to the team what components, and design principles should be used without many tech details.
Testing Documentation:
Testing happens along with engineering not after. Test driven development requires test cases based on requirements before starting any development work.
- Test Plan
- Test Cases
Process Documentation
How are we going to build it?
Roadmap - Gantt Chart
List objectives, prioritize tasks and assign deadlines.
Strategy Roadmap
High level goals, and delivery estimates. Shouldn’t be detailed so you can view the whole project.
Technology Roadmap
Lists smallest deliverables and their due dates.
Release Roadmap
Deadlines for when each part of the project should start functioning and what features go live when.
Metrics
Meant to provide feedback on how fast and effective the work is.
Main Agile Metrics and KPIs
Work in Progress
- Velocity
- Sprint Burndown
- Release Burndown
Process Health and Bottlenecks
- Cycle Time
- Cumulative Flow
- Flow Efficiency
Code Quality
- Code Average
- Automation VS Manual Tests
- Code Churn
- MCC
Standards
Sets up best practices that every team member, regardless of when they joined the project or what their experience is, can use to create consistent code and design.
Comments
0 comments
Please sign in to leave a comment.