Sep 5, 2015

Practical Agile

Principles of Agile

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

A big change is in thinking from Waterfall to Agile is that in Waterfall we know very clearly what we are building.  Indeed if we know what we are going to build, which also means we know tools, technologies, Operations, Architecture, resources, etc.  But we live in ever changing world where only time follows the same cycle minute after minute, hour after hour, and so on.
We keep time roughly constant and build in that time in iterative manner.  Our customers are in highly competitive market, they know they need vehicle but they don't know they need exact model.
A customer can give example of BMW X5, but this is not what he exactly wants.
And so we deliver in iterative manner -
One example is we first deliver a skate board, then cycle, then motorbike, then car, and customize car.

Agile is an iterative and incremental model of approaching planning, designing, developing, and delivering. Software development is a complex process where we probe, sense, and respond
In Agile we focus not only on delivery but also on early delivery.  No Big upfront planning, no big upfront design, no big bang theory, and no big phases, and neither jigsaw puzzle.

Incremental vs Iterative

Source -

An Agile team are made up of people with required skills, expertise, and authority to complete the specific task, or a minimum of all user stories in current Sprint backlog.

Best results are gained with co-located team, but I believe same results can be achieved by dispersed team with modern technologies such as web camera, webex, video conference, etc.
Daily Scrum or sometimes called Daily Standup should be done in same place with whiteboard using kanban approach, but it can also be done using tools like JIRA and video conferencing.  We used whiteboard initially, but after days we found it hard to share the whiteboard. Not everyone is updated with current state of whiteboard as it requires sharing whiteboard image after any status change of any task. When we shared whiteboard in video conferencing, some had poor connection and they were unable to view it clearly. Later we decided to also use JIRA, and then we found it hard to maintain tasks at two places - Whiteboard and JIRA. Lastly we decided to only use JIRA.
We had short development cycles and regular delivery but without pair programming. No two person have same skills and it becomes personal when they do pair programming.
Another major step is Continuous Delivery, which meant automated testing and automated build.
And Last Step is Iterative Releases

In big organizations, One simply doesn't starts with Sprint 1 instead Agile needs to be incorporated into existing established practices.
Merging and mixing methodologies will create confusion and so moving towards Agile is extremely cautious process and must be done with help of coaches and experts.
Typically we still have few - four stages - Initiation (Risk, Regulatory, ROI, etc.), Inception (Rough planning with Rough Design), Sprints (Design, develop, test, and build), Iterations(release).
A project will have a team to complete stages and team will constitute of Product Owner, Scrum Master, and Development Team (which might also include architect and tester).
Apart from above team, an organizations have secondary teams - Business Analysts, Performance Testing, Technical Experts, and other Specialists - for occasional support.

Waterfall to Agile Shift -
Practically Agile Still has Stagesand stages are same as defined in Project Management standards. I still feel there 4 major process groups -
Management & Control, Plan & Design, and Execute.
Lets forget for some time the original 5 process groups and 47 knowledge areas

Management & Control

Plan & Design
Plan & Design will also include planning for Security Requirements, Testing Requirements, and Business Requirements. Deliverable will include Signed off business requirements along with incorporating requirements into design. 3rd party contracts, review of design, and presentation of design. 


Sprints based on Scrum framework.
Source -
Outcome of every Sprint is an addition to Finished Work (Software Product).
When its decided to Release this product, then some SDLC documents need to be produced: Operational Risk Impact Assessment, Implementation Plan, Test Completion Report, High Level Operational Design, Approval, and RAID Log approval.


A helpful article on InfoQ combined with another helped me prepare these useful tips
  1. Remove the developer urge to shrink backlog, instead remain motivated to work as planned in Sprint planning meeting, and dont get distracted by blockers.
  2. Existing project managers have experience in fixing impediments, resolving conflicts, and organization culture, so they should accept role of Scrum Master, if they wish.
  3. Office Space should be very well ordered so that multiple scrum teams can sit and work on same floor.
  4. Technologies and processes should support Agile such as Microservices, DevOps, and Cloud
  5. Automated testing, Quicker Code review, Build tools
  6. In scaled Agile, a solid coordination is required on "Definition of Done" and "Scrum of Scrums".
  7. In scaled Agile, break user stories into functions rather than one line tasks.

Below is top three Impediments for Agile Adoption by InfoQ voting, which says who to blame -
  1. Organisational culture is not aligned with Agile value.
  2. Insufficient executive support.
  3. Existing project management processes/rules

Also according to InfoQ voting, what is most important for Agile Adoption -
  1. Continous Integration
  2. Automated Testing
  3. User Stories

Sep 4, 2015

Digital Communication and Positivity

"If we become socially isolated and communicate only by text, never face to face, then we may be eroding our capacity to connect instead of building it up." - Dr. Fedrickson

I am quite student of Dr. Fedrickson: I have never met her, but I reading her book. I read her interview with Angela Winter

Further in the interview Dr. Fedrickson recommend -
"The positive experiences we have in conjunction with others are like nutrients: we need daily doses of them in order to stay healthy. But contemporary culture encourages us to reach out through technology. Though e-mail and text­ing and social media are great in many ways, they potentially have costs.In the future I’d like to look at the bodily effects of communicating through electronic mediums versus face to face and see what the differences are. When we connect with people online, we certainly experience a lot of positive emotions, but maybe they’re not reverberating and building off each other. Seeing you smile makes me happy in a subtle but perceptible way that may not occur when I just see the little smiley emoticon. "

If we read carefully and take it seriously then should we avoid using WhatsApp, and prefer Skype, or speaking in general we should prefer video chat over text chat. Video chat using older technologies was not preferable because our eyes were focused more on keyboard than to webcam and with slow connections there was less facial mimicry. But recent advancements in technologies and network make conversations so live, like the below image from Skype looks so live -
 Positive Resonance is about sharing smile. When we smile, we share smile, we feel positive emotion and we evoke positive emotion. Whats vital is when we talk face to face sharing positivity becomes easier, a level which can never be achieved using texts or messages. A healthy relationship requires frequent face to face conversation or at least on phone, otherwise it slowly dies.
We need video calls to be more natural and one that allows to look inside the other person and his or her world. A video call that shares smile not smileys. May be Magic window or 3D video calling from Skype.   All social networks Facebook, Google talk, WhatsApp, etc feature video calling, and technologies are improving supporting mobile and tablets with real time experiences.

How facebook made me numb 
We have experienced that, personally slowly I have lost contact with my ex-collegues even though they are in my friend list in facebook, and how many of us are really active on facebook to be in contact, many of us made it either business to promote products and politics or boring. Some heated conversations over facebook and some super boring repeated posts from our friends have made some of us socially numb. I used to have arguments over facebook which resulted in loss of friendship (on facebook) and later I decided to shut the fuck up and keep my mouth shut and avoid arguments, which I think is making me socially numb. Well I believe if I had redular conversation on phone or face to face i would have retained the friendship.

Future Social Platforms
 Real-time video communication is poised to become one of the most transformative technologies of the coming decade, and could be a major disruptive force in domains from business to health to education - Jake Dunagan
Future social platforms need to focus more natural conversations compared to facebook.
Future Social platforms should try to connect positive emotions with social tools.
"Real-time video communication is poised to become one of the most transformative technologies of the coming decade, and could be a major disruptive force in domains from business to health to education," - See more at:
"Real-time video communication is poised to become one of the most transformative technologies of the coming decade, and could be a major disruptive force in domains from business to health to education," - See more at:
© Technology Development with Java background | All rights reserved.
Blogger Template Crafted by pipdig