The document provides an overview of Agile Software Development, detailing its phases, principles, and characteristics. It emphasizes the importance of agility in adapting to changes and customer feedback, as well as the Agile Manifesto's values. Additionally, it discusses user stories as a key tool in Agile practices for capturing user requirements effectively.
Download as PPTX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
2 views
Week five
The document provides an overview of Agile Software Development, detailing its phases, principles, and characteristics. It emphasizes the importance of agility in adapting to changes and customer feedback, as well as the Agile Manifesto's values. Additionally, it discusses user stories as a key tool in Agile practices for capturing user requirements effectively.
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21
Software Engineering
By: Ajeet Kumar
Recommended Book • Pressman, R. S., & Bruce R. Maxim, D. (2014). Software Engineering: A Practitioner’s Approach. ISBN: 9780078022128. Outline: • What is Agility? • Agile Software Development • What is an agile process? • Agility and cost of change • Agile Manifesto • Agility principles • Characteristics of Agile Software Development. • Predictive vs Descriptive • User Stories • Template • Good user stories • Spike • User story writing workshop • Story mapping Agility: • Agility is to move rapidly • In Software Development agility is to become more content specific and dynamic about the product. Agile Software Development: Six phases: • Concept: project scope • Inception: picking the best people for agile team. • Iteration: coding and feedback • Release: code tested and release for production • Maintenance: maintain ongoing product usable. • Retirement: end of product lifespan by replacing with new one. What is an agile process? • For making any product, it is not easy to calculate or predict all the aspects initially. • Variety of changes may occur either in requirement, designing and construction. • Software process must adapt incrementally (require customer feedback). • An portion of product will be delivered in short period of time with managing pace. • Through this process, customer can evaluate software regularly, provide necessary feedback to team. Agility and cost of Change: • Cost of changes increases nonlinearly as a project progresses. • Due to unit testing and pair programming the cost is attenuated Agile Manifesto: • Manifesto is a declaration document which shows some policy about how it work or productivity work. • In software engineering, agile manifesto is a written document that point out four values and 12 principles. • It was developed by 17 developers on February 2001, at The Lodge at Snowbird ski resort in Utah. • It is a manifesto for agile software development. • Developers were seeking an alternative from traditionally complicated processes and heavy documentation. Contd: • Four key values of agile manifesto: 1. Individuals and interactions over processes and tools: your team and communication plays a key role here, by interactions and sharing thoughts one can develop better products. 2. Working software over comprehensive documentation: to minimize documentation and with the help of user stories which accelerate the process. 3. Customer collaboration over contract negotiation: user collaboration during the development gives fruitful experience. 4. Responding to change over following a plan: with the help of short iteration cycles, respond and actions leads to better product. Agility Principles: To achieve agility one must follow below 12 principles of agility: 1. Satisfy customer by early delivery on highest priority. 2. Flexible for changing requirements 3. Delivery duration should be short like in weeks or months. 4. Business people and developers work together. 5. Motivate individuals and provide them needful resources. 6. Try to do face-to-face communication this is most effective way. Contd: • Attention towards technicality and designing of projects with maximum optimization. • Promote sustainable environment by maintaining pace with sponsors, developers and user. • Continuous attention to technical and design for enhancing agility. • Simplicity the art of maximizing work by excluding unnecessary tasks. • The self-organizing teams are the best one. • Do regular analysis and work on improvement in overall software development process. Characteristics of Agile Software Development: • Continuous Adaption • Collaboration • Fast delivery • Self-directed team • One step at a time Predictive Vs Descriptive • Descriptive: tells what happened in the past using history • Predictive: through this analysis we come to know what will be happen in future with the help of analyzed patterns. • Prescriptive: what and how should be done to get desired output. User Stories: • It is a small unit of work • A feature of software product written from perspective of user is called user story. • It is a end-goal from user. • It is a tool in agile software development to get software feature from user perspective. • It can be written by: clients, users, managers or development team members. • User story overcomes detailed documentation as user story is itself a customer-centric conversations. Template: • Who: the one who uses it. • What: the thing user want. • Why: why it is required. Template: • As a role, I want to action so that benefit. • Role show the user who will interact with system: • Action shows the ability of functionality user wish to have. • Benefit as a result the output. • Example: As an [supervisor], I want to [generate a report] so that I come to know the needful results]. Good User Stories: • A good user story have: (INVEST) • Independent: without depending on anyone. • Negotiable: only mention the user need instead signing a contract. • Valuable: shows value • Estimable: must be estimable, which can be fit in sprint (time bounded cycle). • Small: small story must be completed in couple of days. • Testable: testable increments. Spike: • It is a user story that gives us estimation of how long user story will take to complete. • It is a time-boxed activity/investigations that help to make good decision and faster delivery. Story mapping: • User story is a better approach for product backlog (priority functionality). • it gives practical and actionable way. • A map can arrange stories into manageable model. • Mapping gives you detail picture of backlog. • It gives you tool for better decision and enhancing priorities your backlog. • It is useful for discussing and managing scope. Contd: • User story map consists of 3 levels: • User Activities • User tasks • User Stories • 4th level is • Epic Advantages: • Simplified format • Increased flexibility • Improved collaboration Disadvantages: • Incomplete stories • Insufficient time • Narrow vision Thank you.
3.1 Pupils Will Be Able To Form Letters and Words in Neat Legible Print Including Cursive Writing. 3.1.2 Copy in Neat Legible Print With Correct Details LO Acvhieved 1 Dedikasi 1 Usaha 1 Pintar