+ All Categories
Home > Documents > Notes on Agile Software Development

Notes on Agile Software Development

Date post: 14-Oct-2014
Category:
Upload: james
View: 616 times
Download: 4 times
Share this document with a friend
3
Agile Development process Agile methods are so fundamentally people- oriented with intense collaboration Essential that you start with a team that wants to try and work in an agile way. Imposing agile methods on reluctant people is fundamentally at odds with the whole notion of agile development Parties must care about the outcome Whenever anyone does anything new they inevitably make mistakes Aware of where the boundary conditions until you cross over them and fail Expect varying factors to easily pin down the source of problems Crystal Process has three priorities safety in: Project outcome Efficiency Habitability (developers can live with crystal?) They also share common properties, of which the most important three are: Frequent Delivery Reflective Improvement Close Communication SCRUM is a "hyper-productivity tool", and has been documented to dramatically improve productivity in teams previously paralyzed by heavier methodologies. 3 Key Questions that are asked: What did I get done? What is thwarting progress (obstacles)? What am I going to do tomorrow? Model of thinking should be: Adaptive / Tolerant / Patient Agile is a self adaptive process. Core Questions: What did we do well? What have we learned? What can we do better? What puzzles us? Characteristics of SCRUM: Authentic sense of ownership Sociological Phenomenon (its all about community) Encourage and foster cross-pollination and cross stimulate ideas Small endeavors Systematic Way Smaller processes embedded in larger processes Extreme Programming Five values (Communication, Feedback, Simplicity, Courage, and Respect). The idea is that practices are concrete things that a team can do day-to-day, while values are the fundamental knowledge and understanding that underpins the approach. Values without practices are hard to apply and can by applied in so many ways that it's hard to know where to start. Practices without values are rote activities without a purpose. Rational Unified Process (RUP): The key common aspects of RUP is that it is: Use Case Driven (development is driven through user-visible features) Iterative Architecture centric WORKFLOW VELOCITIES Smaller waterfalls with significant events (milestones) There are different workflow velocities. Require different strategies Seamless integrated with development Full Integration Culture Integrated Framework Continuous Integration Sometimes independent and isolation is required Thirty day iterations (called 'sprints') and applying closer monitoring and control with daily meetings
Transcript

Agile Development process

Agile methods are so fundamentally people-oriented with intense collaboration

Essential that you start with a team that wants to try and work in an agile way.

Imposing agile methods on reluctant people is fundamentally at odds with the whole notion of agile development

Parties must care about the outcome Whenever anyone does anything new they inevitably make mistakes Aware of where the boundary conditions until you cross over them and

fail Expect varying factors to easily pin down the source of problems

Crystal Process has three priorities safety in: Project outcome Efficiency Habitability (developers can live with crystal?)

They also share common properties, of which the most important three are: Frequent Delivery Reflective Improvement Close Communication

SCRUM is a "hyper-productivity tool", and has been documented to dramatically improve productivity in teams previously paralyzed by heavier methodologies.

3 Key Questions that are asked: What did I get done? What is thwarting progress (obstacles)? What am I going to do tomorrow?

Model of thinking should be: Adaptive / Tolerant / Patient

Agile is a self adaptive process. Core Questions: What did we do well? What have we learned? What can we do better? What puzzles us?

Characteristics of SCRUM:

Authentic sense of ownership Sociological Phenomenon (its all about community) Encourage and foster cross-pollination and cross stimulate ideas Small endeavors Systematic Way Smaller processes embedded in larger processes

Extreme Programming

Five values (Communication, Feedback, Simplicity, Courage, and Respect).

The idea is that practices are concrete things that a team can do day-to-day, while values are the fundamental knowledge and understanding that underpins the approach.

Values without practices are hard to apply and can by applied in so many ways that it's hard to know where to start.

Practices without values are rote activities without a purpose.

Rational Unified Process (RUP):

The key common aspects of RUP is that it is: Use Case Driven (development is driven through user-

visible features) Iterative Architecture centric

WORKFLOW VELOCITIES

Smaller waterfalls with significant events (milestones)

There are different workflow velocities. Require different strategies Seamless integrated with development

Full Integration Culture

Integrated Framework Continuous Integration Sometimes independent and isolation is required Thirty day iterations (called 'sprints') and applying closer

monitoring and control with daily meetings Concentrates on the management aspects of software

development

Resources and TasksFree circulating tasks and resources / Rotating resources

Approach Your Work: Acknowledge Change / Embrace Change / “I get it” Task Buffer – Queue, priorities queue is a holding a

mechanism. Tasks can be serialized or run in parallel Serialized – sequential tasks

Useful Work Tips:Capture the discussion via whiteboard snapshotsGet commentary on picturesElaborate just enough details

ProblemsProblems with resource allocation is resource theft.Contract can be broken, tasks terminated, rules to enforced.

The Timebox work conservation equation: the time remains constant so only the tasks and the resources can vary

Resource Theft Happens : If testing resource gets pulled, then tasks are pulled. If too much resource is pulled, then the sprint is

terminated and a new sprint is created that conforms to the new realities.

Hypothesis Testing

A tentative explanation for an observation, phenomenon, or scientific problem that can be tested by further.

Software testing is: Positing a hypothesis Testing the hypothesis Refactor and calibrate hypothesis (modulate direction of

testing efforts) Restating hypothesis

Undertaking, Endeavor,

Its no small feat, Tasks doesn't change, task resources change What is the center of gravity Run you tasks at a torrid pace

About Requirements (product conceptions) in SCRUM model Must abstract the essence of work Has to be an intellectual discipline

More About SCRUM

Embracing reality through authentic work and speech Good science - The art of evolving confidence building

mistakes Framing the real work in timeboxed intervals Maintaining the work conservation equation – the time

remains steady so the tasks and resources must vary This has the effect of maintaining a project heartbeat Timeboxed intervals are series of mini-waterfalls which

taken together are much more flexible and accurate than one larger waterfall.

Our agile development is embedded in a larger waterfall environment.

We use a layered strategy to account for different workflow velocities

Scrum is task agnostic - if any tasks can be owned and estimated accurately and then they can be ‘scrummed’.

Soft tasks such as bug fixing or customer service with no hard estimates can also be scrummed where is emphasis is the daily meeting and the velocity tracking.

The ‘Process’ is always a second-order effect. Agile is about people and their creative energy.

In the end, its about people believing in the product and then people creating the product as they work together in a very human community

Daily Sprint Meetings:

Daily sprint meetings occur with questions that facilitate work adjustments at the micro level.

[1] What I did do since the last daily meeting?[2] What are my obstacles?[3] What do I plan to do before the next sprint meeting?

Artifacts: Whiteboards snapshots with minimal commentary Wikis, BlogsThe Scrum Spreadsheet contains 4 worksheets Planning / Sprint Backlog / Team Burndown Chart / Individual

Burndown Chart

Scrum Planning Worksheet: Team Name Starting Date # of Calendar Days # of Work Days Ending Date Work hours per day (typically 8) Team member initials Full names Working Days this sprint Overall Drag Factor (as a %)Calculations:

Working calendar hours for this sprint % of calendar hours available for this sprint Working hours available for this sprint Total planned hours Unplanned hours

Team Sprint availability


Recommended